Fix misspellings in comments.
[gnulib.git] / ChangeLog
1 2012-06-21  Bruno Haible  <bruno@clisp.org>
2
3         nonblocking: Avoid compilation error on mingw64.
4         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
5         fscanf.
6         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
7         * modules/vfscanf (configure.ac): Likewise.
8         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
9         definition only if stdio.h has prepared it.
10         Reported by Daniel P. Berrange <berrange@redhat.com>.
11
12 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
13
14         gnulib-tool: Use readlink if it is available.
15         * gnulib-tool (func_readlink): Choose function more appropriately.
16
17 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
18
19         posixtm-tests: port to buggy compiler
20         Problem reported by Simon Josefsson in
21         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00246.html>.
22         * modules/posixtm-tests (Depends-on): Add stdint.
23         * tests/test-posixtm.c (struct posixtm_test.t_expected):
24         Now of type int_least64_t, not int64_t, both because that's
25         what INT64_C returns and because int_least64_t works even
26         on 72-bit hosts.
27         (T): Use INT64_C on constants outside the traditional int range,
28         to work around compiler bug noted by Simon.
29
30         mktime: fix integer overflow in 'configure'-time test
31         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
32         after integer overflow.  Problem reported by Rich Felker in
33         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00257.html>.
34         Also, don't look for further instances of a bug if we've already
35         found one instance; this helps 'configure' run faster.
36
37 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
38
39         tmpfile, clean-temp: Fix invocation of GetVersionEx.
40         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
41         GetVersionEx correctly.
42         * lib/clean-temp.c (supports_delete_on_close): Likewise.
43
44 2012-06-20  Bruno Haible  <bruno@clisp.org>
45
46         fdopen: Allow implementations that don't reject invalid fd arguments.
47         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
48         succeeds.
49         Reported by Rich Felker <dalias@aerifal.cx>.
50
51 2012-06-20  Simon Josefsson  <simon@josefsson.org>
52
53         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
54         bring in LIBINTL.
55
56 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
57
58         init.sh: do not rely on autoupated PWD
59         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
60         <http://lists.gnu.org/archive/html/bug-gzip/2012-06/msg00008.html>.
61         Although Nelson's bug was not necessarily fixed by this patch,
62         it seems wise to make the change for safety.
63         * tests/init.sh (path_prepend_): Do not rely on PWD updating
64         automagically after 'cd'; this is not reliable on older shells.
65         (setup_): Fail if we cannot cd to temporary directory.
66
67 2012-06-19  Bruno Haible  <bruno@clisp.org>
68
69         stat, fstat: Avoid warnings on mingw64.
70         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
71         redefining.
72         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
73         Reported by Daniel P. Berrange <berrange@redhat.com>.
74
75 2012-06-19  Bruno Haible  <bruno@clisp.org>
76
77         stdioext: Add support for musl libc.
78
79         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
80         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
81
82         * m4/fseterr.m4: New file.
83         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
84         function exists.
85         * modules/fseterr (Files): Add m4/fseterr.m4.
86         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
87         __fseterr does not exist.
88         (Makefile.am): Remove fseterr.c from lib_SOURCES.
89
90         * lib/freadable.h: Update comment.
91
92         * lib/fwritable.h: Update comment.
93
94         * lib/freading.h: Update comment.
95
96         * lib/fwriting.h: Update comment.
97
98         * m4/freadahead.m4: New file.
99         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
100         that function exists.
101         * modules/freadahead (Files): Add m4/freadahead.m4.
102         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
103         __freadahead does not exist.
104         (Makefile.am): Remove freadahead.c from lib_SOURCES.
105
106         * m4/freadptr.m4: New file.
107         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
108         function exists.
109         * modules/freadptr (Files): Add m4/freadptr.m4.
110         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
111         __freadptr does not exist.
112         (Makefile.am): Remove freadptr.c from lib_SOURCES.
113
114         * m4/freadseek.m4: New file.
115         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
116         exists.
117         * modules/freadseek (Files): Add m4/freadseek.m4.
118         (configure.ac): Invoke gl_FUNC_FREADSEEK.
119
120         * lib/fpurge.c (fpurge): Update comment.
121
122         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
123
124 2012-06-19  Bruno Haible  <bruno@clisp.org>
125
126         *printf-posix: Put more info into config.log.
127         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
128         exit code into config.log.
129
130 2012-06-19  Bruno Haible  <bruno@clisp.org>
131
132         getopt-gnu: Fix exit code overflow in autoconf test.
133         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
134         to keep them below < 128.
135
136 2012-06-17  Jim Meyering  <meyering@redhat.com>
137
138         maint.mk: fix typo in code to derive GPG key at release time
139         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
140
141 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
142
143         regex: avoid warning when pointers are not long
144         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
145         and uintptr_t, not long, for portability to hosts where pointers and
146         long have different sizes.  Issue noted by Daniel P. Berrange in
147         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00122.html>
148         and fix suggested by Bruno Haible in
149         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00128.html>.
150
151 2012-06-17  Bruno Haible  <bruno@clisp.org>
152
153         dummy: Relicense into the public domain.
154         * modules/dummy (License): Set to "public domain".
155         Suggested by Reuben Thomas.
156
157 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
158
159         announce-gen: VPATH issues
160         * build-aux/announce-gen (--srcdir): New option, used to trim the
161         $srcdir part of the path from $builddir to NEWS.
162         * top/maint.mk (announcement): Adjust.
163
164 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
165
166         gnu-web-doc-update: VPATH builds
167         * build-aux/gnu-web-doc-update (--builddir): New option.
168         Revamp the handling of options.
169         Prefer $(...) to `...`.
170         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
171         the template, and it is GNU mktemp specific.
172         Prefer set -e to long series of &&.
173         Restore the initial git branch, not "master".
174         Properly initialize submodules (don't rely only on bootstrap).
175         Do not reconfigure blindly, use config.status.
176         * top/README-release: Update instructions for gnu-web-doc-update.
177
178 2012-06-11  Jim Meyering  <meyering@redhat.com>
179
180         maint.mk: revert most of the previous change re "all these"
181         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
182         For rationale, see the discussion at
183         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
184
185 2012-06-10  Karl Berry  <karl@gnu.org>
186
187         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
188
189         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
190
191 2012-06-10  Bruce Korb  <bkorb@gnu.org>
192
193         parse-duration: Relicense under LGPLv2+.
194         * modules/parse-duration (License): Change to LGPLv2+.
195
196 2012-06-10  Jim Meyering  <meyering@redhat.com>
197
198         maint.mk: prohibit common grammar error: "all these"
199         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
200         the list of prohibited word sequences.  It should be "all of these".
201         * lib/tempname.c (__gen_tempname): Fix one of them.
202
203 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
204
205         do-release-commit-and-tag: support VPATH builds
206         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
207         (noteworthy): Defined earlier to factor its value.
208         (noteworthy_stub): New.
209         Use it to factor.
210         (help_version): Split into...
211         (help, version): these.
212         Adjust the option processing part.
213         Support "--option=value" in addition to "--option value".
214         (builddir): New.
215         (--builddir): New option.
216         * top/README-release: Document this.
217         Reword slightly so that the reader cannot understand that he
218         has to do these steps before calling do-release-commit-and-tag.
219
220 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
221
222         readme-release: also require announce-gen and maintainer-makefile
223         * modules/readme-release (Depends-on): here.
224         * modules/announce-gen, modules/do-release-commit-and-tag,
225         modules/gnu-web-doc-update, modules/maintainer-makefile
226         (Description): Point to readme-release.
227
228 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
229
230         maint.mk: fix VPATH issues.
231         * top/maint.mk (news-check): GNU Make understand $< very well.
232         (release-prep): NEWS is in $(srcdir).
233
234 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
235
236         readme-release: require the promoted modules.
237         * modules/readme-release (Depends-on): Add
238         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
239         in this text.
240
241 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
242             Bruno Haible  <bruno@clisp.org>
243
244         error, strerror-override: Support mingw64 from Fedora 17.
245         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
246         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
247         EINPROGRESS.
248         * lib/strerror-override.h (strerror_override): Test it.
249         * lib/strerror-override.c (strerror_override): Likewise.
250         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
251
252 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
253             Bruno Haible  <bruno@clisp.org>
254
255         error, strerror-override: Support mingw64 from Fedora 17.
256         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
257         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
258         * lib/strerror-override.h (strerror_override): Test it.
259         * lib/strerror-override.c (strerror_override): Likewise.
260
261 2012-06-03  Bruno Haible  <bruno@clisp.org>
262
263         error, strerror-override: Support new errno values from POSIX:2008.
264         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
265         ENOTRECOVERABLE.
266         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
267         platforms.
268         * lib/strerror-override.c (strerror_override): Conditionalize the
269         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
270         * lib/strerror-override.h (strerror_override): Declare also if
271         GNULIB_defined_EOWNERDEAD is defined.
272         * tests/test-errno.c (e130, e131): New variables.
273         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
274         ENOTRECOVERABLE.
275         Reported by Paolo Bonzini.
276
277 2012-05-31  Jim Meyering  <meyering@redhat.com>
278
279         savewd: add missing dependency on sys_wait module
280         * modules/savewd (Depends-on): Add sys_wait, needed at least
281         for MSVC.  Report and suggested change by Michael Goffioul.
282
283 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
284
285         system-quote-tests: port to CentOS 5
286         Problem reported by Tom G. Christensen in
287         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00255.html>.
288         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
289
290 2012-05-29  Jim Meyering  <meyering@redhat.com>
291
292         maint: fix typos in comments and ChangeLog
293         Culprits identified and fixed mostly automatically using these commands:
294         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
295         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
296         using http://github.com/lyda/misspell-check
297         * ChangeLog: Fix typos.
298         * doc/solaris-versions: Likewise.
299         * lib/regexec.c (re_search_stub): Likewise.
300         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
301
302 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
303
304         manywarnings: remove duplicate -Wmultichar entry
305         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
306         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
307         so keep the entry marked as documented.
308
309 2012-05-27  Karl Berry  <karl@gnu.org>
310
311         * config/srclist.txt (mktime.c): remove last libc sync,
312         perhaps just temporarily.
313
314 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
315
316         regex: don't assume uint64_t or uint32_t
317         * lib/regcomp.c (init_word_char): Don't assume that the types
318         uint64_t and uint32_t exist.  The C standard doesn't guarantee
319         them, and on some 32-bit compilers there is no uint64_t.
320         Problem reported by Gianluigi Tiesi in
321         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00154.html>.
322
323 2012-05-25  Jim Meyering  <meyering@redhat.com>
324
325         maint.mk: add strncpy-prohibiting syntax-check rule
326         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
327
328 2012-05-24  Jim Meyering  <meyering@redhat.com>
329
330         maint.mk: compute $(gpg_key_ID) more portably
331         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
332         That use of sed is not portable to some fringe systems.
333         Reported by Paul Eggert in
334         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
335
336 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
337
338         mktime: sync from glibc
339         * config/srclist.txt: Uncomment mktime.c.
340         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
341         First, indent with tabs, since glibc uses tabs and doesn't want to
342         change and we'd rather be identical to glibc.  Also, two small
343         coding changes:
344         (isdst_differ): Use &&, not &, as && is the usual style.
345         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
346         for clarity.
347
348 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
349
350         announce-gen: du -h is more portable than du --human
351         * build-aux/announce-gen (sizes): Invoke du with -h instead
352         of --human.  Accept leading white space in its output.
353
354 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
355
356         announce-gen: Improve diagnostics.
357         * build-aux/announce-gen: When parsing command line options,
358         prefer "announce-gen: option --release-type requires an argument"
359         to "Option release-type requires an argument".
360
361 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
362
363         maint.mk: gpg_key_ID: use sed more portably
364         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
365         the closing brace.
366         (refresh-po): Fuse two sed invocations into one.
367
368 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
369
370         gitlog-to-changelog: support the log message format used in Bison.
371         * build-aux/gitlog-to-changelog: Support --strip-tab and
372         --strip-cherry-picked.
373
374 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
375
376         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
377         the rest of the current time slice to another thread in the current
378         process. So if the thread that feeds the file decscriptor we're
379         polling is not in the current process, we get busy-waiting.
380         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
381         Patch from Theodore Leblond.
382         * lib/select.c: Split polling out of the loop that sets the output
383         fd_sets.  Check for zero result and loop if the wait timeout is
384         infinite.
385
386 2012-05-21  Simon Josefsson  <simon@josefsson.org>
387
388         select: Fix build error on IRIX 6.5.
389         * lib/select.c: Include stddef.h for NULL.
390
391 2012-05-21  Simon Josefsson  <simon@josefsson.org>
392
393         gc: fix libgcrypt detection on older machines.
394         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
395         copyright years because the file has been distributed every year
396         since it was created.
397
398 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
399
400         crypto: fix bug in large buffer handling
401         Problem reported by Serge Belyshev for glibc in
402         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
403         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00226.html>.
404         * lib/md4.c (md4_process_block):
405         * lib/md5.c (md5_process_block):
406         * lib/sha1.c (sha1_process_block):
407         * lib/sha256.c (sha256_process_block):
408         Don't assume the buffer length is less than 2**32.
409         * lib/sha512.c (sha512_process_block): Likewise.
410         Here, the bug is present only in the rare case where the host does
411         not support uint64_t or where size_t is wider than 64 bits.
412         Use u64size to work around the problems.
413         * lib/u64.h (u64size): New macro.
414
415 2012-05-15  Pádraig Brady  <P@draigBrady.com>
416
417         fsusage: fix block size returned on older Linux 2.6
418
419         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
420         which is available since Linux 2.6.
421         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
422         when the member is available so it can be used as a fallback.
423         * doc/posix-functions/statvfs.texi: Mention the hang issue
424         on Linux < 2.6.36.
425
426 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
427
428         bootstrap: suppress stderr chatter
429         * build-aux/bootstrap (insert_sorted_if_absent, main program):
430         Omit unnecessary chatter to stderr.  The main program chatter
431         was there only inadvertantly.
432
433         bootstrap: .gitignore files created by autopoint, libtool
434         I ran into this problem when bootstrapping the latest diffutils.
435         After './bootstrap', 'git status' reported lots of untracked files
436         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
437         autopoint and do not need to be version-controlled.
438         * build-aux/bootstrap: Put into .gitignore the files that
439         autopoint and libtool create, by keeping track of files that exist
440         after but not before these programs are run.
441         (version_controlled_file): Move up.  2nd arg is now full file
442         name, not base name; this is more convenient.  Put CVS at the end,
443         as it's now somewhat deprecated.
444
445 2012-05-14  Jim Meyering  <meyering@redhat.com>
446
447         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
448         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
449         definition.  Reported by Bruno Haible.
450
451 2012-05-13  Bruno Haible  <bruno@clisp.org>
452             Paul Eggert  <eggert@cs.ucla.edu>
453
454         binary-io: Define set_binary_mode function.
455         * lib/binary-io.h (set_binary_mode): New function.
456         (SET_BINARY): Define in terms of set_binary_mode.
457         * modules/binary-io (configure.ac): Require AC_C_INLINE.
458         * tests/test-binary-io.c (main): Accept an argument, and test either
459         set_binary_mode or SET_BINARY depending on the argument.
460         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
461         argument. Clean up also t-bin-out0.tmp.
462
463 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
464
465         bootstrap: take advantage of POSIX shell features
466
467         The 'bootstrap' script offered by Gnulib script already uses POSIX
468         shell features (like $((...)) arithmetic expansions) that are not
469         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
470         means that bootstrap must already be run using a proper POSIX shell,
471         which will thus provide more features, like ${var#pattern} parameter
472         expansion or inversion of a command exit status with '!'.  We can
473         thus use these features to improve the clarity and the performances
474         of the bootstrap script.
475
476         Suggested by Eric Blake.
477
478         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
479         of sed/expr plus command substitutions, to save some forks.  While
480         we are at it, prefer the POSIX $(...) form of command substitution,
481         rather than the legacy form `...` (since the former is visually
482         clearer and interacts better with quoting), and prefer the idiom:
483           "if ! CMD; then ACTION ..."
484         over the idiom:
485           "if CMD; then :; else ACTION ..."
486         which was required by legacy Bourne shells not supporting '!'.
487
488 2012-05-12  Bruno Haible  <bruno@clisp.org>
489
490         system-quote: Add more comments.
491         * lib/system-quote.h: Add more comments about wilcards and limitations.
492         Suggested by Eli Zaretskii <eliz@gnu.org>.
493
494         sh-quote, system-quote: Add comments about wildcards.
495         * lib/sh-quote.h: Clarify what happens with wildcard characters.
496         * lib/system-quote.h: Likewise.
497         Reported by Eli Zaretskii <eliz@gnu.org>.
498
499 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
500
501         fsusage: check for GNU/Linux statvfs problem dynamically
502         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
503         Define STAT_STATFS2_BSIZE too, since in this case the code now
504         checks dynamically whether statvfs is reliable, falling back on
505         Linux-style statfs otherwise.
506         (statvfs_works): New function, for dynamically testing statvfs.
507         (get_fs_usage) [STAT_STATVFS]: Use it.
508         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
509         statvfs on GNU/Linux hosts, since it's now done dynamically.
510
511 2012-05-10  Bruno Haible  <bruno@clisp.org>
512
513         system-quote, execute, spawn-pipe: Escape '?' on Windows.
514         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
515         '?' character.
516         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
517         * tests/test-system-quote-main.c (check_all): Check also strings like
518         "??????????".
519         Reported by Eli Zaretskii <eliz@gnu.org>.
520
521 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
522
523         _Noreturn: port config.h to gcc -Wundef
524         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
525         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
526         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00147.html>.
527
528 2012-05-10  Bruno Haible  <bruno@clisp.org>
529
530         system-quote: Refactor.
531         * lib/system-quote.h (system_quote_copy): Fix comment.
532         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
533         New functions, extracted from system_quote_copy.
534         (system_quote_length, system_quote_copy): Use these functions.
535         Reported by Paul Eggert.
536
537 2012-05-08  Bruno Haible  <bruno@clisp.org>
538
539         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
540         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
541
542 2012-05-08  Bruno Haible  <bruno@clisp.org>
543
544         Tests for module 'system-quote'.
545         * modules/system-quote-tests: New file.
546         * tests/test-system-quote.sh: New file.
547         * tests/test-system-quote-main.c: New file.
548         * tests/test-system-quote-child.c: New file.
549
550         New module 'system-quote'.
551         * lib/system-quote.h: New file.
552         * lib/system-quote.c: New file.
553         * modules/system-quote: New file.
554
555 2012-05-08  Bruno Haible  <bruno@clisp.org>
556
557         sh-quote: Make C++ safe and allow multiple inclusion.
558         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
559         declarations in extern "C".
560
561 2012-05-08  Bruno Haible  <bruno@clisp.org>
562
563         sh-quote tests: Make tests stricter.
564         * tests/test-sh-quote.c (check_one): Check the return value of
565         shell_quote_copy.
566         (main): Check a string with a CR character. Check a string that
567         contains UCHAR_MAX.
568
569 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
570
571         warnings.m4: provide a means to specify the program to compile.
572         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
573         (gl_WARN_ADD): here.
574         Use gl_AS_VAR_APPEND.
575         Support an argument to specify the program to compile.
576         (gl_WARN_ADD): Accept an argument to specify the program to compile.
577         AC_SUBST the WARN_CFLAGS when they are used.
578         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
579         leave this to gl_WARN_ADD.
580
581 2012-05-08  Eric Blake  <eblake@redhat.com>
582
583         doc: recommendations on gettext version
584         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
585         choice between versions.
586         * DEPENDENCIES (gettext): Cover both approaches.
587
588 2012-05-08  Jim Meyering  <meyering@redhat.com>
589
590         init.sh: explain why EXEEXT support uses aliases rather than functions
591         * tests/init.sh: Add a comment.
592
593         init.sh: don't let bash aliases interfere with tests
594         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
595         is bash.  This avoids problems for those who alias standard commands to
596         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
597         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
598
599 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
600
601         stdint: be more consistent with glibc, SunOS libc
602         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
603         (gl_int_fast16_t, gl_uint_fast16_t)
604         (gl_int_fast32_t, gl_uint_fast32_t)
605         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
606         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
607         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
608         Be consistent with glibc by default, and with SunOS 5.10 and later
609         if __sun is defined.  This lessens the likelihood of clashes if
610         code compiled for older hosts is combined with code compiled for
611         newer ones.  Problem reported by Niels Möller in
612         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00074.html>.
613
614 2012-05-07  Eric Blake  <eblake@redhat.com>
615
616         isatty: relax license to LGPLv2+
617         * modules/isatty (License): Relax license.
618
619 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
620
621         stat-size: comment fix
622         * lib/stat-size.h: Remove obsolete comment about indenting.
623
624 2012-05-06  Bruno Haible  <bruno@clisp.org>
625
626         Tests for module 'sh-quote'.
627         * modules/sh-quote-tests: New file.
628         * tests/test-sh-quote.c: New file.
629
630 2012-05-06  Bruno Haible  <bruno@clisp.org>
631
632         sh-quote: Improve shell_quote_argv's signature.
633         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
634         * lib/sh-quote.c (shell_quote_argv): Likewise.
635
636 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
637
638         stdint: document issues with int_fast8_t etc.
639         * doc/posix-headers/stdint.texi (stdint.h): Say that other
640         stdint.h substitutes may define these types differently.  See
641         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00071.html>.
642
643 2012-05-05  Bruno Haible  <bruno@clisp.org>
644
645         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
646         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
647         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
648         or 'guessing no (mishandles large arguments)'.
649
650 2012-05-05  Bruno Haible  <bruno@clisp.org>
651
652         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
653         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
654         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
655         set gl_cv_func_link_follows_symlink to "guessing no".
656
657 2012-05-05  Bruno Haible  <bruno@clisp.org>
658
659         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
660         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
661         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
662         "guessing no".
663         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
664
665 2012-05-05  Bruno Haible  <bruno@clisp.org>
666
667         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
668         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
669         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
670         set gl_cv_struct_dirent_d_ino to "guessing yes".
671
672 2012-05-05  Bruno Haible  <bruno@clisp.org>
673
674         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
675         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
676         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
677         "guessing yes".
678
679 2012-05-05  Bruno Haible  <bruno@clisp.org>
680
681         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
682         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
683         compiling to a glibc system, set gl_cv_func_signbit and
684         gl_cv_func_signbit_gcc to "guessing yes".
685
686 2012-05-05  Bruno Haible  <bruno@clisp.org>
687
688         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
689         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
690         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
691         to "guessing yes".
692         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
693         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
694
695 2012-05-05  Bruno Haible  <bruno@clisp.org>
696
697         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
698         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
699         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
700         gl_cv_func_realpath_works to "guessing yes".
701
702 2012-05-05  Bruno Haible  <bruno@clisp.org>
703
704         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
705         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
706         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
707
708 2012-05-04  Bruno Haible  <bruno@clisp.org>
709
710         Tweak last commit.
711         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
712         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
713
714 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
715
716         unistd_h: make it easier to avoid sys_types_h
717         This is useful for Emacs, which has its own method of porting to
718         Windows, and which therefore does not need the sys_types_h module.
719         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
720         code moved here from gl_SYS_TYPES_H.
721         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
722         using the code directly.
723         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
724         gl_SYS_TYPES_H.
725         * modules/sys_types (Files):
726         * modules/unistd (Files): Add m4/off_t.m4.
727
728 2012-05-03  Bruno Haible  <bruno@clisp.org>
729
730         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
731         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
732         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
733         "guessing yes" or "guessing no".
734         (gl_FUNC_LSTAT): Update.
735         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
736         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
737         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
738
739 2012-05-03  Bruno Haible  <bruno@clisp.org>
740
741         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
742         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
743         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
744         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
745         cross-compiling, choose the first alternative on glibc systems.
746         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
747
748 2012-05-03  Bruno Haible  <bruno@clisp.org>
749
750         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
751         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
752         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
753
754 2012-05-03  Bruno Haible  <bruno@clisp.org>
755
756         chown: Avoid "guessing no" when cross-compiling to glibc systems.
757         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
758
759 2012-05-03  Bruno Haible  <bruno@clisp.org>
760
761         Avoid "guessing no" guesses when cross-compiling to glibc systems.
762         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
763         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
764         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
765         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
766         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
767         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
768         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
769         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
770         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
771         compiling to glibc systems, set gl_cv_func_chown_slash_works,
772         gl_cv_func_chown_ctime_works to "guessing yes".
773         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
774         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
775         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
776         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
777         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
778         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
779         compiling to glibc systems, set gl_cv_func_open_directory_works to
780         "guessing yes".
781         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
782         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
783         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
784         "guessing yes".
785         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
786         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
787         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
788         compiling to glibc systems, set gl_cv_func_floorf_ieee to
789         "guessing yes".
790         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
791         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
792         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
793         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
794         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
795         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
796         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
797         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
798         "guessing yes".
799         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
800         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
801         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
802         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
803         "guessing yes".
804         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
805         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
806         "guessing yes".
807         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
808         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
809         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
810         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
811         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
812         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
813         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
814         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
815         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
816         compiling to glibc systems, set gl_cv_func_log10f_ieee to
817         "guessing yes".
818         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
819         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
820         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
821         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
822         "guessing yes".
823         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
824         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
825         "guessing yes".
826         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
827         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
828         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
829         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
830         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
831         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
832         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
833         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
834         compiling to glibc systems, set gl_cv_func_mkfifo_works to
835         "guessing yes".
836         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
837         compiling to glibc systems, set gl_cv_func_mknod_works to
838         "guessing yes".
839         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
840         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
841         "guessing yes".
842         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
843         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
844         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
845         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
846         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
847         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
848         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
849         compiling to glibc systems, set gl_cv_func_svid_putenv to
850         "guessing yes".
851         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
852         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
853         "guessing yes".
854         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
855         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
856         "guessing yes".
857         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
858         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
859         to "guessing yes".
860         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
861         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
862         to "guessing yes".
863         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
864         compiling to glibc systems, set gl_cv_func_rmdir_works to
865         "guessing yes".
866         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
867         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
868         gl_cv_func_unlink_parent_fails to "guessing yes".
869         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
870         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
871         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
872         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
873         gl_cv_func_rename_dest_works to "guessing yes".
874         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
875         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
876         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
877         compiling to glibc systems, set gl_cv_func_roundf_ieee to
878         "guessing yes".
879         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
880         compiling to glibc systems, set gl_cv_func_roundl_ieee to
881         "guessing yes".
882         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
883         compiling to glibc systems, set gl_cv_func_setenv_works to
884         "guessing yes".
885         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
886         compiling to glibc systems, set gl_cv_func_unsetenv_works to
887         "guessing yes".
888         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
889         compiling to glibc systems, set gl_cv_func_sleep_works to
890         "guessing yes".
891         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
892         compiling to glibc systems, set gl_cv_func_stat_file_slash to
893         "guessing yes".
894         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
895         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
896         "guessing yes".
897         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
898         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
899         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
900         compiling to glibc systems, set gl_cv_func_truncf_ieee to
901         "guessing yes".
902         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
903         compiling to glibc systems, set gl_cv_func_truncl_ieee to
904         "guessing yes".
905         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
906         compiling to glibc systems, set gl_cv_func_usleep_works to
907         "guessing yes".
908         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
909         compiling to glibc systems, set gl_cv_func_futimesat_works to
910         "guessing yes".
911
912 2012-05-03  Bruno Haible  <bruno@clisp.org>
913
914         Say "guessing yes" or "guessing no" when cross-compiling.
915         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
916         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
917         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
918         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
919         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
920         am_cv_func_working_getline to "guessing yes" or "guessing no".
921         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
922         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
923         (gl_FUNC_MEMMEM): When cross-compiling, set
924         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
925         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
926         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
927         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
928         set gl_cv_func_strcasestr_works_always to "guessing yes" or
929         "guessing no".
930         (gl_FUNC_STRCASESTR): When cross-compiling, set
931         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
932         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
933         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
934         (gl_FUNC_STRSTR): When cross-compiling, set
935         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
936         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
937         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
938         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
939         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
940
941 2012-05-01  Bruno Haible  <bruno@clisp.org>
942
943         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
944         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
945         * build-aux/reloc-ldflags: Likewise.
946         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
947
948 2012-05-01  Bruno Haible  <bruno@clisp.org>
949
950         gnulib-tool: Remove transitional code.
951         * gnulib-tool: Don't warn about --import with 0 arguments any more.
952         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
953
954 2012-05-01  Bruno Haible  <bruno@clisp.org>
955
956         getcwd: Fix misindentation.
957         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
958
959 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
960
961         exclude: process exclude and include directives in order
962         This restores the pre-2009 behavior, and is part of a fix of a
963         grep bug reported by Quentin Arce in
964         <http://lists.gnu.org/archive/html/bug-grep/2012-04/msg00056.html>.
965         * lib/exclude.c (struct exclude): Remove 'tail' member.
966         (new_exclude_segment): Prepend the new segment instead of appending.
967         Return void, since that's now more convenient.
968         (file_pattern_matches): Renamed from excluded_file_pattern_p.
969         (file_name_matches): Renamed from excluded_file_name_p.
970         (file_pattern_matches, file_name_matches):
971         Return true if the pattern matches, not if it excludes.
972         All callers changed.
973         (excluded_file_name): Process the list in reverse order;
974         since the list is now reversed this restores the pre-2009 behavior.
975         (add_exclude): Adjust to new reversed-order list.  Use local var
976         rather than macro, for clarity.
977         * tests/test-exclude7.sh: Adjust to corrected behavior.
978
979         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
980         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
981         it's not possible here.  Handle the case of \ at end of pattern
982         without dumping core.
983         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
984
985         _Noreturn: future-proof non-GNU and non-MSVC compilers
986         * build-aux/snippet/_Noreturn.h (_Noreturn):
987         * m4/gnulib-common.m4 (gl_COMMON_BODY):
988         Do not define _Noreturn if __STDC_VERSION__ indicates this is
989         C11 or later.  This is more likely to work with random future C
990         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
991         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00195.html>.
992
993         exclude: handle wildcards with FNM_EXTMATCH
994         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
995         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
996         comment that "has wildcards" really means "has or may have
997         wildcards".  Simplify by avoiding the need to call strcspn.
998
999 2012-04-29  Bruno Haible  <bruno@clisp.org>
1000
1001         gnulib-tool: Fix list of authors.
1002         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
1003
1004 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
1005
1006         bootstrap: support Automake-NG in $buildreq
1007         * bootstrap (check_versions): Handle automake and aclocal from
1008         Automake-NG specially.  They can be specified as respectively
1009         the "automake-ng" and "aclocal-ng" requirements.
1010
1011 2012-04-25  Eric Blake  <eblake@redhat.com>
1012
1013         bootstrap: only force latest Makefile.in.in for gettext module
1014         * build-aux/bootstrap (with_gettext): Only install latest
1015         Makefile.in.in for projects requesting bleeding edge gettext.
1016
1017 2012-04-22  Bruno Haible  <bruno@clisp.org>
1018
1019         doc: Mention reason for replacement on glibc/Linux systems.
1020         * doc/posix-functions/dprintf.texi: Mention the problem with special
1021         'long double' values.
1022         * doc/posix-functions/fprintf.texi: Likewise.
1023         * doc/posix-functions/printf.texi: Likewise.
1024         * doc/posix-functions/snprintf.texi: Likewise.
1025         * doc/posix-functions/sprintf.texi: Likewise.
1026         * doc/posix-functions/vdprintf.texi: Likewise.
1027         * doc/posix-functions/vfprintf.texi: Likewise.
1028         * doc/posix-functions/vprintf.texi: Likewise.
1029         * doc/posix-functions/vsnprintf.texi: Likewise.
1030         * doc/posix-functions/vsprintf.texi: Likewise.
1031         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
1032         platforms with F_DUPFD_CLOEXEC problems.
1033         * doc/posix-functions/glob.texi: Mention which platforms are affected
1034         by the problem with symbolic links.
1035         * doc/posix-functions/linkat.texi: Mention the problem with
1036         AT_SYMLINK_FOLLOW on Linux.
1037
1038 2012-04-22  Bruno Haible  <bruno@clisp.org>
1039
1040         pwrite: Don't replace on all platforms.
1041         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
1042
1043 2012-04-22  Bruno Haible  <bruno@clisp.org>
1044
1045         rint* tests: Avoid gcc warnings.
1046         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
1047         * tests/test-rintf.c (INFINITY, NAN): Likewise.
1048         * tests/test-rintl.c (INFINITY, NAN): Likewise.
1049
1050 2012-04-21  Bruno Haible  <bruno@clisp.org>
1051
1052         users.txt: Update.
1053         * users.txt: Add freedink, wdiff. Update URLs for projects that have
1054         switched from CVS to git, bzr, or svn.
1055
1056 2012-04-21  Bruno Haible  <bruno@clisp.org>
1057
1058         Large File Support for native Windows platforms.
1059
1060         * m4/largefile.m4 (gl_LARGEFILE): New macro.
1061         * modules/largefile (configure.ac): Require gl_LARGEFILE.
1062
1063         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
1064         type.
1065         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
1066         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
1067         * doc/posix-headers/sys_types.texi: Mention the effect of the
1068         'largefile' module.
1069
1070         * lib/fcntl.in.h: Add comments about off_t.
1071         * modules/fcntl-h (Depends-on): Add sys_types.
1072
1073         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
1074         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
1075         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
1076         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
1077         * modules/unistd (Depends-on): Add sys_types.
1078         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
1079
1080         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
1081         instead of lseek.
1082         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
1083         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
1084         * modules/lseek (Depends-on): Add sys_types.
1085
1086         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
1087         msvc-nothrow.h.
1088         (SetFileSize): New function.
1089         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
1090         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
1091         if Large File Support is requested.
1092         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
1093         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
1094
1095         * lib/stdio.in.h: Add comments about off_t.
1096         * modules/stdio (Depends-on): Add sys_types.
1097
1098         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
1099         instead of ftello.
1100         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
1101         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
1102         (gl_PREREQ_FTELLO): New macro.
1103         * modules/ftello (Depends-on): Add sys_types.
1104         (configure.ac): Incoke gl_PREREQ_FTELLO.
1105
1106         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
1107         instead of fseeko.
1108         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
1109         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
1110         (gl_PREREQ_FSEEKO): New macro.
1111         * modules/fseeko (Depends-on): Add sys_types.
1112         (configure.ac): Invoke gl_PREREQ_FSEEKO.
1113
1114         * lib/sys_stat.in.h: Add comments about off_t.
1115         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
1116         64-bit integer for st_size in 'struct stat'.
1117         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
1118         Define _GL_WINDOWS_64_BIT_ST_SIZE.
1119         * modules/sys_stat (Depends-on): Add sys_types.
1120         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
1121
1122         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
1123         instead of stat or _stat.
1124
1125         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
1126         'struct _stati64' instead of fstat and 'struct stat'.
1127         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
1128         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
1129
1130         Reported by Ray Satiro <raysatiro@yahoo.com>.
1131
1132 2012-04-19  Eric Blake  <eblake@redhat.com>
1133
1134         bootstrap: accommodate older libtool
1135         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
1136         Reported by Daniel P. Berrange.
1137
1138 2012-04-19  Jim Meyering  <meyering@redhat.com>
1139
1140         announce-gen: avoid failure due to lack of Digest::SHA1
1141         Even with the preferred Digest::SHA available, this script
1142         would fail when the backup module, Digest::SHA1, was not installed.
1143         * build-aux/announce-gen: Quote the conditional use of "use".
1144         Reported by Reuben Thomas in:
1145         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
1146
1147         bootstrap: don't let a user's CDPATH setting affect this script
1148         When CDPATH is set, cd will sometimes generate output.
1149         When "cd" is run in a subshell whose output matters, that
1150         surprising-to-some output can cause malfunction.
1151         Unsetting CDPATH turns off this shell "feature."
1152         * build-aux/bootstrap (CDPATH): Unset.
1153         Reported by Reuben Thomas in:
1154         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
1155         and inspired by his patch here:
1156         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
1157
1158 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
1159         and Jim Meyering  <meyering@redhat.com>
1160
1161         maint.mk: catch "see @xref{}" and similar
1162         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
1163         prohibit "See also @xref{", "Also see @pxref{", and similar.
1164
1165 2012-04-16  Jim Meyering  <meyering@redhat.com>
1166
1167         bootstrap: really use gnulib's po/Makefile.in.in
1168         * build-aux/bootstrap: Correct the source file name in previous change.
1169         Reported by Akim Demaille.
1170
1171         configmake: correct minor inconsistency in Makefile rule
1172         * modules/configmake (Makefile.am): All other rules like this one
1173         run the final "mv -f ..." in the same backslash-continued command
1174         as the one that does everything else.  This one put the mv -f ...
1175         command on a separate, non-backslash-continued line.
1176         Make it like the others.
1177
1178         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
1179         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
1180         the one from gettext.  Reported by Akim Demaille.
1181
1182 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
1183
1184         Fix recursion of install-* into po directories.
1185         Bison's install-pdf bug reported by Hans Aberg at
1186         <http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
1187         * build-aux/po/Makefile.in.in (install-dvi, install-html)
1188         (install-info, install-pdf, install-ps): New targets.
1189
1190 2012-04-16  Jim Meyering  <meyering@redhat.com>
1191
1192         maint: avoid spurious "make sc_maint" failure
1193         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
1194         exempt all *.class file names, for lib/javaversion.class.
1195
1196 2012-04-15  Bruno Haible  <bruno@clisp.org>
1197
1198         lseek: Make configure test independent of environment.
1199         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
1200         Windows, we know that lseek() on pipes is broken; skip the runtime
1201         test.
1202
1203 2012-04-14  Bruno Haible  <bruno@clisp.org>
1204
1205         stat: Bypass buggy override in mingw64.
1206         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
1207         * lib/stat.c (stat) [mingw64]: Define to _stat.
1208         * doc/posix-functions/stat.texi: Mention mingw64 bug.
1209
1210 2012-04-14  Bruno Haible  <bruno@clisp.org>
1211
1212         pathmax: Fix compilation error on MSVC 9.
1213         * modules/pathmax (Depends-on): Add unistd.
1214
1215 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
1216
1217         README: document pointer comparison assumption
1218         * README (Portability guidelines): Document assumption about
1219         pointer comparisons, in response to a recent bug-gnulib comment by
1220         Jeffrey Kegler.
1221
1222 2012-04-12  Bruno Haible  <bruno@clisp.org>
1223
1224         Tests for module 'getrusage'.
1225         * modules/getrusage-tests: New file.
1226         * tests/test-getrusage.c: New file.
1227
1228         New module 'getrusage'.
1229         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
1230         warn-on-use.h.
1231         (getrusage): New declaration.
1232         * lib/getrusage.c: New file.
1233         * m4/getrusage.m4: New file.
1234         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
1235         is declared.
1236         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
1237         HAVE_GETRUSAGE.
1238         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
1239         snippet/c++defs, snippet/warn-on-use.
1240         (Makefile.am): Update generation of sys/resource.h. Substitute
1241         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
1242         * modules/getrusage: New file.
1243         * doc/posix-functions/getrusage.texi: Mention the new module.
1244
1245 2012-04-12  Bruno Haible  <bruno@clisp.org>
1246
1247         Tests for module 'sys_resource'.
1248         * modules/sys_resource-tests: New file.
1249         * tests/test-sys_resource.c: New file.
1250
1251         New module 'sys_resource'.
1252         * lib/sys_resource.in.h: New file.
1253         * m4/sys_resource_h.m4: New file.
1254         * modules/sys_resource: New file.
1255         * doc/posix-headers/sys_resource.texi: Mention the new module.
1256
1257 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
1258
1259         ioctl: Fix compilation error on mingw.
1260         * lib/ioctl.c: Include <windows.h>.
1261         Also reported by Ray Satiro <raysatiro@yahoo.com>.
1262
1263 2012-04-04  Jim Meyering  <meyering@redhat.com>
1264
1265         regex: correct #pragma guard expression
1266         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
1267         not 4.3.  Correct its cpp guard expression.
1268
1269 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
1270
1271         regex: remove unnecessary type punning
1272         Problem reported by Vladimir Serbinenko in
1273         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00006.html>.
1274         * lib/regex.h (struct re_pattern_buffer): Change the type of
1275         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
1276         Fix comment to match code.
1277         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
1278         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
1279         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
1280         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
1281         (set_regs):
1282         Omit no-longer-necessary casts.
1283
1284 2012-04-03  Bruno Haible  <bruno@clisp.org>
1285
1286         Tests for module 'ilogbl'.
1287         * modules/ilogbl-tests: New file.
1288         * tests/test-ilogbl.c: New file.
1289
1290         New module 'ilogbl'.
1291         * lib/math.in.h (ilogbl): New declaration.
1292         * lib/ilogbl.c: New file.
1293         * m4/ilogbl.m4: New file.
1294         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
1295         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
1296         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
1297         Split sed invocation, to avoid the limit of 100 substitutions of
1298         HP-UX 'sed'.
1299         * modules/ilogbl: New file.
1300         * tests/test-math-c++.cc: Check the declaration of ilogbl.
1301         * doc/posix-functions/ilogbl.texi: Mention the new module.
1302
1303 2012-04-03  Bruno Haible  <bruno@clisp.org>
1304
1305         Tests for module 'ilogbf'.
1306         * modules/ilogbf-tests: New file.
1307         * tests/test-ilogbf.c: New file.
1308
1309         New module 'ilogbf'.
1310         * lib/math.in.h (ilogbf): New declaration.
1311         * lib/ilogbf.c: New file.
1312         * m4/ilogbf.m4: New file.
1313         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
1314         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
1315         REPLACE_ILOGBF.
1316         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
1317         REPLACE_ILOGBF.
1318         * modules/ilogbf: New file.
1319         * tests/test-math-c++.cc: Check the declaration of ilogbf.
1320         * doc/posix-functions/ilogbf.texi: Mention the new module.
1321
1322 2012-04-03  Bruno Haible  <bruno@clisp.org>
1323
1324         Tests for module 'ilogb'.
1325         * modules/ilogb-tests: New file.
1326         * tests/test-ilogb.c: New file.
1327         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
1328         tests/test-logb-ieee.h.
1329
1330         New module 'ilogb'.
1331         * lib/math.in.h (ilogb): New declaration.
1332         * lib/ilogb.c: New file.
1333         * m4/ilogb.m4: New file.
1334         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
1335         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
1336         REPLACE_ILOGB.
1337         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
1338         REPLACE_ILOGB.
1339         * modules/ilogb: New file.
1340         * tests/test-math-c++.cc: Check the declaration of ilogb.
1341         * doc/posix-functions/ilogb.texi: Mention the new module.
1342
1343 2012-04-03  Bruno Haible  <bruno@clisp.org>
1344
1345         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
1346         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
1347         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
1348         (main): Check their values.
1349         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
1350         problem.
1351
1352 2012-04-03  Bruno Haible  <bruno@clisp.org>
1353
1354         Tests for module 'logbl-ieee'.
1355         * modules/logbl-ieee-tests: New file.
1356         * tests/test-logbl-ieee.c: New file.
1357
1358         New module 'logbl-ieee'.
1359         * modules/logbl-ieee: New file.
1360
1361         Tests for module 'logb-ieee'.
1362         * modules/logb-ieee-tests: New file.
1363         * tests/test-logb-ieee.c: New file.
1364
1365         New module 'logb-ieee'.
1366         * modules/logb-ieee: New file.
1367
1368         Tests for module 'logbf-ieee'.
1369         * modules/logbf-ieee-tests: New file.
1370         * tests/test-logbf-ieee.c: New file.
1371         * tests/test-logb-ieee.h: New file.
1372
1373         New module 'logbf-ieee'.
1374         * modules/logbf-ieee: New file.
1375
1376 2012-04-03  Bruno Haible  <bruno@clisp.org>
1377
1378         Tests for module 'logbl'.
1379         * modules/logbl-tests: New file.
1380         * tests/test-logbl.c: New file.
1381
1382         New module 'logbl'.
1383         * lib/math.in.h (logbl): New declaration.
1384         * lib/logbl.c: New file.
1385         * m4/logbl.m4: New file.
1386         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
1387         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
1388         REPLACE_LOGBL.
1389         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
1390         REPLACE_LOGBL.
1391         * modules/logbl: New file.
1392         * tests/test-math-c++.cc: Check the declaration of logbl.
1393         * doc/posix-functions/logbl.texi: Mention the new module.
1394
1395 2012-04-02  Bruno Haible  <bruno@clisp.org>
1396
1397         Tests for module 'logbf'.
1398         * modules/logbf-tests: New file.
1399         * tests/test-logbf.c: New file.
1400
1401         New module 'logbf'.
1402         * lib/math.in.h (logbf): New declaration.
1403         * lib/logbf.c: New file.
1404         * m4/logbf.m4: New file.
1405         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
1406         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
1407         REPLACE_LOGBF.
1408         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
1409         REPLACE_LOGBF.
1410         * modules/logbf: New file.
1411         * tests/test-math-c++.cc: Check the declaration of logbf.
1412         * doc/posix-functions/logbf.texi: Mention the new module.
1413
1414 2012-04-02  Bruno Haible  <bruno@clisp.org>
1415
1416         logb tests: More tests.
1417         * tests/test-logb.h: New file, based on tests/test-logb.c and
1418         tests/test-frexp.h.
1419         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
1420         (main): Just invoke test_function.
1421         * modules/logb-tests (Files): Add tests/test-logb.h,
1422         tests/minus-zero.h, tests/randomd.c.
1423         (Makefile.am): Add randomd.c to test_logb_SOURCES.
1424
1425         logb: Provide replacement and workarounds.
1426         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
1427         is 1.
1428         * lib/logb.c: New file.
1429         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
1430         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
1431         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
1432         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
1433         * modules/logb (Files): Add lib/logb.c.
1434         (Depends-on): Add isfinite, frexp, isnand.
1435         (configure.ac): Compile the replacement code logb.c if needed.
1436         * tests/test-math-c++.cc: Check the declaration of logb.
1437         * doc/posix-functions/logb.texi: Mention the replacement and the bug
1438         with subnormal numbers.
1439
1440 2012-04-02  Bruno Haible  <bruno@clisp.org>
1441
1442         log10* tests: Speed up.
1443         * tests/test-log10.h (test_function): Reduce amount of random numbers
1444         to test.
1445
1446 2012-04-01  Bruno Haible  <bruno@clisp.org>
1447
1448         logf-ieee: Fix test whether logf works.
1449         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
1450
1451 2012-04-01  Bruno Haible  <bruno@clisp.org>
1452
1453         log10l: Work around log10l-ieee test failure on IRIX 6.5.
1454         * lib/log10l.c: Include <float.h>
1455         (log10l): On IRIX, normalize the +Infinity value.
1456         * modules/log10l (Depends-on): Add 'float'.
1457         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
1458         +Infinity.
1459
1460         log10f-ieee: Work around test failure on NetBSD 5.1.
1461         * m4/log10f-ieee.m4: New file.
1462         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
1463         test whether log10f works with a negative argument. Replace it if not.
1464         * lib/log10f.c (log10f): For negative arguments, return NaN.
1465         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
1466         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
1467         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
1468
1469         log10f-ieee: Work around test failure on Solaris 9.
1470         * modules/log10f-ieee (Depends-on): Add log10-ieee.
1471         (configure.ac): Require gl_FUNC_LOG10F.
1472
1473         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
1474         * m4/log10-ieee.m4: New file.
1475         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
1476         whether log10 works with a negative argument. Replace it if not.
1477         * lib/log10.c (log10): For negative arguments, return NaN.
1478         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
1479         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
1480         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
1481
1482         Tests for module 'log10l-ieee'.
1483         * modules/log10l-ieee-tests: New file.
1484         * tests/test-log10l-ieee.c: New file.
1485
1486         New module 'log10l-ieee'.
1487         * modules/log10l-ieee: New file.
1488
1489         Tests for module 'log10-ieee'.
1490         * modules/log10-ieee-tests: New file.
1491         * tests/test-log10-ieee.c: New file.
1492
1493         New module 'log10-ieee'.
1494         * modules/log10-ieee: New file.
1495
1496         Tests for module 'log10f-ieee'.
1497         * modules/log10f-ieee-tests: New file.
1498         * tests/test-log10f-ieee.c: New file.
1499         * tests/test-log10-ieee.h: New file.
1500
1501         New module 'log10f-ieee'.
1502         * modules/log10f-ieee: New file.
1503
1504 2012-04-01  Bruno Haible  <bruno@clisp.org>
1505
1506         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
1507         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
1508         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
1509         workaround.
1510         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
1511         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
1512         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
1513         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
1514         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
1515         (Depends-on): Update conditions.
1516         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
1517         IRIX 6.5, OSF/1 5.1 problems.
1518
1519 2012-04-01  Bruno Haible  <bruno@clisp.org>
1520
1521         log10f: Work around OSF/1 5.1 bug.
1522         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
1523         * lib/log10f.c (log10f): If logf exists, use it and provide just the
1524         workaround.
1525         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
1526         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
1527         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
1528         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
1529         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
1530         (Depends-on): Update conditions.
1531         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
1532
1533 2012-04-01  Bruno Haible  <bruno@clisp.org>
1534
1535         log10: Work around OSF/1 5.1 bug.
1536         * lib/math.in.h (log10): New declaration.
1537         * lib/log10.c: New file.
1538         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
1539         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
1540         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
1541         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
1542         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
1543         * modules/log10 (Files): Add lib/log10.c.
1544         (Depends-on): Add math.
1545         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
1546         * tests/test-math-c++.cc: Check the declaration of log10.
1547         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
1548
1549 2012-03-31  Bruno Haible  <bruno@clisp.org>
1550
1551         log10l tests: More tests.
1552         * modules/log10l-tests (Files): Add tests/test-log10l.h,
1553         tests/minus-zero.h, tests/randoml.c.
1554         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
1555         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
1556         (main): Invoke test_function.
1557
1558         log10f tests: More tests.
1559         * modules/log10f-tests (Files): Add tests/test-log10.h,
1560         tests/minus-zero.h, tests/randomf.c.
1561         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
1562         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
1563         (main): Invoke test_function.
1564
1565         log10 tests: More tests.
1566         * tests/test-log10.h: New file.
1567         * modules/log10-tests (Files): Add tests/test-log10.h,
1568         tests/minus-zero.h, tests/randomd.c.
1569         (Makefile.am): Add randomd.c to test_log10_SOURCES.
1570         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
1571         (main): Invoke test_function.
1572
1573 2012-03-31  Simon Josefsson  <simon@josefsson.org>
1574
1575         fflush: Fix syntax error.
1576         * lib/fflush.c: Include unused-parameter.h, needed for
1577         _GL_UNUSED_PARAMETER.
1578         * modules/fflush (Depends-on): Add snippet/unused-parameter.
1579
1580 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
1581
1582         regex: pacify GCC when compiling GRUB
1583         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
1584         a diagnostic.  Reported by Vladimir Serbinenko in
1585         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00163.html>.
1586
1587 2012-03-29  Eric Blake  <eblake@redhat.com>
1588
1589         stdio: don't assume gets any more
1590         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
1591         support.
1592         * modules/stdio (Makefile.am): Likewise.
1593         * lib/stdio-read.c (gets): Likewise.
1594         * tests/test-stdio-c++.cc: Likewise.
1595         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
1596         * lib/stdio.in.h (gets): Make warning occur in more places.
1597         * doc/posix-functions/gets.texi (gets): Update documentation.
1598         Reported by Christer Solskogen.
1599
1600         maint.mk: fix syntax checks without exclusions
1601         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
1602         Reported by Daniel P. Berrange.
1603
1604         strerror_r: avoid compiler warning
1605         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
1606         level.
1607
1608         fflush: avoid compiler warning
1609         * lib/fflush.c (update_fpos_cache): Mark variables that are
1610         potentially unused.
1611
1612 2012-03-25  Bruno Haible  <bruno@clisp.org>
1613
1614         Tests for module 'localeconv'.
1615         * modules/localeconv-tests: New file.
1616         * tests/test-localeconv.c: New file.
1617
1618         New module 'localeconv'.
1619         * lib/locale.in.h (localeconv): New declaration.
1620         * lib/localeconv.c: New file.
1621         * m4/localeconv.m4: New file.
1622         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
1623         REPLACE_LOCALECONV.
1624         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
1625         REPLACE_LOCALECONV.
1626         * modules/localeconv: New file.
1627         * modules/nl_langinfo (Depends-on): Add localeconv.
1628         * modules/human (Depends-on): Likewise.
1629         * doc/posix-functions/localeconv.texi: Mention the new module.
1630
1631 2012-03-25  Bruno Haible  <bruno@clisp.org>
1632
1633         locale: Provide a complete 'struct lconv'.
1634         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
1635         'struct lconv' does not contain int_p_cs_precedes.
1636         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
1637         * doc/posix-headers/locale.texi: Update.
1638
1639         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
1640         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
1641         * doc/posix-headers/locale.texi: Update.
1642
1643         locale: Provide a working 'struct lconv'.
1644         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
1645         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
1646         'struct lconv' does not even contain decimal_point.
1647         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
1648         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
1649         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
1650         * doc/posix-headers/locale.texi: Mention the problems with
1651         'struct lconv'.
1652         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
1653
1654 2012-03-24  Bruno Haible  <bruno@clisp.org>
1655
1656         Enable common subexpression optimization in GCC.
1657         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
1658         macros.
1659         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
1660         GCC attribute 'const'.
1661         (uc_locale_language): Declare with GCC attribute 'pure'.
1662         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
1663         with GCC attribute 'const'.
1664         * lib/unictype.in.h (uc_is_general_category_withtable,
1665         uc_combining_class, uc_combining_class_name,
1666         uc_combining_class_long_name, uc_bidi_class_name,
1667         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
1668         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
1669         uc_decimal_value, uc_digit_value, uc_numeric_value,
1670         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
1671         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
1672         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
1673         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
1674         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
1675         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
1676         Declare with GCC attribute 'const'.
1677         (uc_general_category_name, uc_general_category_long_name,
1678         uc_general_category_byname, uc_general_category,
1679         uc_is_general_category, uc_combining_class_byname,
1680         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
1681         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
1682         Declare with GCC attribute 'pure'.
1683         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
1684         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
1685         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
1686         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
1687         with GCC attribute 'pure'.
1688         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
1689         'const'.
1690         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
1691         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
1692         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
1693         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
1694         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
1695         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
1696         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
1697         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
1698         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
1699         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
1700         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
1701         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
1702         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
1703         GCC attribute 'pure'.
1704         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
1705         'const'.
1706         * lib/uniwidth.in.h (uc_width): Simplify declaration.
1707         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
1708         u32_strwidth): Declare with GCC attribute 'pure'.
1709
1710         Enable common subexpression optimization in GCC.
1711         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
1712         (alphasort): Declare with GCC attribute 'pure'.
1713         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
1714         (atoll): Declare with GCC attribute 'pure'.
1715         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
1716         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
1717         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
1718         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
1719         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
1720         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
1721         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
1722
1723 2012-03-24  Bruno Haible  <bruno@clisp.org>
1724
1725         gnulib-tool: Avoid unintended error output from 'cmp'.
1726         * gnulib-tool (func_add_file, func_update_file, func_import): Use
1727         "cmp -s", not "cmp > /dev/null".
1728
1729 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
1730
1731         gnulib-tool: fix imprecise comments w.r.t. an automake bug
1732
1733         It's not just Automake versions < 1.9b that creates an empty
1734         pkgdatadir at installation time if pkgdata_DATA is specified
1735         to empty; modern automake versions do this as well, at least
1736         until automake 1.11.4 (not yet released at the moment of writing,
1737         but soon to appear).  That behaviour was generally considered a
1738         feature rather than a bug, at least until this discussion:
1739         <http://lists.gnu.org/archive/html/automake/2012-03/msg00014.html>
1740
1741         See also automake bugs #10997 and #11030.
1742
1743         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
1744         reference to relevant automake bug numbers.
1745         (func_emit_tests_Makefile_am): Likewise.
1746
1747 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
1748
1749         announce-gen: use Digest::SHA when possible
1750         * build-aux/announce-gen: Use Digest::SHA when possible, falling
1751         back to Digest::SHA1 if necessary.
1752
1753 2012-03-20  Jim Meyering  <meyering@redhat.com>
1754
1755         tests: avoid gcc warnings about argv vs. const initializers
1756         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
1757         warnings about discarding 'const' qualifier from pointer target type.
1758         * tests/test-posix_spawn2.c (main): Likewise.
1759
1760 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
1761
1762         README-release: simplify slightly
1763         * top/README-release: Run "git checkout master" only once.
1764
1765 2012-03-15  Mark Wielaard  <mark@klomp.org>
1766
1767         git-merge-changelog: add specific example on how to use with hg.
1768         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
1769
1770 2012-03-18  Mark Wielaard  <mark@klomp.org>
1771
1772         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
1773
1774 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
1775
1776         git-version-gen: don't let "prefix" envvar cause trouble
1777         * build-aux/git-version-gen (prefix): Initialize properly,
1778         so as not to use a value specified via the environment.
1779         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
1780
1781 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
1782
1783         regex: diagnose too-large repeat counts in EREs
1784         Previously, the code did not diagnose the too-large repeat count
1785         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
1786         as if it were 'b\{1000000000}', which is unexpected.
1787         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
1788         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
1789         is a reasonable one for this problem.  Another option would be to
1790         create a new REG_OVERFLOW error for repeat counts that are too large.
1791         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
1792         count is too large, so that the caller can distinguish the two cases.
1793         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
1794         "Too large" return code, and that repeat counts are one example of this.
1795
1796 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
1797
1798         doc: some glibc x32 integer width issues
1799         * doc/posix-headers/sys_types.texi (sys/types.h):
1800         * doc/posix-headers/time.texi (time.h):
1801         Mention that glibc x32 does not conform to POSIX in a couple of
1802         areas related to integer widths.
1803
1804 2012-03-15  Bruno Haible  <bruno@clisp.org>
1805
1806         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
1807         * lib/fma.c (VOLATILE): New macro.
1808         (FUNC): Use it to work around a GCC compiler bug.
1809
1810 2012-03-13  Bruno Haible  <bruno@clisp.org>
1811
1812         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
1813         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
1814         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
1815         REPLACE_HYPOTL to 1.
1816         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
1817
1818 2012-03-13  Bruno Haible  <bruno@clisp.org>
1819
1820         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
1821         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
1822         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
1823         REPLACE_REMAINDERL to 1.
1824         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
1825         bug.
1826
1827 2012-03-13  Bruno Haible  <bruno@clisp.org>
1828
1829         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
1830         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
1831         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
1832         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
1833         too big rounding errors.
1834         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
1835         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
1836         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
1837         (Depends-on): Update conditions.
1838         * tests/test-sqrtl.c (my_ldexpl): New function.
1839         (main): Add test of a particular value.
1840         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
1841
1842 2012-03-13  Pádraig Brady  <P@draigBrady.com>
1843
1844         doc: Update timer_* platform portability notes.
1845         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
1846         that always return ENOSYS.
1847         * doc/posix-functions/timer_delete.texi: Likewise.
1848         * doc/posix-functions/timer_gettime.texi: Likewise.
1849         * doc/posix-functions/timer_settime.texi: Likewise.
1850
1851 2012-03-13  Bruno Haible  <bruno@clisp.org>
1852
1853         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
1854         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
1855         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
1856         REPLACE_CBRTL to 1.
1857         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
1858
1859 2012-03-13  Bruno Haible  <bruno@clisp.org>
1860
1861         remainderl: Avoid compilation error on AIX >= 5.2.
1862         * lib/math.in.h (remainderl): Undefine macro from the system header.
1863
1864 2012-03-13  Bruno Haible  <bruno@clisp.org>
1865
1866         Avoid compilation errors with MSVC option -fp:strict.
1867         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
1868         * lib/cbrtf.c: Likewise.
1869         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
1870
1871 2012-03-12  Bruno Haible  <bruno@clisp.org>
1872
1873         uninorm: Don't crash in out-of-memory conditions.
1874         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
1875         gracefully.
1876         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
1877         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
1878
1879 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
1880
1881         quote: fix syntax-check
1882         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
1883         also exports quote_quoting_options.
1884
1885 2012-03-12  Simon Josefsson  <simon@josefsson.org>
1886
1887         Collapse list of copyright years to ranges.  See
1888         <https://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00051.html>.
1889         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
1890         build-aux/csharpexec.sh.in, build-aux/gnupload,
1891         build-aux/install-reloc, build-aux/javacomp.sh.in,
1892         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
1893         build-aux/move-if-change, build-aux/reloc-ldflags,
1894         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
1895
1896 2012-03-11  Bruno Haible  <bruno@clisp.org>
1897
1898         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
1899         * m4/log2f-ieee.m4: New file.
1900         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
1901         whether log2f works with a minus zero argument. Replace it if not.
1902         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
1903         (Depends-on): Add log2-ieee.
1904         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
1905         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
1906
1907         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
1908         * m4/log2-ieee.m4: New file.
1909         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
1910         whether log2 works with a minus zero argument. Replace it if not.
1911         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
1912         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
1913         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
1914
1915         Tests for module 'log2l-ieee'.
1916         * modules/log2l-ieee-tests: New file.
1917         * tests/test-log2l-ieee.c: New file.
1918
1919         New module 'log2l-ieee'.
1920         * modules/log2l-ieee: New file.
1921
1922         Tests for module 'log2-ieee'.
1923         * modules/log2-ieee-tests: New file.
1924         * tests/test-log2-ieee.c: New file.
1925
1926         New module 'log2-ieee'.
1927         * modules/log2-ieee: New file.
1928
1929         Tests for module 'log2f-ieee'.
1930         * modules/log2f-ieee-tests: New file.
1931         * tests/test-log2f-ieee.c: New file.
1932         * tests/test-log2-ieee.h: New file.
1933
1934         New module 'log2f-ieee'.
1935         * modules/log2f-ieee: New file.
1936
1937 2012-03-11  Bruno Haible  <bruno@clisp.org>
1938
1939         Tests for module 'log2l'.
1940         * modules/log2l-tests: New file.
1941         * tests/test-log2l.c: New file.
1942
1943         New module 'log2l'.
1944         * lib/math.in.h (log2l): New declaration.
1945         * lib/log2l.c: New file.
1946         * m4/log2l.m4: New file.
1947         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
1948         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
1949         REPLACE_LOG2L.
1950         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
1951         REPLACE_LOG2L.
1952         * modules/log2l: New file.
1953         * tests/test-math-c++.cc: Check the declaration of log2l.
1954         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
1955         and OSF/1 problems.
1956
1957 2012-03-11  Bruno Haible  <bruno@clisp.org>
1958
1959         Tests for module 'log2f'.
1960         * modules/log2f-tests: New file.
1961         * tests/test-log2f.c: New file.
1962
1963         New module 'log2f'.
1964         * lib/math.in.h (log2f): New declaration.
1965         * lib/log2f.c: New file.
1966         * m4/log2f.m4: New file.
1967         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
1968         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
1969         REPLACE_LOG2F.
1970         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
1971         REPLACE_LOG2F.
1972         * modules/log2f: New file.
1973         * tests/test-math-c++.cc: Check the declaration of log2f.
1974         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
1975         and OSF/1 and Cygwin problems.
1976
1977 2012-03-11  Bruno Haible  <bruno@clisp.org>
1978
1979         Tests for module 'log2'.
1980         * modules/log2-tests: New file.
1981         * tests/test-log2.c: New file.
1982         * tests/test-log2.h: New file.
1983
1984         New module 'log2'.
1985         * lib/math.in.h (log2): New declaration.
1986         * lib/log2.c: New file.
1987         * m4/log2.m4: New file.
1988         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
1989         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
1990         REPLACE_LOG2.
1991         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
1992         REPLACE_LOG2.
1993         * modules/log2: New file.
1994         * tests/test-math-c++.cc: Check the declaration of log2.
1995         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
1996         and OSF/1 and Cygwin problems.
1997
1998 2012-03-11  Bruno Haible  <bruno@clisp.org>
1999
2000         exp2* tests: More tests.
2001         * tests/test-exp2.h (test_function): Test all integral arguments that
2002         don't need to overflow or denormalized numbers.
2003         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
2004         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
2005         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
2006
2007 2012-03-10  Bruno Haible  <bruno@clisp.org>
2008
2009         log1pl-ieee: Work around test failure on AIX 7.1.
2010         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
2011
2012         log1pl-ieee: Work around test failure on IRIX 6.5.
2013         * m4/log1pl-ieee.m4: New file.
2014         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
2015         test whether log1pl works with a minus zero argument. Replace it if
2016         not.
2017         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
2018         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
2019         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
2020         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
2021         (Depends-on): Update conditions.
2022         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
2023         m4/signbit.m4.
2024         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
2025         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
2026
2027         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
2028         * m4/log1pf-ieee.m4: New file.
2029         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
2030         test whether log1pf works with a minus zero argument. Replace it if
2031         not.
2032         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
2033         m4/signbit.m4.
2034         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
2035         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
2036
2037         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
2038         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
2039         (configure.ac): Require gl_FUNC_LOG1PF.
2040
2041         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
2042         * m4/log1p-ieee.m4: New file.
2043         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
2044         whether log1p works with a minus zero argument. Replace it if not.
2045         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
2046         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
2047         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
2048         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
2049         (Depends-on): Update conditions.
2050         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
2051         m4/signbit.m4.
2052         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
2053         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
2054
2055         Tests for module 'log1pl-ieee'.
2056         * modules/log1pl-ieee-tests: New file.
2057         * tests/test-log1pl-ieee.c: New file.
2058
2059         New module 'log1pl-ieee'.
2060         * modules/log1pl-ieee: New file.
2061
2062         Tests for module 'log1p-ieee'.
2063         * modules/log1p-ieee-tests: New file.
2064         * tests/test-log1p-ieee.c: New file.
2065
2066         New module 'log1p-ieee'.
2067         * modules/log1p-ieee: New file.
2068
2069         Tests for module 'log1pf-ieee'.
2070         * modules/log1pf-ieee-tests: New file.
2071         * tests/test-log1pf-ieee.c: New file.
2072         * tests/test-log1p-ieee.h: New file.
2073
2074         New module 'log1pf-ieee'.
2075         * modules/log1pf-ieee: New file.
2076
2077 2012-03-10  Bruno Haible  <bruno@clisp.org>
2078
2079         Tests for module 'log1pl'.
2080         * modules/log1pl-tests: New file.
2081         * tests/test-log1pl.c: New file.
2082
2083         New module 'log1pl'.
2084         * lib/math.in.h (log1pl): New declaration.
2085         * lib/log1pl.c: New file.
2086         * m4/log1pl.m4: New file.
2087         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
2088         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
2089         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
2090         * modules/log1pl: New file.
2091         * tests/test-math-c++.cc: Check the declaration of log1pl.
2092         * doc/posix-functions/log1pl.texi: Mention the new module.
2093
2094 2012-03-10  Bruno Haible  <bruno@clisp.org>
2095
2096         Tests for module 'log1pf'.
2097         * modules/log1pf-tests: New file.
2098         * tests/test-log1pf.c: New file.
2099
2100         New module 'log1pf'.
2101         * lib/math.in.h (log1pf): New declaration.
2102         * lib/log1pf.c: New file.
2103         * m4/log1pf.m4: New file.
2104         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
2105         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
2106         REPLACE_LOG1PF.
2107         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
2108         REPLACE_LOG1PF.
2109         * modules/log1pf: New file.
2110         * tests/test-math-c++.cc: Check the declaration of log1pf.
2111         * doc/posix-functions/log1pf.texi: Mention the new module.
2112
2113 2012-03-10  Bruno Haible  <bruno@clisp.org>
2114
2115         log1p tests: More tests.
2116         * tests/test-log1p.h: New file.
2117         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
2118         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
2119         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
2120         (main): Invoke test_function.
2121
2122         log1p: Provide replacement for Minix and MSVC.
2123         * lib/math.in.h (log1p): New declaration.
2124         * lib/log1p.c: New file.
2125         * m4/log1p.m4: New file.
2126         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
2127         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
2128         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
2129         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
2130         (Depends-on): Add math, isnand, log, round.
2131         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
2132         HAVE_LOG1P is 0.
2133         * tests/test-math-c++.cc: Check the declaration of log1p.
2134         * doc/posix-functions/log1p.texi: Mention the replacement.
2135
2136 2012-03-10  Bruno Haible  <bruno@clisp.org>
2137
2138         math tests: Small simplification.
2139         * tests/test-exp.h (test_function): Use the same err_bound for
2140         'double' on platforms with sizeof (long double) == sizeof (double)
2141         than on platforms with sizeof (long double) > sizeof (double).
2142         * tests/test-exp2.h (test_function): Likewise.
2143         * tests/test-expm1.h (test_function): Likewise.
2144         * tests/test-log.h (test_function): Likewise.
2145
2146 2012-03-10  Bruno Haible  <bruno@clisp.org>
2147
2148         Fix some comments.
2149         * lib/expl.c: Fix an ambiguous comment.
2150         * lib/expm1.c: Likewise.
2151         * lib/expm1l.c: Likewise.
2152         * lib/exp2.c: Likewise.
2153         * lib/exp2l.c: Likewise.
2154
2155 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
2156
2157         regex: allow inclusion of <regex.h> before <limits.h>
2158         Without this patch, portable programs had to include <limits.h> before
2159         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
2160         I ran into this problem with a test version of GNU grep on Solaris 8.
2161         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
2162         This is done conditionally so that this change can be merged
2163         back to glibc.
2164         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
2165         using the included regex.
2166
2167         fts: depend on fdopendir
2168         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
2169         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
2170         problem was introduced when fdopendir was split out.
2171
2172 2012-03-10  Bruno Haible  <bruno@clisp.org>
2173
2174         Remove unused variables.
2175         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
2176         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
2177
2178 2012-03-10  Bruno Haible  <bruno@clisp.org>
2179
2180         isnanf-nolibm: Fix last commit.
2181         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
2182
2183         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
2184         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
2185
2186 2012-03-10  Bruno Haible  <bruno@clisp.org>
2187
2188         logf-ieee: Work around test failure on NetBSD 5.1.
2189         * m4/logf-ieee.m4: New file.
2190         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
2191         whether logf works with a negative argument. Replace it if not.
2192         * lib/logf.c (logf): For negative arguments, return NaN.
2193         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
2194         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
2195         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
2196
2197         logf-ieee: Work around test failure on Solaris 9.
2198         * modules/logf-ieee (Depends-on): Add log-ieee.
2199         (configure.ac): Require gl_FUNC_LOGF.
2200
2201         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
2202         * m4/log-ieee.m4: New file.
2203         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
2204         log works with a negative argument. Replace it if not.
2205         * lib/log.c (log): For negative arguments, return NaN.
2206         * modules/log-ieee (Files): Add m4/log-ieee.m4.
2207         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
2208         * doc/posix-functions/log.texi: Mention the log-ieee module.
2209
2210         Tests for module 'logl-ieee'.
2211         * modules/logl-ieee-tests: New file.
2212         * tests/test-logl-ieee.c: New file.
2213
2214         New module 'logl-ieee'.
2215         * modules/logl-ieee: New file.
2216
2217         Tests for module 'log-ieee'.
2218         * modules/log-ieee-tests: New file.
2219         * tests/test-log-ieee.c: New file.
2220
2221         New module 'log-ieee'.
2222         * modules/log-ieee: New file.
2223
2224         Tests for module 'logf-ieee'.
2225         * modules/logf-ieee-tests: New file.
2226         * tests/test-logf-ieee.c: New file.
2227         * tests/test-log-ieee.h: New file.
2228
2229         New module 'logf-ieee'.
2230         * modules/logf-ieee: New file.
2231
2232 2012-03-10  Bruno Haible  <bruno@clisp.org>
2233
2234         log: Fix bug introduced on 2012-03-09.
2235         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
2236
2237 2012-03-10  Pádraig Brady  <P@draigBrady.com>
2238
2239         timer-time: link explicitly with pthreads on glibc
2240         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
2241         to support static linking, when newer glibc is
2242         detected, as that contains pthread emulation of
2243         POSIX timer functions where required.
2244         * modules/timer-time: Depend on threadlib to
2245         pull in the appropriate library to link.
2246
2247 2012-03-10  Bruno Haible  <bruno@clisp.org>
2248
2249         log* tests: More tests.
2250         * tests/test-log.h: New file.
2251         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
2252         (main): Invoke test_function.
2253         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
2254         (main): Invoke test_function.
2255         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
2256         (main): Invoke test_function.
2257         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
2258         tests/randomd.c.
2259         (Makefile.am): Add randomd.c to test_log_SOURCES.
2260         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
2261         tests/randomf.c.
2262         (Makefile.am): Add randomf.c to test_logf_SOURCES.
2263         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
2264         tests/randoml.c.
2265         (Depends-on): Add 'float'.
2266         (Makefile.am): Add randoml.c to test_logl_SOURCES.
2267
2268 2012-03-09  Bruno Haible  <bruno@clisp.org>
2269
2270         logl: Work around OSF/1 5.1 bug.
2271         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
2272         * lib/logl.c (logl): If logl exists, use it and provide just the
2273         workaround.
2274         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
2275         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
2276         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
2277         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
2278         * modules/logl (configure.ac): Consider REPLACE_LOGL.
2279         (Depends-on): Update conditions.
2280         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
2281
2282 2012-03-09  Bruno Haible  <bruno@clisp.org>
2283
2284         logf: Work around OSF/1 5.1 bug.
2285         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
2286         * lib/logf.c (logf): If logf exists, use it and provide just the
2287         workaround.
2288         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
2289         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
2290         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
2291         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
2292         * modules/logf (configure.ac): Consider REPLACE_LOGF.
2293         (Depends-on): Update conditions.
2294         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
2295
2296 2012-03-09  Bruno Haible  <bruno@clisp.org>
2297
2298         log: Work around OSF/1 5.1 bug.
2299         * lib/math.in.h (log): New declaration.
2300         * lib/log.c: New file.
2301         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
2302         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
2303         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
2304         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
2305         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
2306         * modules/log (Files): Add lib/log.c.
2307         (Depends-on): Add math.
2308         (configure.ac): If REPLACE_LOG is 1, compile an override.
2309         * tests/test-math-c++.cc: Check the declaration of log.
2310         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
2311
2312 2012-03-09  Jim Meyering  <meyering@redhat.com>
2313
2314         readtokens.c: adjust wording in a comment
2315         * lib/readtokens.c: Insert omitted "that" in a comment.
2316
2317 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
2318
2319         modechange: add notations +40, 00440, etc.
2320         * lib/modechange.c (mode_compile): Support new notations
2321         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
2322
2323 2012-03-08  Bruno Haible  <bruno@clisp.org>
2324
2325         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
2326         * m4/exp2l-ieee.m4: New file.
2327         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
2328         test whether exp2l works with a NaN argument and with a negative
2329         infinity argument. Replace it if not.
2330         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
2331         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
2332         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
2333         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
2334         (Depends-on): Update conditions.
2335         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
2336         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
2337         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
2338
2339         Tests for module 'exp2l-ieee'.
2340         * modules/exp2l-ieee-tests: New file.
2341         * tests/test-exp2l-ieee.c: New file.
2342
2343         New module 'exp2l-ieee'.
2344         * modules/exp2l-ieee: New file.
2345
2346         Tests for module 'exp2-ieee'.
2347         * modules/exp2-ieee-tests: New file.
2348         * tests/test-exp2-ieee.c: New file.
2349
2350         New module 'exp2-ieee'.
2351         * modules/exp2-ieee: New file.
2352
2353         Tests for module 'exp2f-ieee'.
2354         * modules/exp2f-ieee-tests: New file.
2355         * tests/test-exp2f-ieee.c: New file.
2356         * tests/test-exp2-ieee.h: New file.
2357
2358         New module 'exp2f-ieee'.
2359         * modules/exp2f-ieee: New file.
2360
2361 2012-03-08  Bruno Haible  <bruno@clisp.org>
2362
2363         Tests for module 'exp2l'.
2364         * modules/exp2l-tests: New file.
2365         * tests/test-exp2l.c: New file.
2366
2367         New module 'exp2l'.
2368         * lib/math.in.h (exp2l): New declaration.
2369         * lib/exp2l.c: New file.
2370         * lib/expl-table.c: New file, extracted from lib/expl.c.
2371         * lib/expl.c (gl_expl_table): New declaration.
2372         (expl): Remove expl_table. Update reference.
2373         * m4/exp2l.m4: New file.
2374         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
2375         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
2376         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
2377         * modules/exp2l: New file.
2378         * modules/expl (Files): Add lib/expl-table.c.
2379         (configure.ac): Compile also expl-table.c.
2380         * tests/test-math-c++.cc: Check the declaration of exp2l.
2381         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
2382         problem.
2383
2384 2012-03-08  Bruno Haible  <bruno@clisp.org>
2385
2386         Tests for module 'exp2f'.
2387         * modules/exp2f-tests: New file.
2388         * tests/test-exp2f.c: New file.
2389
2390         New module 'exp2f'.
2391         * lib/math.in.h (exp2f): New declaration.
2392         * lib/exp2f.c: New file.
2393         * m4/exp2f.m4: New file.
2394         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
2395         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
2396         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
2397         * modules/exp2f: New file.
2398         * tests/test-math-c++.cc: Check the declaration of exp2f.
2399         * doc/posix-functions/exp2f.texi: Mention the new module and the
2400         IRIX problem.
2401
2402 2012-03-08  Bruno Haible  <bruno@clisp.org>
2403
2404         Tests for module 'exp2'.
2405         * modules/exp2-tests: New file.
2406         * tests/test-exp2.c: New file.
2407         * tests/test-exp2.h: New file.
2408
2409         New module 'exp2'.
2410         * lib/math.in.h (exp2): New declaration.
2411         * lib/exp2.c: New file.
2412         * m4/exp2.m4: New file.
2413         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
2414         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
2415         REPLACE_EXP2.
2416         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
2417         REPLACE_EXP2.
2418         * modules/exp2: New file.
2419         * tests/test-math-c++.cc: Check the declaration of exp2.
2420         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
2421         and OpenBSD problems.
2422
2423 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
2424
2425         savedir: fix comment typo
2426         * lib/savedir.c (savedirstream): Fix typo in comment.
2427
2428 2012-03-08  Bruno Haible  <bruno@clisp.org>
2429
2430         test-readtokens.c: use const; remove unwarranted cast
2431         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
2432
2433 2012-03-08  Bruno Haible  <bruno@clisp.org>
2434
2435         fmal: Avoid compilation error on AIX.
2436         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
2437         AIX 5.2..7.1.
2438
2439 2012-03-08  Bruno Haible  <bruno@clisp.org>
2440
2441         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
2442         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
2443         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
2444         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
2445         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
2446         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
2447         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
2448
2449 2012-03-08  Bruno Haible  <bruno@clisp.org>
2450
2451         remainderf: Override buggy system function on IRIX 6.5.
2452         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
2453         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
2454         when it exists.
2455         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
2456
2457 2012-03-08  Jim Meyering  <meyering@redhat.com>
2458
2459         test-readtokens.c: avoid const-related compilation warnings
2460         * tests/test-readtokens.c: Avoid const-related compilation warnings.
2461
2462 2012-03-07  Jim Meyering  <meyering@redhat.com>
2463             Bruno Haible  <bruno@clisp.org>
2464
2465         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
2466         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
2467         tests/randomd.c.
2468         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
2469         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
2470         tests/randoml.c.
2471         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
2472
2473 2012-03-07  Bruno Haible  <bruno@clisp.org>
2474
2475         expm1l: Avoid compilation error on AIX.
2476         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
2477         AIX 5.2..7.1.
2478
2479 2012-03-07  Bruno Haible  <bruno@clisp.org>
2480
2481         expm1l: Don't override undeclared system function on IRIX 6.5.
2482         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
2483         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
2484         it exists. Set HAVE_DECL_EXPM1L.
2485         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
2486         HAVE_EXPM1L.
2487         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
2488         HAVE_EXPM1L.
2489         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
2490
2491 2012-03-07  Bruno Haible  <bruno@clisp.org>
2492
2493         remainderl: Don't override undeclared system function on IRIX 6.5.
2494         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
2495         HAVE_REMAINDERL.
2496         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
2497         declared when it exists. Set HAVE_DECL_REMAINDERL.
2498         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
2499         not HAVE_REMAINDERL.
2500         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
2501         HAVE_REMAINDERL.
2502         * doc/posix-functions/remainderl.texi: Mention missing declaration
2503         problem.
2504
2505 2012-03-07  Bruno Haible  <bruno@clisp.org>
2506
2507         rintf: Don't override undeclared system function on IRIX 6.5.
2508         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
2509         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
2510         exists. Set HAVE_DECL_RINTF.
2511         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
2512         HAVE_RINTF.
2513         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
2514         HAVE_RINTF.
2515         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
2516
2517 2012-03-07  Bruno Haible  <bruno@clisp.org>
2518
2519         roundl: Avoid compilation error on AIX.
2520         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
2521         AIX 5.2..7.1.
2522
2523 2012-03-07  Bruno Haible  <bruno@clisp.org>
2524
2525         roundl: Don't override undeclared system function on IRIX 6.5.
2526         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
2527         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
2528         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
2529         * modules/roundl (configure.ac): For replacement code, test
2530         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
2531         (Depends-on): Update conditions.
2532         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
2533
2534 2012-03-07  Bruno Haible  <bruno@clisp.org>
2535
2536         roundf: Don't override undeclared system function on IRIX 6.5.
2537         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
2538         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
2539         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
2540         * modules/roundf (configure.ac): For replacement code, test
2541         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
2542         (Depends-on): Update conditions.
2543         * modules/roundf-ieee (Depends-on): Update conditions.
2544         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
2545
2546 2012-03-07  Bruno Haible  <bruno@clisp.org>
2547
2548         round: Don't override undeclared system function on IRIX 6.5.
2549         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
2550         argument.
2551         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
2552         also when it is not declared. Set HAVE_ROUND. For replacement code,
2553         test HAVE_ROUND, not HAVE_DECL_ROUND.
2554         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
2555         not HAVE_DECL_ROUND.
2556         (Depends-on): Update conditions.
2557         * modules/round-ieee (Depends-on): Update conditions.
2558         * doc/posix-functions/round.texi: Mention the IRIX problem.
2559
2560 2012-03-07  Bruno Haible  <bruno@clisp.org>
2561
2562         copysignf: Don't override undeclared system function on IRIX 6.5.
2563         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
2564         HAVE_COPYSIGNF.
2565         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
2566         declared when it exists. Set HAVE_DECL_COPYSIGNF.
2567         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
2568         not HAVE_COPYSIGNF.
2569         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
2570         HAVE_COPYSIGNF.
2571         * doc/posix-functions/copysignf.texi: Mention missing declaration
2572         problem.
2573
2574 2012-03-07  Jim Meyering  <meyering@redhat.com>
2575
2576         readtokens: add tests
2577         * modules/readtokens-tests: New file.
2578         * tests/test-readtokens.c: New file.
2579
2580 2012-03-07  Jim Meyering  <meyering@redhat.com>
2581
2582         quotearg: the module must now include quote.h
2583         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
2584         So must the module.
2585         * modules/quotearg (Files): Add quote.h.
2586
2587 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
2588
2589         readtokens: avoid core dumps with unusual calling patterns
2590         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
2591         * lib/readtokens.c: Include limits.h.
2592         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
2593         (readtoken): Don't cache the delimiters; the cache code was buggy
2594         if !delim && saved_delim, or if the new n_delim differs from the old.
2595         Also, it wasn't thread-safe.
2596
2597 2012-03-07  Bruno Haible  <bruno@clisp.org>
2598
2599         quote: Adhere to common module description layout.
2600         * modules/quote (Makefile.am): Add back empty section.
2601
2602 2012-03-06  Akim Demaille  <demaille@gostai.com>
2603
2604         quote: fuse into quotearg
2605         This patch is made for the benefit of Bison.
2606         quote does not leave the choice of the quoting style to the user.
2607         quoting_style provides poor customizability, yet quoting_options,
2608         which is very rich, is hidden inside quotearg.c.  So in order to
2609         allow quote customization, move its implementation to quotearg.c.
2610         * lib/quote.c: Remove.
2611         * modules/quote: Adjust.
2612         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
2613         warning: provide all the members of literal structs.
2614         (quote_quoting_options): New.
2615         (quote, quote_n): Import implementation from quote.c.
2616         * lib/quote.h: Import the comments from quote.c.
2617         (quote_quoting_options): New.
2618
2619 2012-03-06  Bruno Haible  <bruno@clisp.org>
2620
2621         Tests for module 'expm1l-ieee'.
2622         * modules/expm1l-ieee-tests: New file.
2623         * tests/test-expm1l-ieee.c: New file.
2624
2625         New module 'expm1l-ieee'.
2626         * modules/expm1l-ieee: New file.
2627
2628         Tests for module 'expm1f-ieee'.
2629         * modules/expm1f-ieee-tests: New file.
2630         * tests/test-expm1f-ieee.c: New file.
2631
2632         New module 'expm1f-ieee'.
2633         * modules/expm1f-ieee: New file.
2634
2635         Tests for module 'expm1-ieee'.
2636         * modules/expm1-ieee-tests: New file.
2637         * tests/test-expm1-ieee.c: New file.
2638         * tests/test-expm1-ieee.h: New file.
2639
2640         New module 'expm1-ieee'.
2641         * modules/expm1-ieee: New file.
2642         * m4/expm1-ieee.m4: New file.
2643         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
2644         whether expm1 works with a minus zero argument. Replace it if not.
2645         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
2646         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
2647         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
2648         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
2649         (Depends-on): Update conditions.
2650         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
2651         AIX problem.
2652
2653 2012-03-06  Bruno Haible  <bruno@clisp.org>
2654
2655         Work around expm1f bug on IRIX 6.5.
2656         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
2657         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
2658         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
2659         not work.
2660         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
2661         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
2662         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
2663         (Depends-on): Update conditions.
2664         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
2665
2666 2012-03-06  Bruno Haible  <bruno@clisp.org>
2667
2668         Tests for module 'expm1l'.
2669         * modules/expm1l-tests: New file.
2670         * tests/test-expm1l.c: New file.
2671
2672         New module 'expm1l'.
2673         * lib/math.in.h (expm1l): New declaration.
2674         * lib/expm1l.c: New file.
2675         * m4/expm1l.m4: New file.
2676         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
2677         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
2678         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
2679         * modules/expm1l: New file.
2680         * tests/test-math-c++.cc: Check the declaration of expm1l.
2681         * doc/posix-functions/expm1l.texi: Mention the new module.
2682
2683 2012-03-06  Bruno Haible  <bruno@clisp.org>
2684
2685         Tests for module 'expm1f'.
2686         * modules/expm1f-tests: New file.
2687         * tests/test-expm1f.c: New file.
2688
2689         New module 'expm1f'.
2690         * lib/math.in.h (expm1f): New declaration.
2691         * lib/expm1f.c: New file.
2692         * m4/expm1f.m4: New file.
2693         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
2694         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
2695         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
2696         * modules/expm1f: New file.
2697         * tests/test-math-c++.cc: Check the declaration of expm1f.
2698         * doc/posix-functions/expm1f.texi: Mention the new module.
2699
2700 2012-03-06  Bruno Haible  <bruno@clisp.org>
2701
2702         Tests for module 'expm1'.
2703         * modules/expm1-tests: New file.
2704         * tests/test-expm1.c: New file.
2705         * tests/test-expm1.h: New file.
2706
2707         New module 'expm1'.
2708         * lib/math.in.h (expm1): New declaration.
2709         * lib/expm1.c: New file.
2710         * m4/expm1.m4: New file.
2711         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
2712         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
2713         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
2714         * modules/expm1: New file.
2715         * tests/test-math-c++.cc: Check the declaration of expm1.
2716         * doc/posix-functions/expm1.texi: Mention the new module.
2717
2718 2012-03-06  Bruno Haible  <bruno@clisp.org>
2719
2720         math: Ensure declarations of math functions.
2721         * modules/acosf (Depends-on): Add 'extensions'.
2722         * modules/asinf (Depends-on): Likewise.
2723         * modules/atan2f (Depends-on): Likewise.
2724         * modules/atanf (Depends-on): Likewise.
2725         * modules/cbrt (Depends-on): Likewise.
2726         * modules/cbrtf (Depends-on): Likewise.
2727         * modules/cbrtl (Depends-on): Likewise.
2728         * modules/copysignf (Depends-on): Likewise.
2729         * modules/copysignl (Depends-on): Likewise.
2730         * modules/cosf (Depends-on): Likewise.
2731         * modules/coshf (Depends-on): Likewise.
2732         * modules/expf (Depends-on): Likewise.
2733         * modules/fabsf (Depends-on): Likewise.
2734         * modules/fabsl (Depends-on): Likewise.
2735         * modules/fmaf (Depends-on): Likewise.
2736         * modules/fmal (Depends-on): Likewise.
2737         * modules/fmodf (Depends-on): Likewise.
2738         * modules/fmodl (Depends-on): Likewise.
2739         * modules/frexpf (Depends-on): Likewise.
2740         * modules/frexpl (Depends-on): Likewise.
2741         * modules/hypot (Depends-on): Likewise.
2742         * modules/hypotf (Depends-on): Likewise.
2743         * modules/hypotl (Depends-on): Likewise.
2744         * modules/ldexpf (Depends-on): Likewise.
2745         * modules/ldexpl (Depends-on): Likewise.
2746         * modules/log10f (Depends-on): Likewise.
2747         * modules/log10l (Depends-on): Likewise.
2748         * modules/log1p (Depends-on): Likewise.
2749         * modules/logb (Depends-on): Likewise.
2750         * modules/logf (Depends-on): Likewise.
2751         * modules/modff (Depends-on): Likewise.
2752         * modules/modfl (Depends-on): Likewise.
2753         * modules/powf (Depends-on): Likewise.
2754         * modules/remainderf (Depends-on): Likewise.
2755         * modules/remainderl (Depends-on): Likewise.
2756         * modules/rintf (Depends-on): Likewise.
2757         * modules/rintl (Depends-on): Likewise.
2758         * modules/sinf (Depends-on): Likewise.
2759         * modules/sinhf (Depends-on): Likewise.
2760         * modules/sqrtf (Depends-on): Likewise.
2761         * modules/tanf (Depends-on): Likewise.
2762         * modules/tanhf (Depends-on): Likewise.
2763         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
2764         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
2765         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
2766         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
2767         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
2768         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
2769         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
2770         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
2771         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
2772         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
2773         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
2774         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
2775         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
2776         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
2777         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
2778         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
2779         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
2780         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
2781         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
2782         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
2783         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
2784         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
2785         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
2786         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
2787         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
2788         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
2789         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
2790         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
2791         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
2792         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
2793         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
2794         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
2795         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
2796         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
2797         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
2798         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
2799         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
2800         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
2801         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
2802         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
2803         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
2804
2805 2012-03-06  Bruno Haible  <bruno@clisp.org>
2806
2807         math: Update module names in warnings.
2808         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
2809         tanl): Use specific module name in warn-on-use warning.
2810
2811 2012-03-06  Bruno Haible  <bruno@clisp.org>
2812
2813         expl: Simplify computation.
2814         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
2815
2816 2012-03-05  Bruno Haible  <bruno@clisp.org>
2817
2818         exp* tests: More tests.
2819         * tests/test-exp.h: New file.
2820         * tests/test-exp.c: Include <float.h> and test-exp.h.
2821         (main): Invoke test_function.
2822         * tests/test-expf.c: Include <float.h> and test-exp.h.
2823         (main): Invoke test_function.
2824         * tests/test-expl.c: Include <float.h> and test-exp.h.
2825         (main): Invoke test_function.
2826         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
2827         (Makefile.am): Add randomd.c to test_exp_SOURCES.
2828         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
2829         (Makefile.am): Add randomf.c to test_expf_SOURCES.
2830         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
2831         (Depends-on): Add 'float'.
2832         (Makefile.am): Add randoml.c to test_expl_SOURCES.
2833
2834         expl: Fix precision of computed result.
2835         * lib/expl.c: Completely rewritten.
2836         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
2837         (Maintainer): Add me.
2838         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
2839
2840 2012-03-05  Bruno Haible  <bruno@clisp.org>
2841
2842         cbrt* tests: More tests.
2843         * tests/test-cbrt.h: New file.
2844         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
2845         (main): Invoke test_function.
2846         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
2847         (main): Invoke test_function.
2848         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
2849         (main): Invoke test_function.
2850         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
2851         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
2852         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
2853         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
2854         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
2855         (Depends-on): Add 'float'.
2856         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
2857
2858 2012-03-05  Bruno Haible  <bruno@clisp.org>
2859
2860         hypot* tests: More tests.
2861         * tests/test-hypot.h: New file, partially extracted from
2862         tests/test-hypotl.c.
2863         * tests/test-hypot.c: Include test-hypot.h.
2864         (main): Invoke test_function.
2865         * tests/test-hypotf.c: Include test-hypot.h.
2866         (main): Invoke test_function.
2867         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
2868         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
2869         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
2870         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
2871         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
2872         tests/randomf.c.
2873         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
2874         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
2875         tests/randoml.c.
2876         (Depends-on): Add 'fpucw', 'float'.
2877         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
2878
2879 2012-03-05  Bruno Haible  <bruno@clisp.org>
2880
2881         fpucw: Doc about FreeBSD.
2882         * lib/fpucw.h: Mention FreeBSD in comments.
2883
2884 2012-03-04  Bruno Haible  <bruno@clisp.org>
2885
2886         sqrt* tests: More tests.
2887         * tests/test-sqrt.h: New file.
2888         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
2889         (main): Invoke test_function.
2890         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
2891         (main): Invoke test_function.
2892         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
2893         (main): Invoke test_function.
2894         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
2895         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
2896         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
2897         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
2898         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
2899         (Depends-on): Add 'float'.
2900         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
2901
2902 2012-03-04  Bruno Haible  <bruno@clisp.org>
2903
2904         remainder* tests: More tests.
2905         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
2906         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
2907         (main): Invoke test_function.
2908         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
2909         (main): Invoke test_function.
2910         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
2911         (main): Invoke test_function.
2912         * modules/remainder-tests (Files): Add tests/test-remainder.h,
2913         tests/randomd.c.
2914         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
2915         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
2916         tests/randomf.c.
2917         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
2918         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
2919         tests/randoml.c.
2920         (Depends-on): Add 'float'.
2921         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
2922
2923 2012-03-04  Bruno Haible  <bruno@clisp.org>
2924
2925         remainder, remainderf, remainderl: Fix computation for large quotients.
2926         * lib/remainder.c: Completely rewritten.
2927         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
2928         USE_FLOAT.
2929         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
2930         USE_LONG_DOUBLE.
2931         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
2932         isnand, isinf. Remove round, fma.
2933         * modules/remainderf (Files): Add lib/remainder.c.
2934         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
2935         Remove roundf, fmaf.
2936         * modules/remainderl (Files): Add lib/remainder.c.
2937         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
2938         isinf. Remove roundl, fmal.
2939         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
2940         REMAINDER_LIBM.
2941         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
2942         REMAINDERF_LIBM.
2943         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
2944         REMAINDERL_LIBM.
2945
2946 2012-03-04  Bruno Haible  <bruno@clisp.org>
2947
2948         fmod* tests: More tests.
2949         * tests/test-fmod.h (my_ldexp): New function.
2950         (test_function): Reduce amount of random numbers to test. Add tests
2951         of very large quotients x / y.
2952         * tests/test-fmod.c (MAX_EXP): New macro.
2953         * tests/test-fmodf.c (MAX_EXP): Likewise.
2954         * tests/test-fmodl.c (MAX_EXP): Likewise.
2955
2956 2012-03-04  Bruno Haible  <bruno@clisp.org>
2957
2958         fmod, fmodl: Fix computation for large quotients x / y.
2959         * lib/fmod.c: Completely rewritten.
2960         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
2961         USE_LONG_DOUBLE.
2962         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
2963         isnand. Remove fma.
2964         * modules/fmodl (Files): Add lib/fmod.c.
2965         (Depends-on): Add float, isfinite, signbit, fabsl,
2966         frexpl, ldexpl, isnanl. Remove fma.
2967         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
2968         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
2969
2970 2012-03-03  Bruno Haible  <bruno@clisp.org>
2971
2972         fmod* tests: More tests.
2973         * tests/test-fmod.h: New file.
2974         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
2975         (main): Invoke test_function.
2976         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
2977         (main): Invoke test_function.
2978         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
2979         (main): Invoke test_function.
2980         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
2981         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
2982         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
2983         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
2984         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
2985         (Depends-on): Add 'float'.
2986         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
2987
2988 2012-03-03  Bruno Haible  <bruno@clisp.org>
2989
2990         rint* tests: More tests.
2991         * tests/test-rint.h: New file, partially extracted from
2992         tests/test-rintl.c.
2993         * tests/test-rint.c: Include test-rint.h.
2994         (main): Invoke test_function.
2995         * tests/test-rintf.c: Include test-rint.h.
2996         (main): Invoke test_function.
2997         * tests/test-rintl.c: Include test-rint.h.
2998         (main): Invoke test_function.
2999         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
3000         (Makefile.am): Add randomd.c to test_rint_SOURCES.
3001         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
3002         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
3003         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
3004         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
3005
3006 2012-03-03  Bruno Haible  <bruno@clisp.org>
3007
3008         modf* tests: More tests.
3009         * tests/test-modf.h: New file.
3010         * tests/test-modf.c: Include <float.h> and test-modf.h.
3011         (main): Invoke test_function.
3012         * tests/test-modff.c: Include <float.h> and test-modf.h.
3013         (main): Invoke test_function.
3014         * tests/test-modfl.c: Include <float.h> and test-modf.h.
3015         (main): Invoke test_function.
3016         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
3017         (Makefile.am): Add randomd.c to test_modf_SOURCES.
3018         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
3019         (Makefile.am): Add randomf.c to test_modff_SOURCES.
3020         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
3021         (Depends-on): Add 'float'.
3022         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
3023
3024 2012-03-03  Bruno Haible  <bruno@clisp.org>
3025
3026         fabs* tests: More tests.
3027         * tests/test-fabs.h: New file, partially extracted from
3028         tests/test-fabsl.c.
3029         * tests/test-fabs.c (RANDOM): New macro.
3030         * tests/test-fabsf.c (RANDOM): New macro.
3031         * tests/test-fabsl.c (RANDOM): New macro.
3032         * modules/fabs-tests (Files): Add tests/randomd.c.
3033         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
3034         * modules/fabsf-tests (Files): Add tests/randomf.c.
3035         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
3036         * modules/fabsl-tests (Files): Add tests/randoml.c.
3037         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
3038
3039 2012-03-03  Bruno Haible  <bruno@clisp.org>
3040
3041         ldexp* tests: More tests.
3042         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
3043         * tests/test-ldexp.c (RANDOM): New macro.
3044         * tests/test-ldexpf.c (RANDOM): New macro.
3045         * tests/test-ldexpl.c (RANDOM): New macro.
3046         * modules/ldexp-tests (Files): Add tests/randomd.c.
3047         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
3048         * modules/ldexpf-tests (Files): Add tests/randomf.c.
3049         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
3050         * modules/ldexpl-tests (Files): Add tests/randoml.c.
3051         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
3052
3053 2012-03-03  Bruno Haible  <bruno@clisp.org>
3054
3055         frexp* tests: More tests.
3056         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
3057         * tests/test-frexp.c (RANDOM): New macro.
3058         * tests/test-frexpf.c (RANDOM): New macro.
3059         * tests/test-frexpl.c (RANDOM): New macro.
3060         * modules/frexp-tests (Files): Add tests/randomd.c.
3061         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
3062         * modules/frexpf-tests (Files): Add tests/randomf.c.
3063         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
3064         * modules/frexpl-tests (Files): Add tests/randoml.c.
3065         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
3066
3067 2012-03-03  Bruno Haible  <bruno@clisp.org>
3068
3069         Support for pseudo-random numbers in tests.
3070         * tests/randomf.c: New file.
3071         * tests/randomd.c: New file.
3072         * tests/randoml.c: New file.
3073         * tests/macros.h (randomf, randomd, randoml): New declarations.
3074
3075 2012-03-03  Bruno Haible  <bruno@clisp.org>
3076
3077         frexp* tests: Refactor.
3078         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
3079         * tests/test-frexp.c: Include and use it.
3080         * tests/test-frexpf.c: Likewise.
3081         * tests/test-frexpl.c: Likewise.
3082         * modules/frexp-tests (Files): Add tests/test-frexp.h.
3083         * modules/frexpf-tests (Files): Likewise.
3084         * modules/frexpl-tests (Files): Likewise.
3085
3086 2012-03-02  Jim Meyering  <meyering@redhat.com>
3087
3088         maint: don't specify XZ_OPT=-9ev in dist-related rule
3089         Using xz's -9 option is warranted only if you have a very large
3090         tarball (see xz's documentation for the sizes vs. presets), and
3091         requires 64MiB of memory at decompression time.
3092         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
3093         Automake's default of just "-e" is fine.  Override on a
3094         per-package basis by setting XZ_OPT e.g., in cfg.mk.
3095
3096 2012-03-01  Eric Blake  <eblake@redhat.com>
3097
3098         maint.mk: allow announcement for non-gnulib project
3099         * maint.mk (announcement): Skip gnulib version if not used.
3100
3101 2012-03-01  Jim Meyering  <meyering@redhat.com>
3102
3103         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
3104         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
3105         envvar settings cannot interfere.  Otherwise, setting envvars like
3106         prohibit=foo require=bar, etc. would cause spurious test failures.
3107
3108 2012-03-01  Eric Blake  <eblake@redhat.com>
3109
3110         maint.mk: add per-line exclusions to prohibitions
3111         * maint.mk (_sc_search_regexp): Add $exclude parameter.
3112         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
3113         (sc_const_long_option): Use it.
3114
3115 2012-03-01  Bruno Haible  <bruno@clisp.org>
3116
3117         Tests for module 'expl-ieee'.
3118         * modules/expl-ieee-tests: New file.
3119         * tests/test-expl-ieee.c: New file.
3120
3121         New module 'expl-ieee'.
3122         * modules/expl-ieee: New file.
3123
3124         Tests for module 'exp-ieee'.
3125         * modules/exp-ieee-tests: New file.
3126         * tests/test-exp-ieee.c: New file.
3127
3128         New module 'exp-ieee'.
3129         * modules/exp-ieee: New file.
3130
3131         Tests for module 'expf-ieee'.
3132         * modules/expf-ieee-tests: New file.
3133         * tests/test-expf-ieee.c: New file.
3134         * tests/test-exp-ieee.h: New file.
3135
3136         New module 'expf-ieee'.
3137         * modules/expf-ieee: New file.
3138
3139 2012-02-29  Bruno Haible  <bruno@clisp.org>
3140
3141         cbrtl-ieee: Work around test failure on IRIX 6.5.
3142         * m4/cbrtl-ieee.m4: New file.
3143         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
3144         test whether cbrtl works with a minus zero argument. Replace it if not.
3145         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
3146         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
3147         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
3148         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
3149         (Depends-on): Update conditions.
3150         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
3151         m4/signbit.m4.
3152         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
3153         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
3154         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
3155
3156         Tests for module 'cbrtl-ieee'.
3157         * modules/cbrtl-ieee-tests: New file.
3158         * tests/test-cbrtl-ieee.c: New file.
3159
3160         New module 'cbrtl-ieee'.
3161         * modules/cbrtl-ieee: New file.
3162
3163         Tests for module 'cbrt-ieee'.
3164         * modules/cbrt-ieee-tests: New file.
3165         * tests/test-cbrt-ieee.c: New file.
3166
3167         New module 'cbrt-ieee'.
3168         * modules/cbrt-ieee: New file.
3169
3170         Tests for module 'cbrtf-ieee'.
3171         * modules/cbrtf-ieee-tests: New file.
3172         * tests/test-cbrtf-ieee.c: New file.
3173         * tests/test-cbrt-ieee.h: New file.
3174
3175         New module 'cbrtf-ieee'.
3176         * modules/cbrtf-ieee: New file.
3177
3178 2012-02-29  Bruno Haible  <bruno@clisp.org>
3179
3180         cbrtf: Work around bug in IRIX 6.5 system function.
3181         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
3182         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
3183         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
3184         work.
3185         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
3186         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
3187         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
3188         (Depends-on): Update conditions.
3189         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
3190
3191 2012-02-29  Bruno Haible  <bruno@clisp.org>
3192
3193         Tests for module 'cbrtl'.
3194         * modules/cbrtl-tests: New file.
3195         * tests/test-cbrtl.c: New file.
3196
3197         New module 'cbrtl'.
3198         * lib/math.in.h (cbrtl): New declaration.
3199         * lib/cbrtl.c: New file.
3200         * m4/cbrtl.m4: New file.
3201         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
3202         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
3203         HAVE_DECL_CBRTL.
3204         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
3205         HAVE_DECL_CBRTL.
3206         * modules/cbrtl: New file.
3207         * tests/test-math-c++.cc: Check the declaration of cbrtl.
3208         * doc/posix-functions/cbrtl.texi: Mention the new module.
3209
3210 2012-02-29  Bruno Haible  <bruno@clisp.org>
3211
3212         Tests for module 'cbrtf'.
3213         * modules/cbrtf-tests: New file.
3214         * tests/test-cbrtf.c: New file.
3215
3216         New module 'cbrtf'.
3217         * lib/math.in.h (cbrtf): New declaration.
3218         * lib/cbrtf.c: New file.
3219         * m4/cbrtf.m4: New file.
3220         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
3221         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
3222         HAVE_DECL_CBRTF.
3223         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
3224         HAVE_DECL_CBRTF.
3225         * modules/cbrtf: New file.
3226         * tests/test-math-c++.cc: Check the declaration of cbrtf.
3227         * doc/posix-functions/cbrtf.texi: Mention the new module.
3228
3229 2012-02-29  Bruno Haible  <bruno@clisp.org>
3230
3231         cbrt: Provide replacement on MSVC and Minix.
3232         * lib/math.in.h (cbrt): New declaration.
3233         * lib/cbrt.c: New file.
3234         * m4/cbrt.m4: New file.
3235         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
3236         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
3237         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
3238         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
3239         (Depends-on): Add dependencies.
3240         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
3241         * tests/test-math-c++.cc: Check the declaration of cbrt.
3242         * doc/posix-functions/cbrt.texi: Mention that the module provides a
3243         replacement.
3244
3245 2012-02-29  Bruno Haible  <bruno@clisp.org>
3246
3247         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
3248         * m4/hypotl-ieee.m4: New file.
3249         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
3250         test whether hypotl works with mixed NaN and Infinity arguments.
3251         Replace it if not.
3252         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
3253         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
3254         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
3255         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
3256         (Depends-on): Update conditions.
3257         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
3258         (Depends-on): Add hypot-ieee.
3259         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
3260         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
3261
3262         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
3263         * m4/hypotf-ieee.m4: New file.
3264         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
3265         test whether hypotf works with mixed NaN and Infinity arguments.
3266         Replace it if not.
3267         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
3268         (Depends-on): Add hypot-ieee.
3269         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
3270         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
3271
3272         hypot-ieee: Work around test failure on OSF/1 and native Windows.
3273         * lib/math.in.h (hypot): New declaration.
3274         * lib/hypot.c: New file.
3275         * m4/hypot-ieee.m4: New file.
3276         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
3277         whether hypot works with mixed NaN and Infinity arguments. Replace it
3278         if not.
3279         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
3280         REPLACE_HYPOT.
3281         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
3282         * modules/hypot (Files): Add lib/hypot.c.
3283         (Depends-on): Add dependencies.
3284         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
3285         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
3286         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
3287         * tests/test-math-c++.cc: Check the declaration of hypot.
3288         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
3289
3290         Tests for module 'hypotl-ieee'.
3291         * modules/hypotl-ieee-tests: New file.
3292         * tests/test-hypotl-ieee.c: New file.
3293
3294         New module 'hypotl-ieee'.
3295         * modules/hypotl-ieee: New file.
3296
3297         Tests for module 'hypot-ieee'.
3298         * modules/hypot-ieee-tests: New file.
3299         * tests/test-hypot-ieee.c: New file.
3300
3301         New module 'hypot-ieee'.
3302         * modules/hypot-ieee: New file.
3303
3304         Tests for module 'hypotf-ieee'.
3305         * modules/hypotf-ieee-tests: New file.
3306         * tests/test-hypotf-ieee.c: New file.
3307         * tests/test-hypot-ieee.h: New file.
3308
3309         New module 'hypotf-ieee'.
3310         * modules/hypotf-ieee: New file.
3311
3312 2012-02-29  Bruno Haible  <bruno@clisp.org>
3313
3314         Remove unused variables.
3315         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
3316         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
3317         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
3318         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
3319
3320 2012-02-29  Eric Blake  <eblake@redhat.com>
3321
3322         termios: fix pid_t always, not just for tcgetsid
3323         * doc/posix-headers/termios.texi (termios.h): Mention problem.
3324         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
3325         just when building tcgetsid.
3326
3327 2012-02-29  Bruno Haible  <bruno@clisp.org>
3328
3329         Tests for module 'hypotl'.
3330         * modules/hypotl-tests: New file.
3331         * tests/test-hypotl.c: New file.
3332
3333         New module 'hypotl'.
3334         * lib/math.in.h (hypotl): New declaration.
3335         * lib/hypotl.c: New file.
3336         * m4/hypotl.m4: New file.
3337         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
3338         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
3339         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
3340         * modules/hypotl: New file.
3341         * tests/test-math-c++.cc: Check the hypotl declaration.
3342         * doc/posix-functions/hypotl.texi: Mention the new module.
3343
3344 2012-02-29  Eric Blake  <eblake@redhat.com>
3345
3346         tcgetsid: fix cygwin header bug
3347         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
3348
3349         docs: update cygwin progress
3350         * doc/posix-functions/llround.texi (llround): Added in cygwin
3351         1.7.8.
3352         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
3353         * doc/glibc-functions/program_invocation_name.texi
3354         (program_invocation_name): Likewise.
3355         * doc/glibc-functions/program_invocation_short_name.texi
3356         (program_invocation_short_name): Likewise.
3357         * doc/glibc-functions/madvise.texi (madvise): Likewise.
3358         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
3359         Likewise.
3360         * doc/posix-functions/pthread_spin_destroy.texi
3361         (pthread_spin_destroy): Added in cygwin 1.7.10.
3362         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
3363         Likewise.
3364         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
3365         Likewise.
3366         * doc/posix-functions/pthread_spin_trylock.texi
3367         (pthread_spin_trylock): Likewise.
3368         * doc/posix-functions/pthread_spin_unlock.texi
3369         (pthread_spin_unlock): Likewise.
3370         * doc/posix-functions/pthread_setschedprio.texi
3371         (pthread_setschedprio): Likewise.
3372         * doc/posix-functions/pthread_attr_getstack.texi
3373         (pthread_attr_getstack): Likewise.
3374         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
3375         (pthread_attr_getstackaddr): Likewise.
3376         * doc/glibc-functions/pthread_getattr_np.texi
3377         (pthread_getattr_np): Likewise.
3378         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
3379         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
3380         * doc/posix-functions/clock_settime.texi (clock_settime):
3381         Likewise.
3382         * doc/posix-functions/pthread_attr_getguardsize.texi
3383         (pthread_attr_getguardsize): Likewise.
3384         * doc/posix-functions/pthread_attr_setguardsize.texi
3385         (pthread_attr_setguardsize): Likewise.
3386         * doc/posix-functions/pthread_attr_setstack.texi
3387         (pthread_attr_setstack): Likewise.
3388         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
3389         (pthread_attr_setstackaddr): Likewise.
3390         * doc/posix-functions/clock_getcpuclockid.texi
3391         (clock_getcpuclockid): Likewise.
3392         * doc/posix-functions/pthread_getcpuclockid.texi
3393         (pthread_getcpuclockid): Likewise.
3394         * doc/glibc-functions/error.texi (error): Likewise.
3395         * doc/glibc-functions/error_at_line.texi (error_at_line):
3396         Likewise.
3397         * doc/glibc-functions/error_message_count.texi
3398         (error_message_count): Likewise.
3399         * doc/glibc-functions/error_one_per_line.texi
3400         (error_one_per_line): Likewise.
3401         * doc/glibc-functions/error_print_progname.texi
3402         (error_print_progname): Likewise.
3403         * doc/posix-functions/pthread_condattr_getclock.texi
3404         (pthread_condattr_getclock): Likewise.
3405         * doc/posix-functions/pthread_condattr_setclock.texi
3406         (pthread_condattr_setclock): Likewise.
3407         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
3408         Likewise.
3409         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
3410         * doc/glibc-functions/getpt.texi (getpt): Likewise.
3411         * doc/glibc-functions/get_current_dir_name.texi
3412         (get_current_dir_name): Likewise.
3413         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
3414         Likewise.
3415         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
3416         wrong return type.
3417         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
3418         1.7.11.
3419
3420 2012-02-29  Bruno Haible  <bruno@clisp.org>
3421
3422         Tests for module 'hypotf'.
3423         * modules/hypotf-tests: New file.
3424         * tests/test-hypotf.c: New file.
3425
3426         New module 'hypotf'.
3427         * lib/math.in.h (hypotf): New declaration.
3428         * lib/hypotf.c: New file.
3429         * m4/hypotf.m4: New file.
3430         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
3431         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
3432         REPLACE_HYPOTF.
3433         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
3434         REPLACE_HYPOTF.
3435         * modules/hypotf: New file.
3436         * tests/test-math-c++.cc: Check the hypotf declaration.
3437         * doc/posix-functions/hypotf.texi: Mention the new module.
3438
3439         hypot: Prepare for hypotf module.
3440         * m4/hypot.m4: New file.
3441         * modules/hypot (Files): Add m4/hypot.m4.
3442         (configure.ac): Invoke gl_FUNC_HYPOT.
3443
3444 2012-02-29  Bruno Haible  <bruno@clisp.org>
3445
3446         hypot tests: More tests.
3447         * tests/test-hypot.c: Include <float.h>.
3448         (main): Add tests about overflow and underflow.
3449
3450 2012-02-29  Bruno Haible  <bruno@clisp.org>
3451
3452         math code: Add comments.
3453         * lib/acosl.c: Add comment about related glibc source files.
3454         * lib/asinl.c: Likewise.
3455         * lib/atanl.c: Likewise.
3456         * lib/expl.c: Likewise.
3457         * lib/logl.c: Likewise.
3458         * lib/sincosl.c: Likewise.
3459         * lib/sinl.c: Likewise.
3460         * lib/tanl.c: Likewise.
3461         * lib/trigl.c: Likewise.
3462         * lib/cosl.c: Likewise. Fix comments.
3463
3464 2012-02-28  Bruno Haible  <bruno@clisp.org>
3465
3466         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
3467         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
3468         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
3469         HUGE_VALL are defined.
3470         (numeric_equald): Renamed from numeric_equal.
3471         (numeric_equalf, numeric_equall): New functions.
3472         (main): Check also HUGE_VALF, HUGE_VALL.
3473         * modules/math-tests (Files): Add tests/macros.h.
3474         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
3475         HUGE_VALL.
3476
3477 2012-02-28  Bruno Haible  <bruno@clisp.org>
3478
3479         doc: Move ISO C11 feature notes into POSIX chapters.
3480         * doc/posix-functions/aligned_alloc.texi: Renamed from
3481         doc/glibc-functions/aligned_alloc.texi.
3482         * doc/posix-functions/quick_exit.texi: Renamed from
3483         doc/glibc-functions/quick_exit.texi.
3484         * doc/posix-headers/uchar.texi: Renamed from
3485         doc/glibc-headers/uchar.texi.
3486         * doc/posix-functions/c16rtomb.texi: Renamed from
3487         doc/glibc-functions/c16rtomb.texi.
3488         * doc/posix-functions/c32rtomb.texi: Renamed from
3489         doc/glibc-functions/c32rtomb.texi.
3490         * doc/posix-functions/mbrtoc16.texi: Renamed from
3491         doc/glibc-functions/mbrtoc16.texi.
3492         * doc/posix-functions/mbrtoc32.texi: Renamed from
3493         doc/glibc-functions/mbrtoc32.texi.
3494         * doc/gnulib.texi: Update.
3495         (Glibc uchar.h): Remove section.
3496         Suggested by Eric Blake.
3497
3498 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
3499
3500         stdnoreturn: port to MSVC better
3501         MSVC standard headers use __declspec(noreturn), so #define noreturn
3502         to empty on that platform.  Reported by Bruno Haible in
3503         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
3504         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
3505         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
3506
3507 2012-02-28  Bruno Haible  <bruno@clisp.org>
3508
3509         doc: Mention new glibc headers and functions.
3510         * doc/glibc-headers/uchar.texi: New file.
3511         * doc/glibc-functions/aligned_alloc.texi: New file.
3512         * doc/glibc-functions/c16rtomb.texi: New file.
3513         * doc/glibc-functions/c32rtomb.texi: New file.
3514         * doc/glibc-functions/clock_adjtime.texi: New file.
3515         * doc/glibc-functions/fanotify_init.texi: New file.
3516         * doc/glibc-functions/fanotify_mark.texi: New file.
3517         * doc/glibc-functions/inet6_opt_append.texi: New file.
3518         * doc/glibc-functions/inet6_opt_find.texi: New file.
3519         * doc/glibc-functions/inet6_opt_finish.texi: New file.
3520         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
3521         * doc/glibc-functions/inet6_opt_init.texi: New file.
3522         * doc/glibc-functions/inet6_opt_next.texi: New file.
3523         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
3524         * doc/glibc-functions/inet6_rth_add.texi: New file.
3525         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
3526         * doc/glibc-functions/inet6_rth_init.texi: New file.
3527         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
3528         * doc/glibc-functions/inet6_rth_segments.texi: New file.
3529         * doc/glibc-functions/inet6_rth_space.texi: New file.
3530         * doc/glibc-functions/login.texi: New file.
3531         * doc/glibc-functions/mbrtoc16.texi: New file.
3532         * doc/glibc-functions/mbrtoc32.texi: New file.
3533         * doc/glibc-functions/name_to_handle_at.texi: New file.
3534         * doc/glibc-functions/ntp_gettimex.texi: New file.
3535         * doc/glibc-functions/open_by_handle_at.texi: New file.
3536         * doc/glibc-functions/prlimit.texi: New file.
3537         * doc/glibc-functions/process_vm_readv.texi: New file.
3538         * doc/glibc-functions/process_vm_writev.texi: New file.
3539         * doc/glibc-functions/recvmmsg.texi: New file.
3540         * doc/glibc-functions/scandirat.texi: New file.
3541         * doc/glibc-functions/sendmmsg.texi: New file.
3542         * doc/glibc-functions/setns.texi: New file.
3543         * doc/glibc-functions/timespec_get.texi: New file.
3544         * doc/gnulib.texi: Include them.
3545         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
3546         sections.
3547         Reported by Eric Blake.
3548
3549 2012-02-28  Bruno Haible  <bruno@clisp.org>
3550
3551         Avoid compilation errors with MSVC option -fp:strict.
3552         * lib/floor.c: Use MSVC specific pragma fenv_access.
3553         * lib/ceil.c: Likewise.
3554         * lib/trunc.c: Likewise.
3555         * lib/round.c: Likewise.
3556         * lib/rint.c: Likewise.
3557         * lib/fma.c: Likewise.
3558         * lib/integer_length.c: Likewise.
3559         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
3560         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
3561         * tests/test-floor2.c: Likewise.
3562         * tests/test-floorf2.c: Likewise.
3563         * tests/test-ceil2.c: Likewise.
3564         * tests/test-ceilf2.c: Likewise.
3565         * tests/test-trunc2.c: Likewise.
3566         * tests/test-truncf2.c: Likewise.
3567         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
3568
3569 2012-02-27  Bruno Haible  <bruno@clisp.org>
3570
3571         Tests for module 'sqrtl-ieee'.
3572         * modules/sqrtl-ieee-tests: New file.
3573         * tests/test-sqrtl-ieee.c: New file.
3574
3575         New module 'sqrtl-ieee'.
3576         * modules/sqrtl-ieee: New file.
3577
3578         Tests for module 'sqrt-ieee'.
3579         * modules/sqrt-ieee-tests: New file.
3580         * tests/test-sqrt-ieee.c: New file.
3581
3582         New module 'sqrt-ieee'.
3583         * modules/sqrt-ieee: New file.
3584
3585         Tests for module 'sqrtf-ieee'.
3586         * modules/sqrtf-ieee-tests: New file.
3587         * tests/test-sqrtf-ieee.c: New file.
3588         * tests/test-sqrt-ieee.h: New file.
3589
3590         New module 'sqrtf-ieee'.
3591         * modules/sqrtf-ieee: New file.
3592
3593 2012-02-27  Bruno Haible  <bruno@clisp.org>
3594
3595         remainderl-ieee: Work around test failure on OSF/1.
3596         * m4/remainderl-ieee.m4: New file.
3597         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
3598         present, test whether remainderl works with a zero second argument.
3599         Replace it if not.
3600         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
3601         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
3602         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
3603         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
3604         (Depends-on): Update conditions.
3605         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
3606         (Depends-on): Add remainder-ieee.
3607         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
3608         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
3609         module.
3610
3611         remainderf-ieee: Work around test failure on OSF/1.
3612         * m4/remainderf-ieee.m4: New file.
3613         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
3614         present, test whether remainderf works with a zero second argument.
3615         Replace it if not.
3616         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
3617         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
3618         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
3619         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
3620         (Depends-on): Update conditions.
3621         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
3622         (Depends-on): Add remainder-ieee.
3623         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
3624         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
3625         module.
3626
3627         remainder-ieee: Work around test failure on OSF/1.
3628         * m4/remainder-ieee.m4: New file.
3629         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
3630         present, test whether remainder works with a zero second argument.
3631         Replace it if not.
3632         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
3633         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
3634         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
3635         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
3636         (Depends-on): Update dependencies.
3637         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
3638         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
3639         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
3640
3641         Tests for module 'remainderl-ieee'.
3642         * modules/remainderl-ieee-tests: New file.
3643         * tests/test-remainderl-ieee.c: New file.
3644
3645         New module 'remainderl-ieee'.
3646         * modules/remainderl-ieee: New file.
3647
3648         Tests for module 'remainder-ieee'.
3649         * modules/remainder-ieee-tests: New file.
3650         * tests/test-remainder-ieee.c: New file.
3651
3652         New module 'remainder-ieee'.
3653         * modules/remainder-ieee: New file.
3654
3655         Tests for module 'remainderf-ieee'.
3656         * modules/remainderf-ieee-tests: New file.
3657         * tests/test-remainderf-ieee.c: New file.
3658         * tests/test-remainder-ieee.h: New file.
3659
3660         New module 'remainderf-ieee'.
3661         * modules/remainderf-ieee: New file.
3662
3663 2012-02-27  Bruno Haible  <bruno@clisp.org>
3664
3665         modff, modfl: Fix configure syntax error.
3666         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
3667         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
3668
3669 2012-02-27  Bruno Haible  <bruno@clisp.org>
3670
3671         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
3672         * m4/fmodl-ieee.m4: New file.
3673         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
3674         whether fmodl works with zero arguments. Replace it if not.
3675         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
3676         (Depends-on): Add fmod-ieee.
3677         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
3678         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
3679
3680         fmodf-ieee: Work around test failure on OSF/1.
3681         * m4/fmodf-ieee.m4: New file.
3682         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
3683         whether fmodf works with zero arguments. Replace it if not.
3684         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
3685         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
3686         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
3687         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
3688         (Depends-on): Update dependencies.
3689         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
3690         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
3691         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
3692
3693         fmodf-ieee: Work around test failure on MSVC 9.
3694         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
3695         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
3696
3697         fmod-ieee: Work around test failures on OSF/1, mingw.
3698         * m4/fmod-ieee.m4: New file.
3699         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
3700         whether fmod works with zero arguments. Replace it if not.
3701         * lib/math.in.h (fmod): New declaration.
3702         * lib/fmod.c: New file.
3703         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
3704         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
3705         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
3706         * modules/fmod (Files): Add lib/fmod.c.
3707         (Depends-on): Add math, isinf, trunc, fma.
3708         (configure.ac): Arrange to compile lib/fmod.c if needed.
3709         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
3710         m4/signbit.m4.
3711         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
3712         * tests/test-math-c++.cc: Check the declaration of fmod.
3713         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
3714
3715         fmodl-ieee: Fix test failures.
3716         * lib/fmodl.c (fmodl): Treat Inf specially.
3717         * modules/fmodl (Depends-on): Add isinf.
3718
3719         Tests for module 'fmodl-ieee'.
3720         * modules/fmodl-ieee-tests: New file.
3721         * tests/test-fmodl-ieee.c: New file.
3722
3723         New module 'fmodl-ieee'.
3724         * modules/fmodl-ieee: New file.
3725
3726         Tests for module 'fmod-ieee'.
3727         * modules/fmod-ieee-tests: New file.
3728         * tests/test-fmod-ieee.c: New file.
3729
3730         New module 'fmod-ieee'.
3731         * modules/fmod-ieee: New file.
3732
3733         Tests for module 'fmodf-ieee'.
3734         * modules/fmodf-ieee-tests: New file.
3735         * tests/test-fmodf-ieee.c: New file.
3736         * tests/test-fmod-ieee.h: New file.
3737
3738         New module 'fmodf-ieee'.
3739         * modules/fmodf-ieee: New file.
3740
3741 2012-02-27  Bruno Haible  <bruno@clisp.org>
3742
3743         Tests for module 'rintl-ieee'.
3744         * modules/rintl-ieee-tests: New file.
3745         * tests/test-rintl-ieee.c: New file.
3746
3747         New module 'rintl-ieee'.
3748         * modules/rintl-ieee: New file.
3749
3750         Tests for module 'rint-ieee'.
3751         * modules/rint-ieee-tests: New file.
3752         * tests/test-rint-ieee.c: New file.
3753
3754         New module 'rint-ieee'.
3755         * modules/rint-ieee: New file.
3756
3757         Tests for module 'rintf-ieee'.
3758         * modules/rintf-ieee-tests: New file.
3759         * tests/test-rintf-ieee.c: New file.
3760         * tests/test-rint-ieee.h: New file.
3761
3762         New module 'rintf-ieee'.
3763         * modules/rintf-ieee: New file.
3764
3765 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
3766
3767         regex: re_search etc. should return -2 when memory exhausted
3768         This bug was uncovered when testing 'grep'.  Without the fix,
3769         re_search and friends return -1 when memory is exhausted, but -1
3770         means no match, and this causes grep to falsely report no-match
3771         instead of memory-exhaustion.  See
3772         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
3773         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
3774         trouble; this can occur if re_search_internal ran out of memory.
3775
3776 2012-02-26  Bruno Haible  <bruno@clisp.org>
3777
3778         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
3779         * m4/modfl-ieee.m4: New file.
3780         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
3781         whether modfl works with Inf. Replace it if not.
3782         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
3783         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
3784         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
3785         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
3786         (Depends-on): Update dependencies.
3787         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
3788         m4/signbit.m4.
3789         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
3790         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
3791
3792         modfl-ieee: Fix dependencies.
3793         * modules/modfl-ieee (Depends-on): Add modf-ieee.
3794
3795         modfl-ieee: Fix test failures.
3796         * lib/modfl.c (modfl): Treat NaN and Inf specially.
3797         * modules/modfl (Depends-on): Add isfinite, isinf.
3798
3799         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
3800         * m4/modff-ieee.m4: New file.
3801         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
3802         whether modff works with NaN and Inf. Replace it if not.
3803         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
3804         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
3805         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
3806         * modules/modff (configure.ac): Consider REPLACE_MODFF.
3807         (Depends-on): Update dependencies.
3808         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
3809         m4/signbit.m4.
3810         (Depends-on): Add modf-ieee.
3811         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
3812         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
3813
3814         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
3815         * m4/modf-ieee.m4: New file.
3816         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
3817         whether modf works with NaN and Inf. Replace it if not.
3818         * lib/math.in.h (modf): New declaration.
3819         * lib/modf.c: New file.
3820         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
3821         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
3822         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
3823         * modules/modf (Files): Add lib/modf.c.
3824         (Depends-on): Add math, isfinite, trunc, isinf.
3825         (configure.ac): Addrange to compile lib/modf.c if needed.
3826         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
3827         m4/signbit.m4.
3828         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
3829         * tests/test-math-c++.cc: Check the declaration of modf.
3830         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
3831
3832         Tests for module 'modfl-ieee'.
3833         * modules/modfl-ieee-tests: New file.
3834         * tests/test-modfl-ieee.c: New file.
3835
3836         New module 'modfl-ieee'.
3837         * modules/modfl-ieee: New file.
3838
3839         Tests for module 'modf-ieee'.
3840         * modules/modf-ieee-tests: New file.
3841         * tests/test-modf-ieee.c: New file.
3842
3843         New module 'modf-ieee'.
3844         * modules/modf-ieee: New file.
3845
3846         Tests for module 'modff-ieee'.
3847         * modules/modff-ieee-tests: New file.
3848         * tests/test-modff-ieee.c: New file.
3849         * tests/test-modf-ieee.h: New file.
3850
3851         New module 'modff-ieee'.
3852         * modules/modff-ieee: New file.
3853
3854 2012-02-26  Bruno Haible  <bruno@clisp.org>
3855
3856         Tests for module 'fabsl-ieee'.
3857         * modules/fabsl-ieee-tests: New file.
3858         * tests/test-fabsl-ieee.c: New file.
3859
3860         New module 'fabsl-ieee'.
3861         * modules/fabsl-ieee: New file.
3862
3863         Tests for module 'fabs-ieee'.
3864         * modules/fabs-ieee-tests: New file.
3865         * tests/test-fabs-ieee.c: New file.
3866
3867         New module 'fabs-ieee'.
3868         * modules/fabs-ieee: New file.
3869
3870         Tests for module 'fabsf-ieee'.
3871         * modules/fabsf-ieee-tests: New file.
3872         * tests/test-fabsf-ieee.c: New file.
3873         * tests/test-fabs-ieee.h: New file.
3874
3875         New module 'fabsf-ieee'.
3876         * modules/fabsf-ieee: New file.
3877
3878 2012-02-26  Bruno Haible  <bruno@clisp.org>
3879
3880         Tests for module 'fmal-ieee'.
3881         * modules/fmal-ieee-tests: New file.
3882         * tests/test-fmal-ieee.c: New file.
3883
3884         New module 'fmal-ieee'.
3885         * modules/fmal-ieee: New file.
3886
3887         Tests for module 'fma-ieee'.
3888         * modules/fma-ieee-tests: New file.
3889         * tests/test-fma-ieee.c: New file.
3890
3891         New module 'fma-ieee'.
3892         * modules/fma-ieee: New file.
3893
3894         Tests for module 'fmaf-ieee'.
3895         * modules/fmaf-ieee-tests: New file.
3896         * tests/test-fmaf-ieee.c: New file.
3897         * tests/test-fma-ieee.h: New file.
3898
3899         New module 'fmaf-ieee'.
3900         * modules/fmaf-ieee: New file.
3901
3902 2012-02-26  Bruno Haible  <bruno@clisp.org>
3903
3904         Tests for module 'ldexpl-ieee'.
3905         * modules/ldexpl-ieee-tests: New file.
3906         * tests/test-ldexpl-ieee.c: New file.
3907
3908         New module 'ldexpl-ieee'.
3909         * modules/ldexpl-ieee: New file.
3910
3911         Tests for module 'ldexp-ieee'.
3912         * modules/ldexp-ieee-tests: New file.
3913         * tests/test-ldexp-ieee.c: New file.
3914
3915         New module 'ldexp-ieee'.
3916         * modules/ldexp-ieee: New file.
3917
3918         Tests for module 'ldexpf-ieee'.
3919         * modules/ldexpf-ieee-tests: New file.
3920         * tests/test-ldexpf-ieee.c: New file.
3921         * tests/test-ldexp-ieee.h: New file.
3922
3923         New module 'ldexpf-ieee'.
3924         * modules/ldexpf-ieee: New file.
3925
3926 2012-02-26  Bruno Haible  <bruno@clisp.org>
3927
3928         Refactor frexp*-ieee tests.
3929         * tests/test-frexp-ieee.h: New file.
3930         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
3931         (main): Just call test_function.
3932         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
3933         (main): Just call test_function.
3934         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
3935         (main): Just call test_function.
3936         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
3937         * modules/frexp-ieee-tests (Files): Likewise.
3938         * modules/frexpl-ieee-tests (Files): Likewise.
3939
3940         Tests for module 'frexpl-ieee'.
3941         * modules/frexpl-ieee-tests: New file.
3942         * tests/test-frexpl-ieee.c: New file.
3943
3944         New module 'frexpl-ieee'.
3945         * modules/frexpl-ieee: New file.
3946
3947         Tests for module 'frexp-ieee'.
3948         * modules/frexp-ieee-tests: New file.
3949         * tests/test-frexp-ieee.c: New file.
3950
3951         New module 'frexp-ieee'.
3952         * modules/frexp-ieee: New file.
3953
3954         Tests for module 'frexpf-ieee'.
3955         * modules/frexpf-ieee-tests: New file.
3956         * tests/test-frexpf-ieee.c: New file.
3957
3958         New module 'frexpf-ieee'.
3959         * modules/frexpf-ieee: New file.
3960
3961 2012-02-26  Bruno Haible  <bruno@clisp.org>
3962
3963         roundl-ieee tests: More tests.
3964         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
3965         (main): Add tests for [MX] shaded specification in POSIX.
3966         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3967         (Depends-on): Add isnanl-nolibm.
3968
3969         round-ieee tests: More tests.
3970         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
3971         (main): Add tests for [MX] shaded specification in POSIX.
3972         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3973         (Depends-on): Add isnand-nolibm.
3974
3975         roundf-ieee tests: More tests.
3976         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
3977         (main): Add tests for [MX] shaded specification in POSIX.
3978         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3979         (Depends-on): Add isnanf-nolibm.
3980
3981         truncl-ieee tests: More tests.
3982         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
3983         (main): Add tests for [MX] shaded specification in POSIX.
3984         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3985         (Depends-on): Add isnanl-nolibm.
3986
3987         trunc-ieee tests: More tests.
3988         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
3989         (main): Add tests for [MX] shaded specification in POSIX.
3990         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3991         (Depends-on): Add isnand-nolibm.
3992
3993         truncf-ieee tests: More tests.
3994         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
3995         (main): Add tests for [MX] shaded specification in POSIX.
3996         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3997         (Depends-on): Add isnanf-nolibm.
3998
3999         ceill-ieee tests: More tests.
4000         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
4001         (main): Add tests for [MX] shaded specification in POSIX.
4002         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4003         (Depends-on): Add isnanl-nolibm.
4004
4005         ceil-ieee tests: More tests.
4006         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
4007         (main): Add tests for [MX] shaded specification in POSIX.
4008         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4009         (Depends-on): Add isnand-nolibm.
4010
4011         ceilf-ieee tests: More tests.
4012         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
4013         (main): Add tests for [MX] shaded specification in POSIX.
4014         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4015         (Depends-on): Add isnanf-nolibm.
4016
4017         floorl-ieee tests: More tests.
4018         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
4019         (main): Add tests for [MX] shaded specification in POSIX.
4020         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4021         (Depends-on): Add isnanl-nolibm.
4022
4023         floor-ieee tests: More tests.
4024         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
4025         (main): Add tests for [MX] shaded specification in POSIX.
4026         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4027         (Depends-on): Add isnand-nolibm.
4028
4029         floorf-ieee tests: More tests.
4030         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
4031         (main): Add tests for [MX] shaded specification in POSIX.
4032         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4033         (Depends-on): Add isnanf-nolibm.
4034
4035 2012-02-26  Bruno Haible  <bruno@clisp.org>
4036
4037         fpieee: More comments.
4038         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
4039
4040 2012-02-25  Bruno Haible  <bruno@clisp.org>
4041
4042         Tests for module 'log10l'.
4043         * modules/log10l-tests: New file.
4044         * tests/test-log10l.c: New file.
4045         * tests/test-math-c++.cc: Check the declaration of log10l.
4046
4047         New module 'log10l'.
4048         * lib/math.in.h (log10l): New declaration.
4049         * lib/log10l.c: New file.
4050         * m4/log10l.m4: New file.
4051         * modules/log10l: New file.
4052         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
4053         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
4054         HAVE_DECL_LOG10L.
4055         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
4056         HAVE_DECL_LOG10L.
4057         * doc/posix-functions/log10l.texi: Mention the new module.
4058
4059 2012-02-25  Bruno Haible  <bruno@clisp.org>
4060
4061         fmodl, remainder*: Avoid wrong results due to rounding errors.
4062         * lib/fmodl.c (fmodl): Correct the result if it is not within the
4063         expected bounds.
4064         * lib/remainderf.c (remainderf): Likewise.
4065         * lib/remainder.c (remainder): Likewise.
4066         * lib/remainderl.c (remainderl): Likewise.
4067
4068 2012-02-25  Bruno Haible  <bruno@clisp.org>
4069
4070         Tests for module 'remainderl'.
4071         * modules/remainderl-tests: New file.
4072         * tests/test-remainderl.c: New file.
4073         * tests/test-math-c++.cc: Check the declaration of remainderl.
4074
4075         New module 'remainderl'.
4076         * lib/math.in.h (remainderl): New declaration.
4077         * lib/remainderl.c: New file.
4078         * m4/remainderl.m4: New file.
4079         * modules/remainderl: New file.
4080         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
4081         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
4082         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
4083         HAVE_REMAINDERL.
4084         * doc/posix-functions/remainderl.texi: Mention the new module.
4085
4086 2012-02-25  Bruno Haible  <bruno@clisp.org>
4087
4088         Tests for module 'remainderf'.
4089         * modules/remainderf-tests: New file.
4090         * tests/test-remainderf.c: New file.
4091         * tests/test-math-c++.cc: Check the declaration of remainderf.
4092
4093         New module 'remainderf'.
4094         * lib/math.in.h (remainderf): New declaration.
4095         * lib/remainderf.c: New file.
4096         * m4/remainderf.m4: New file.
4097         * modules/remainderf: New file.
4098         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
4099         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
4100         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
4101         HAVE_REMAINDERF.
4102         * doc/posix-functions/remainderf.texi: Mention the new module.
4103
4104 2012-02-25  Bruno Haible  <bruno@clisp.org>
4105
4106         remainder: Support for MSVC.
4107         * lib/math.in.h (remainder): New declaration.
4108         * lib/remainder.c: New file.
4109         * m4/remainder.m4: New file.
4110         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
4111         (Depends-on): Add math, round, fma.
4112         (configure.ac): Use results of gl_FUNC_REMAINDER.
4113         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
4114         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
4115         HAVE_DECL_REMAINDER.
4116         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
4117         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
4118         * tests/test-math-c++.cc: Check the declaration of remainder.
4119         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
4120         problems are fixed.
4121
4122 2012-02-25  Bruno Haible  <bruno@clisp.org>
4123
4124         Tests for module 'fmodl'.
4125         * modules/fmodl-tests: New file.
4126         * tests/test-fmodl.c: New file.
4127         * tests/test-math-c++.cc: Check the declaration of fmodl.
4128
4129         New module 'fmodl'.
4130         * lib/math.in.h (fmodl): New declaration.
4131         * lib/fmodl.c: New file.
4132         * m4/fmodl.m4: New file.
4133         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
4134         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
4135         REPLACE_FMODL.
4136         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
4137         REPLACE_FMODL.
4138         * modules/fmodl: New file.
4139         * doc/posix-functions/fmodl.texi: Mention the new module.
4140
4141 2012-02-25  Bruno Haible  <bruno@clisp.org>
4142
4143         Tests for module 'modfl'.
4144         * modules/modfl-tests: New file.
4145         * tests/test-modfl.c: New file.
4146         * tests/test-math-c++.cc: Check the declaration of modfl.
4147
4148         New module 'modfl'.
4149         * lib/math.in.h (modfl): New declaration.
4150         * lib/modfl.c: New file.
4151         * m4/modfl.m4: New file.
4152         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
4153         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
4154         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
4155         * modules/modfl: New file.
4156         * doc/posix-functions/modfl.texi: Mention the new module.
4157
4158 2012-02-25  Bruno Haible  <bruno@clisp.org>
4159
4160         Tests for module 'fabsl'.
4161         * modules/fabsl-tests: New file.
4162         * tests/test-fabsl.c: New file.
4163         * tests/test-math-c++.cc: Check the declaration of fabsl.
4164
4165         New module 'fabsl'.
4166         * lib/math.in.h (fabsl): New declaration.
4167         * lib/fabsl.c: New file.
4168         * m4/fabsl.m4: New file.
4169         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
4170         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
4171         REPLACE_FABSL.
4172         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
4173         REPLACE_FABSL.
4174         * modules/fabsl: New file.
4175         * doc/posix-functions/fabsl.texi: Mention the new module.
4176
4177 2012-02-25  Bruno Haible  <bruno@clisp.org>
4178
4179         fabs tests: More tests.
4180         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
4181         (zero): New variable.
4182         (main): Add tests for signed zero.
4183         * modules/fabs-tests (Files): Add tests/minus-zero.h.
4184
4185         fabsf tests: More tests.
4186         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
4187         (zero): New variable.
4188         (main): Add tests for signed zero.
4189         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
4190
4191 2012-02-24  Bruno Haible  <bruno@clisp.org>
4192
4193         atanl: Provide function definition on MSVC.
4194         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
4195         function pointer.
4196         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
4197
4198 2012-02-24  Bruno Haible  <bruno@clisp.org>
4199
4200         acosl: Provide function definition on MSVC.
4201         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
4202         function pointer.
4203         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
4204
4205 2012-02-24  Bruno Haible  <bruno@clisp.org>
4206
4207         asinl: Provide function definition on MSVC.
4208         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
4209         function pointer.
4210         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
4211
4212 2012-02-24  Bruno Haible  <bruno@clisp.org>
4213
4214         tanl: Provide function definition on MSVC.
4215         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
4216         function pointer.
4217         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
4218
4219 2012-02-24  Bruno Haible  <bruno@clisp.org>
4220
4221         cosl: Provide function definition on MSVC.
4222         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
4223         function pointer.
4224         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
4225
4226 2012-02-24  Bruno Haible  <bruno@clisp.org>
4227
4228         sinl: Provide function definition on MSVC.
4229         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
4230         function pointer.
4231         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
4232
4233 2012-02-24  Bruno Haible  <bruno@clisp.org>
4234
4235         logl: Provide function definition on MSVC.
4236         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
4237         function pointer.
4238         * lib/math.in.h (logl): Undefine if it does not exist as a function.
4239
4240 2012-02-24  Bruno Haible  <bruno@clisp.org>
4241
4242         expl: Provide function definition on MSVC.
4243         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
4244         function pointer.
4245         * lib/math.in.h (expl): Undefine if it does not exist as a function.
4246
4247 2012-02-24  Bruno Haible  <bruno@clisp.org>
4248
4249         sqrtl: Provide function definition on MSVC.
4250         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
4251         a function pointer.
4252         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
4253
4254 2012-02-24  Bruno Haible  <bruno@clisp.org>
4255
4256         ceill: Provide function definition on MSVC.
4257         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
4258         used as a function pointer.
4259         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
4260
4261 2012-02-24  Bruno Haible  <bruno@clisp.org>
4262
4263         floorl: Provide function definition on MSVC.
4264         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
4265         used as a function pointer.
4266         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
4267
4268 2012-02-24  Bruno Haible  <bruno@clisp.org>
4269
4270         ceilf: Provide function definition on MSVC.
4271         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
4272         used as a function pointer.
4273         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
4274
4275 2012-02-24  Bruno Haible  <bruno@clisp.org>
4276
4277         floorf: Provide function definition on MSVC.
4278         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
4279         used as a function pointer.
4280         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
4281
4282 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
4283
4284         stdnoreturn: new module
4285         This implements a replacement for C11's <stdnoreturn.h>.
4286         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
4287         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
4288         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
4289         * tests/test-stdnoreturn.c: New files.
4290
4291 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
4292
4293         regex: fix false multibyte matches in some regular expressions
4294         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
4295         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
4296         * lib/regex_internal.c (re_string_skip_chars):
4297         Fix miscomputation of remain_len that may cause incomplete
4298         multi-byte character and false match.
4299
4300 2012-02-24  Jim Meyering  <meyering@redhat.com>
4301
4302         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
4303         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
4304         uses with "==" *before* the call, e.g., 0 == strcmp (...)
4305         Remove now-unnecessary str''cmp obfuscation.
4306         Suggested by Akim Demaille.
4307
4308 2012-02-24  Bruno Haible  <bruno@clisp.org>
4309
4310         streq: Rename macro.
4311         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
4312         * NEWS: Mention the change.
4313         * lib/mbrtowc.c (mbrtowc): Update.
4314         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
4315         * lib/wcwidth.c (wcwidth): Update.
4316         Suggested by Akim Demaille and Jim Meyering.
4317
4318 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
4319
4320         regex: fix typo in definition of MIN
4321         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
4322         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
4323
4324 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
4325             Bruno Haible  <bruno@clisp.org>
4326
4327         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
4328         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
4329         entries into a stack-allocated buffer directly.
4330         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
4331
4332 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
4333             Bruno Haible  <bruno@clisp.org>
4334
4335         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
4336
4337          - There were several instances of this pattern:
4338
4339              for (;;) {
4340                n = acl (f, GETACLCNT, 0, NULL);
4341                [ allocate an array A of size N ]
4342                if (acl (f, GETACL, n, a) == n)
4343                  break;
4344              }
4345
4346            This loop might never terminate if some other process is constantly
4347            manipulating the file's ACL.  The loop should be rewritten to
4348            terminate.
4349
4350          - The acl (... GETACLNT ...) call is merely an optimization; its value
4351            is merely a hint as to how big to make the array.  A better
4352            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
4353            and just guess a reasonably-big size, growing the size and trying
4354            again if it's not large enough.  This guarantees termination, and
4355            saves a system call.
4356
4357         * lib/acl-internal.h: Include <limits.h>.
4358         (MIN, SIZE_MAX): New macros.
4359         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
4360         a stack-allocated buffer, and use malloc if it does not fit. Don't
4361         use GETACLCNT.
4362         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
4363
4364 2012-02-19  Bruno Haible  <bruno@clisp.org>
4365
4366         acl: Fix endless loop on Solaris with vxfs.
4367         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
4368         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
4369         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
4370         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
4371         * tests/test-sameacls.c (main)[Solaris]: Likewise.
4372         Reported by Bill Jones in
4373         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
4374
4375 2012-02-19  Bruno Haible  <bruno@clisp.org>
4376
4377         acl: Fix copy-acl test failure on Solaris 11 2011-11.
4378         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
4379         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
4380         that this function returns 0 in some more cases.
4381
4382 2012-02-19  Bruno Haible  <bruno@clisp.org>
4383
4384         acl: Update doc references.
4385         * doc/acl-resources.txt: Update links to Solaris documentation.
4386
4387 2012-02-19  Bruno Haible  <bruno@clisp.org>
4388
4389         Fix test failure in many locales on Solaris 11.
4390         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
4391         'tr' arguments.
4392         * tests/test-pipe-filter-ii1.c (main): Likewise.
4393         * build-aux/bootstrap (check_versions): Run 'tr' command with range
4394         expressions in the C locale.
4395         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
4396         * m4/host-os.m4 (gl_HOST_OS): Likewise.
4397
4398 2012-02-19  Bruno Haible  <bruno@clisp.org>
4399
4400         gnulib-tool: Improve usage message.
4401         * gnulib-tool (func_usage): Move doc of --help and --version to the
4402         section "Operation modes".
4403
4404 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
4405
4406         README-release: make it easier to execute commands
4407         * top/README-release: break commands out on to separate lines.
4408
4409 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
4410
4411         GNUmakefile: simplify detection of unconfigured trees
4412         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
4413         whether the tree make is being run from is already configured or
4414         not.  Related simplifications.
4415
4416 2012-02-13  Simon Josefsson  <simon@josefsson.org>
4417
4418         * gnulib-tool (func_usage): Document --help and --version.
4419
4420 2012-02-11  Jim Meyering  <meyering@redhat.com>
4421
4422         bootstrap: don't exit 0 upon gnulib-tool failure
4423         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
4424         its exit status, not 0.
4425
4426 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
4427
4428         README-release: various improvements
4429         * top/README-release: Give a command to push changes for the
4430         release.  Add "distcheck" to list of other pre-release checks.
4431         Fix instance of "make stable" which should be "make TYPE".
4432
4433 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
4434
4435         maint: replace FSF snail-mail addresses with URLs
4436         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
4437         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
4438         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
4439         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
4440         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
4441         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
4442         * lib/check-version.c, lib/check-version.h, lib/config.charset:
4443         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
4444         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
4445         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
4446         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
4447         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
4448         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
4449         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
4450         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
4451         * lib/glthread/thread.c, lib/glthread/thread.h:
4452         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
4453         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
4454         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
4455         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
4456         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
4457         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
4458         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
4459         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
4460         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
4461         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
4462         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
4463         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
4464         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
4465         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
4466         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
4467         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
4468         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
4469         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
4470         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
4471         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
4472         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
4473         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
4474         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
4475         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
4476         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
4477         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
4478         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
4479         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
4480         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
4481         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
4482         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
4483         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
4484         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
4485         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
4486         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
4487         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
4488         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
4489         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
4490         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
4491         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
4492         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
4493         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
4494         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
4495         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
4496         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
4497         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
4498         * tests/test-poll.c, tests/test-quotearg-simple.c:
4499         * tests/test-quotearg.c, tests/test-quotearg.h:
4500         * tests/test-round-ieee.c, tests/test-round1.c:
4501         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
4502         * tests/test-roundl-ieee.c, tests/test-roundl.c:
4503         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
4504         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
4505         * tests/test-strerror.c, tests/test-strerror_r.c:
4506         * tests/test-strsignal.c, tests/test-strverscmp.c:
4507         * tests/test-xmemdup0.c:
4508         Replace FSF snail mail addresses with URLs, as per GNU coding
4509         standards.  See glibc bug
4510         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
4511
4512 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
4513
4514         README-release: capitalize a word and split a line
4515         * top/README-release: Fix punctuation and spacing.
4516
4517 2012-02-08  Akim Demaille  <demaille@gostai.com>
4518
4519         fatal-signal: use C prototypes (with explicit void).
4520         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
4521         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
4522
4523 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
4524
4525         regex: spelling fix
4526         * lib/regexec.c: spelling fix
4527
4528         regex: rely on stdint.h for SIZE_MAX
4529         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
4530
4531 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
4532
4533         regex: merge glibc changes
4534
4535         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
4536         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
4537         (init_word_char): Work even if bitset words are not exactly 32 or
4538         64 bits wide.  Don't assume there are no padding bits.
4539         * lib/regex.c [_LIBC]: Do not include <config.h>.
4540         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
4541         and -Wtype-limits.
4542         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
4543         needless disagreement with glibc.  All uses changed.  Define it to
4544         1 only if _GNU_SOURCE, to match glibc.
4545         (_REG_RM_NAME): Remove; no longer needed, since the names in
4546         question are now all protected by __USE_GNU.
4547         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
4548         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
4549         * lib/regex_internal.h (MIN): New macro.
4550
4551         2012-01-03 Ulrich Drepper <drepper@gmail.com>
4552         * lib/regcomp.c (init_word_char): Optimize regex a bit.
4553
4554         2011-12-30 Jakub Jelinek <jakub@redhat.com>
4555         * lib/regex_internal.c (re_string_fetch_byte_case):
4556         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
4557         is miscompiled, and it turns out it is because of an incorrect
4558         attribute on re_string_fetch_byte_case.  Unlike
4559         re_string_peek_byte_case, this one is really not pure, it modifies
4560         memory (increments pstr->cur_idx), and with the pure attribute GCC
4561         assumed it doesn't and it cached the presumed value of
4562         regexp->cur_idx in a variable across the
4563          for (;; ++i)
4564            {
4565              if (i >= BRACKET_NAME_BUF_SIZE)
4566                return REG_EBRACK;
4567              if (token->type == OP_OPEN_CHAR_CLASS)
4568                ch = re_string_fetch_byte_case (regexp);
4569              else
4570                ch = re_string_fetch_byte (regexp);
4571              if (re_string_eoi(regexp))
4572                return REG_EBRACK;
4573              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
4574                break;
4575              elem->opr.name[i] = ch;
4576            }
4577
4578         2011-11-29 Andreas Schwab <schwab@redhat.com>
4579         * lib/regcomp.c (build_equiv_class):
4580         Fix access after end of search string in regex matcher.
4581
4582         2011-11-12 Ulrich Drepper <drepper@redhat.com>
4583         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
4584
4585         2011-10-12 Ulrich Drepper <drepper@redhat.com>
4586         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
4587
4588         2011-10-11 Ulrich Drepper <drepper@redhat.com>
4589         * lib/regcomp.c (parse_branch, parse_sub_exp):
4590         More regex memory leak fixes and tests.
4591         (parse_sub_exp, parse_bracket_exp):
4592         Fix memory leak for some invalid regular expressions.
4593
4594         2011-05-28 Ulrich Drepper <drepper@gmail.com>
4595         * lib/regex_internal.c, lib/regexec.c:
4596         Fix unnecessary overallocation due to incomplete character.  When
4597         incomplete characters are found at the end of a string the code
4598         ran amok and allocated lots of memory.  Stricter limits are now in
4599         place.
4600
4601         2011-05-20 Reuben Thomas <rrt@sc3d.org>
4602         * lib/regex.h: Update documentation.
4603
4604         2011-05-16 Aharon Robbins <arnold@skeeve.com>
4605         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
4606
4607         2010-05-05 Andreas Schwab <schwab@redhat.com>
4608         * lib/regexec.c (find_collation_sequence_value):
4609         Fix lookup of collation sequence value during regexp matching.
4610
4611         2010-01-22 Ulrich Drepper <drepper@redhat.com>
4612         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
4613
4614         2008-01-16 Ulrich Drepper <drepper@redhat.com>
4615         * lib/regex.h: Cleanup namespace.
4616
4617         2007-11-26 Ulrich Drepper <drepper@redhat.com>
4618         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
4619
4620         2007-08-26 Ulrich Drepper <drepper@redhat.com>
4621         * lib/regex_internal.h: Prevent some declarations and definitions
4622         to be seen when used in tests.
4623
4624         2005-05-06 Ulrich Drepper <drepper@redhat.com>
4625         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
4626         __libc_lock_* macros if not _LIBC.
4627         (struct re_dfa_t): Add lock.
4628
4629 2012-02-07  Eric Blake  <eblake@redhat.com>
4630
4631         maint.mk: also prohibit lower-case @var@
4632         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
4633         lower case, like @top_srcdir@.
4634
4635 2012-02-04  Eric Blake  <eblake@redhat.com>
4636
4637         canonicalize: avoid uninitialized memory use
4638         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
4639         random '/' left in dest.
4640         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
4641
4642 2012-02-04  Bruno Haible  <bruno@clisp.org>
4643
4644         isatty: Fix test failure of ptsname_r on native Windows.
4645         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
4646         and don't set errno.
4647         (isatty): Test first whether fd is valid. Set errno when returning 0.
4648
4649 2012-02-04  Bruno Haible  <bruno@clisp.org>
4650
4651         spawn-pipe tests: Fix a NULL program name in a diagnostic.
4652         * tests/test-spawn-pipe-main.c: Include progname.h.
4653         (main): Invoke set_program_name.
4654         * modules/spawn-pipe-tests (Depends-on): Add progname.
4655
4656         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
4657         * tests/test-nonblocking-socket-main.c: Include progname.h.
4658         (main): Invoke set_program_name.
4659         * modules/nonblocking-socket-tests (Depends-on): Add progname.
4660
4661         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
4662         * tests/test-nonblocking-pipe-main.c: Include progname.h.
4663         (main): Invoke set_program_name.
4664         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
4665
4666 2012-02-04  Eric Blake  <eblake@redhat.com>
4667
4668         canonicalize-lgpl: fix // handling
4669         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
4670
4671         canonicalize: fix // handling
4672         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
4673         /// to //, since only // is special.
4674
4675 2012-02-04  Bruno Haible  <bruno@clisp.org>
4676
4677         ioctl: Fix test failure on native Windows.
4678         * lib/ioctl.c: Include msvc-nothrow.h.
4679         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
4680
4681 2012-02-04  Bruno Haible  <bruno@clisp.org>
4682
4683         fsync: Avoid test failure on native Windows.
4684         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
4685         read-only.
4686
4687 2012-02-04  Bruno Haible  <bruno@clisp.org>
4688
4689         sys_select: Avoid syntax error on OpenBSD 5.0.
4690         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
4691         currently being included, just include the system's <sys/select.h>.
4692
4693 2012-02-04  Bruno Haible  <bruno@clisp.org>
4694
4695         sys_select: Avoid syntax error on OpenBSD 5.0.
4696         * lib/sys_select.in.h: Include <signal.h> only after the include_next
4697         <sys/select.h>, not before.
4698         Reported by Jiri B <jirib@devio.us>.
4699
4700 2012-02-04  Bruno Haible  <bruno@clisp.org>
4701
4702         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
4703         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
4704         global variables.
4705         * tests/test-get-rusage-data.c (main): Likewise.
4706         Reported by Jim Meyering.
4707
4708 2012-02-04  Bruno Haible  <bruno@clisp.org>
4709
4710         stdioext: Fix last commit.
4711         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
4712
4713 2012-02-03  Bruno Haible  <bruno@clisp.org>
4714
4715         stdioext: Add tentative support for Plan9.
4716         * lib/stdio-impl.h: Include <errno.h>.
4717         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
4718         * lib/freadable.c (freadable): Likewise.
4719         * lib/fwritable.c (fwritable): Likewise.
4720         * lib/fbufmode.c (fbufmode): Likewise.
4721         * lib/freading.c (freading): Likewise.
4722         * lib/fwriting.c (fwriting): Likewise.
4723         * lib/freadptr.c (freadptr): Likewise.
4724         * lib/freadseek.c (freadptrinc): Likewise.
4725         * lib/freadahead.c (freadahead): Likewise.
4726         * lib/fpurge.c (fpurge): Likewise.
4727         * lib/fseeko.c (rpl_fseeko): Likewise.
4728         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
4729         Reported by Jens Staal <staal1978@gmail.com>.
4730
4731 2012-02-02  Jim Meyering  <meyering@redhat.com>
4732
4733         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
4734         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
4735         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
4736         not even to try to add the attribute.  Instead, add a pragma to suppress
4737         the suggestion/warning.
4738
4739 2012-01-31  Karl Berry  <karl@gnu.org>
4740
4741         setstate doc: typo.
4742         * doc/posix-functions/setstate.texi (setstate): { not (.
4743
4744 2012-01-31  Bruno Haible  <bruno@clisp.org>
4745
4746         popen: Make more robust on Windows.
4747         * lib/popen.c: On native Windows, use the _popen based code even if
4748         HAVE_POPEN is set.
4749         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
4750         environment variable on native Windows.
4751
4752 2012-01-30  Bruno Haible  <bruno@clisp.org>
4753
4754         pclose: Fix typo.
4755         * lib/stdio.in.h (pclose): Fix typo in warning message.
4756
4757 2012-01-30  Bruno Haible  <bruno@clisp.org>
4758
4759         doc about getlogin_r, setstate.
4760         * doc/posix-functions/getlogin_r.texi: List the incompatible
4761         declaration problem under "not fixed by gnulib".
4762         * doc/posix-functions/setstate.texi: Mention incompatible declaration
4763         problem on Solaris 11 and other platforms.
4764
4765 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
4766             Bruno Haible  <bruno@clisp.org>
4767
4768         poll tests: Make test more robust.
4769         * tests/test-poll.c: Include macros.h.
4770         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
4771         return value of various I/O operations.
4772         * modules/poll-tests (Files): Add tests/macros.h.
4773
4774 2012-01-30  Bruno Haible  <bruno@clisp.org>
4775
4776         sys_stat: Fix support for mingw64 and MSVC.
4777         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
4778         header files already do it.
4779         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
4780         stat itself.
4781         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
4782
4783 2012-01-30  Bruno Haible  <bruno@clisp.org>
4784
4785         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
4786         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
4787         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
4788
4789 2012-01-29  Bruno Haible  <bruno@clisp.org>
4790
4791         quotearg: Fix test failure on MacOS X 10.5.
4792         * tests/test-quotearg-simple.c: Include localcharset.h.
4793         (main): If the locale encoding is not ASCII, bypass the tests of
4794         locale_quoting_style and clocale_quoting_style.
4795         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
4796
4797 2012-01-29  Jim Meyering  <meyering@redhat.com>
4798
4799         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
4800         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
4801         detect uses of canonicalize_file_name.
4802
4803 2012-01-28  Bruno Haible  <bruno@clisp.org>
4804
4805         test-framework-sh: Fix test failure with AIX 7.1 diff.
4806         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
4807         in column 1, like 'diff -c' does.
4808         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
4809         whether 'diff -u' is used. Instead, test whether the output contains
4810         some '@' character.
4811
4812 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
4813
4814         strtoimax: eliminate need for stdint.h, inttypes.h checks
4815         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
4816         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
4817         the prerequisites for a recently-introduced strtoimax test.
4818         I guess this might cause strtoimax to be replaced when not
4819         strictly necessary on older hosts, but this shouldn't introduce
4820         any bugs and it should make Emacs 'configure' faster on typical
4821         modern hosts.  Problem discovered when importing the latest gnulib
4822         to an Emacs test version.
4823         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
4824
4825 2012-01-28  Bruno Haible  <bruno@clisp.org>
4826
4827         sys_time: Override 'struct timeval' on some native Windows platforms.
4828         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
4829         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
4830         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
4831         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
4832         needs to be overridden.
4833         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
4834         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
4835         * tests/test-sys_select.c: Check that the tv_sec member has the same
4836         size as a 'time_t'.
4837         * tests/test-sys_time.c: Likewise.
4838         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
4839         is set, set also REPLACE_GETTIMEOFDAY.
4840         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
4841         convert the resulting 'struct timeval' before returning.
4842         * lib/select.c: Include <sys/time.h>.
4843         (select, timeval): Undefine at the right place.
4844         * modules/select (Depends-on): Add sys_time.
4845         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
4846         some Windows platforms.
4847         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
4848
4849 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
4850
4851         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
4852         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
4853         an integer.
4854         * lib/fcntl.c (dupfd): Likewise.
4855         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
4856
4857 2012-01-28  Bruno Haible  <bruno@clisp.org>
4858
4859         fcntl: Avoid compilation error on native Windows.
4860         * modules/fcntl (Depends-on): Add 'close'.
4861
4862 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
4863
4864         select, poll, isatty: Avoid warnings on x86_64 mingw64.
4865         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
4866         pointer to an integer.
4867         * lib/poll.c (IsConsoleHandle): Likewise.
4868         * lib/isatty.c (IsConsoleHandle): Likewise.
4869
4870 2012-01-28  Jim Meyering  <meyering@redhat.com>
4871
4872         doc: clarify README-release
4873         * top/README-release: Clarify: you should make a point to have
4874         the latest stable versions of build tools in your PATH, and the
4875         reference to buildreq is solely for its list of tool names, not
4876         for its minimal-functional version numbers.
4877         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
4878
4879         maint.mk: use more readable (yet functionally equivalent) quoting
4880         It is common to quote a single quote in a single quoted string like
4881         this:  '...'\''...'.  Unless you know the idiom, that looks like
4882         gibberish, so prefer to double-quote the string when possible.
4883         Then you can use a more readable, lone single quote: "...'..."
4884         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
4885         "don't" is more readable than the equivalent 'don'\''t'.
4886         (sc_cast_of_x_alloc_return_value): Likewise.
4887         (sc_cast_of_alloca_return_value): Likewise.
4888         (sc_makefile_path_separator_check): Similar: use ":" in '...',
4889         rather than '\'':'\''.
4890
4891 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
4892
4893         stdalign: relax _Alignof and tighten _Alignas test
4894         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
4895         as it was too strict: alignof must divide offsetof, but it need
4896         not equal offsetof.  Inspired by Joseph S. Myers's comment
4897         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
4898         Conversely, tighten the _Alignas test a bit, as the resulting
4899         alignment must be exactly 8.
4900
4901 2012-01-27  Bruno Haible  <bruno@clisp.org>
4902
4903         stdalign: Document the last change.
4904         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
4905
4906 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
4907
4908         stdalign: check that alignof and offsetof are consistent
4909         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
4910         Problem reported for gnulib by Richard W.M. Jones in
4911         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
4912
4913 2012-01-27  Jim Meyering  <meyering@redhat.com>
4914
4915         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
4916         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
4917         convert a sequence with gaps to the minimal containing range.
4918         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
4919         * tests/test-update-copyright.sh: Test for this.
4920         The FSF confirmed it is ok to do this, assuming there is at
4921         least one significant change per year in the affected range:
4922         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
4923
4924 2012-01-26  Bruno Haible  <bruno@clisp.org>
4925
4926         pipe2: refine doc about thread-safety
4927         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
4928         multithread-safety problem.
4929         * doc/glibc-functions/accept4.texi: Likewise.
4930
4931 2012-01-26  Bruno Haible  <bruno@clisp.org>
4932
4933         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
4934         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
4935         In the test program, include <fcntl.h>, for O_RDONLY.
4936
4937 2012-01-26  Eric Blake  <eblake@redhat.com>
4938
4939         pipe2: document lack of thread-safety in replacement
4940         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
4941         issue in replacement.
4942         * doc/glibc-functions/accept4.texi (accept4): Likewise.
4943         Based on a report by Eric Wong.
4944
4945 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
4946             Bruno Haible  <bruno@clisp.org>
4947
4948         malloca: Avoid warnings on x86_64 mingw64.
4949         * lib/malloca.c: Include <stdint.h>.
4950         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
4951         * modules/malloca (Depends-on): Add stdint.
4952         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
4953
4954 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
4955
4956         obstack: remove __STDC__ conditionals
4957         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
4958         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
4959         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
4960         m4/include_next.m4 as the only gnulib-maintained places that still
4961         refer to __STDC__.
4962
4963 2012-01-24  Bruno Haible  <bruno@clisp.org>
4964
4965         havelib: Modern quoting.
4966         * build-aux/config.rpath: Quote 'like this', not `like this', as per
4967         the recent change to the GNU coding standards.
4968
4969 2012-01-24  Bruno Haible  <bruno@clisp.org>
4970
4971         stdint: Improve support for Android.
4972         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
4973         Reported by Simon Josefsson <simon@josefsson.org>.
4974
4975 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
4976
4977         doc: omit trailing empty lines from INSTALL etc.
4978         * doc/Makefile (INSTALL): Omit trailing empty lines.
4979         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
4980         omit trailing empty lines.  This simplifies the build procedure.
4981
4982 2012-01-23  Jim Meyering  <meyering@redhat.com>
4983
4984         tests: avoid spurious warnings about gl_sockets_startup
4985         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
4986         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
4987         reporting a "statement with no effect".
4988         * tests/test-accept.c (main): Mark as "(void)".
4989         * tests/test-accept4.c (main): Likewise.
4990         * tests/test-bind.c (main): Likewise.
4991         * tests/test-connect.c (main): Likewise.
4992         * tests/test-getpeername.c (main): Likewise.
4993         * tests/test-getsockname.c (main): Likewise.
4994         * tests/test-getsockopt.c (main): Likewise.
4995         * tests/test-listen.c (main): Likewise.
4996         * tests/test-recv.c (main): Likewise.
4997         * tests/test-recvfrom.c (main): Likewise.
4998         * tests/test-send.c (main): Likewise.
4999         * tests/test-sendto.c (main): Likewise.
5000         * tests/test-setsockopt.c (main): Likewise.
5001         * tests/test-shutdown.c (main): Likewise.
5002
5003 2012-01-21  Bruno Haible  <bruno@clisp.org>
5004
5005         locale-fr.m4: Fix for Android.
5006         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
5007         failure of the test program on Bionic libc.
5008
5009 2012-01-21  Jim Meyering  <meyering@redhat.com>
5010
5011         bootstrap: fail when bootstrap_post_import_hook fails
5012         Otherwise, it's far too easy to miss diagnostics emitted
5013         between gnulib-tool's output and that of running configure.
5014         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
5015
5016 2012-01-17  Jim Meyering  <meyering@redhat.com>
5017
5018         maint: enable sc_trailing_blank
5019         * build-aux/pmccabe.css: Remove trailing blanks.
5020         * doc/acl-cygwin.txt: Likewise.
5021         * doc/gnu-oids.texi: Likewise
5022         * cfg.mk: Enable sc_trailing_blank.
5023         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
5024
5025 2012-01-17  Jim Meyering  <meyering@redhat.com>
5026
5027         maint: enable sc_prohibit_openat_without_use
5028         * cfg.mk: Enable sc_prohibit_openat_without_use.
5029         Exempt lib/selinux-at.c.
5030
5031 2012-01-17  Jim Meyering  <meyering@redhat.com>
5032
5033         maint: enable sc_prohibit_cloexec_without_use
5034         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
5035         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
5036
5037 2012-01-17  Jim Meyering  <meyering@redhat.com>
5038
5039         maint: enable sc_prohibit_intprops_without_use
5040         * cfg.mk: Enable sc_prohibit_intprops_without_use
5041         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
5042
5043 2012-01-17  Jim Meyering  <meyering@redhat.com>
5044
5045         maint: enable sc_prohibit_hash_pjw_without_use
5046         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
5047         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
5048         to match any use of \<hash_pjw\>, i.e., not necessarily with a
5049         following " (".
5050
5051 2012-01-17  Jim Meyering  <meyering@redhat.com>
5052
5053         maint: enable double-word-prohibiting rule
5054         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
5055         Exempt three files.
5056
5057 2012-01-17  Jim Meyering  <meyering@redhat.com>
5058
5059         maint: remove empty lines at EOF, but excluding modules/*
5060         Apply syntax rules at home as well as abroad.  Most changes
5061         were induced by running this:
5062           make srcdir=. _build-aux=build-aux -f top/maint.mk \
5063             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
5064             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
5065         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
5066         Exempt modules/* and two binary files.
5067         Also exempt doc/INSTALL*, per request from Bruno Haible.
5068         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
5069         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
5070         * doc/Copyright/request-assign.future: Likewise.
5071         * doc/Copyright/request-disclaim.changes: Likewise.
5072         * doc/INSTALL: Likewise.
5073         * doc/INSTALL.ISO: Likewise.
5074         * doc/INSTALL.UTF-8: Likewise.
5075         * doc/acl-cygwin.txt: Likewise.
5076         * doc/acl-resources.txt: Likewise.
5077         * doc/fdl-1.2.texi: Likewise.
5078         * doc/fdl-1.3.texi: Likewise.
5079         * doc/fdl.texi: Likewise.
5080         * lib/argp-pin.c: Likewise.
5081         * lib/round.c: Likewise.
5082         * lib/unicase/u16-totitle.c: Likewise.
5083         * lib/unictype/block_test.c: Likewise.
5084         * lib/uninorm/canonical-decomposition.c: Likewise.
5085         * m4/README: Likewise.
5086         * m4/relocatable-lib.m4: Likewise.
5087         * tests/test-isnand-nolibm.c: Likewise.
5088         * tests/test-isnand.c: Likewise.
5089         * tests/uninorm/NormalizationTest.txt: Likewise.
5090
5091 2012-01-17  Jim Meyering  <meyering@redhat.com>
5092
5093         maint: add framework to run syntax-check rules against gnulib sources
5094         * cfg.mk: New file, to disable all currently-failing tests.
5095         We'll enable them one by one, as they are made to pass.
5096         * Makefile (sc_maint): New rule.
5097
5098 2012-01-21  Bruno Haible  <bruno@clisp.org>
5099
5100         stdint: Add support for Android.
5101         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
5102         include the system's <stdint.h>.
5103         Reported by Simon Josefsson <simon@josefsson.org>.
5104
5105 2012-01-19  Jim Meyering  <meyering@redhat.com>
5106
5107         bootstrap: add bootstrap_post_import_hook
5108         Bison does still need something like the gnulib_mk_hook whose
5109         invocation I had to remove along with slurp in commit 767ccd40.
5110         Technically, we could get along without it, but doing so would
5111         have required living with a warning and a mandatory post-bootstrap
5112         automake rerun.
5113         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
5114         (bootstrap_post_import_hook): New function.
5115         Invoke it after gnulib-tool --import and before autoreconf.
5116
5117 2012-01-18  Jim Meyering  <meyering@redhat.com>
5118
5119         gitlog-to-changelog: don't use "no_"-prefixed variable name
5120         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
5121         to enable both --cluster and --no-cluster.  Change variable name,
5122         s/\$no_cluster/$cluster/, and reverse usage to match.
5123
5124         gitlog-to-changelog: use "||", not "or" in expressions
5125         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
5126         expressions.
5127
5128 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
5129
5130         gitlog-to-changelog: new option --no-cluster
5131         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
5132         clustering of adjacent commit messages.
5133
5134 2012-01-17  Jim Meyering  <meyering@redhat.com>
5135
5136         maint: spell file systems with two words, not one
5137         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
5138         two words, not one.
5139
5140 2012-01-16  Jim Meyering  <meyering@redhat.com>
5141
5142         bootstrap: add a FIXME comment to ensure we eventually remove the hack
5143         * build-aux/bootstrap (gnulib_tool_options): Add comment.
5144
5145 2012-01-16  Eric Blake  <eblake@redhat.com>
5146
5147         bootstrap: cater to autoconf 2.59
5148         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
5149         is not available.
5150
5151         bootstrap: properly check for libtool
5152         * build-aux/bootstrap (libtoolize): Also run libtool when older
5153         usage is detected.
5154
5155 2012-01-15  Bruno Haible  <bruno@clisp.org>
5156
5157         Improve support for MSVC 9.
5158         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
5159         clashes on MSVC.
5160         * lib/fcntl.in.h: Likewise.
5161         * lib/stdlib.in.h: Likewise.
5162         * lib/sys_stat.in.h: Likewise.
5163
5164 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
5165
5166         gnupload: we hold the master copy of this script now
5167         For motivation and more information, see:
5168         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
5169         * build-aux/gnupload: Make it clear in the heading comments that the
5170         master copy of this file is maintained by gnulib.  Since we are at
5171         it, bump its copyright year and ...
5172         ($scriptversion): ... the date in its version.
5173         ($usage): Patches and bug reports should be sent to the gnulib list,
5174         not the automake one.
5175         * config/srclist.txt: Don't try to sync 'gnupload' from automake
5176         anymore.
5177
5178 2012-01-15  Bruno Haible  <bruno@clisp.org>
5179
5180         Fix module 'random'.
5181         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
5182         initstate, setstate are declared.
5183
5184 2012-01-14  Bruno Haible  <bruno@clisp.org>
5185
5186         Tests for module 'random'.
5187         * modules/random-tests: New file.
5188         * tests/test-random.c: New file, based on tests/test-random_r.c.
5189
5190         New module 'random'.
5191         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
5192         declarations.
5193         * lib/random.c: New file, based on glibc/stdlib/random.c.
5194         * m4/random.m4: New file.
5195         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
5196         HAVE_RANDOM.
5197         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
5198         * modules/random: New file.
5199         * config/srclist.txt: Add an entry for random.c.
5200         * doc/posix-functions/random.texi: Mention the 'random' module.
5201         * doc/posix-functions/initstate.texi: Likewise.
5202         * doc/posix-functions/setstate.texi: Likewise.
5203         * doc/posix-functions/srandom.texi: Likewise.
5204
5205 2012-01-12  Bruno Haible  <bruno@clisp.org>
5206
5207         random_r: Use common idioms.
5208         * lib/random_r.c: Include <stdlib.h> first.
5209
5210         random_r: Override incompatible API on AIX, OSF/1.
5211         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
5212         Override the system function if REPLACE_RANDOM_R is 1.
5213         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
5214         and OSF/1, set REPLACE_RANDOM_R.
5215         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
5216         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
5217         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
5218         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
5219         * doc/glibc-functions/random_r.texi: Likewise.
5220         * doc/glibc-functions/setstate_r.texi: Likewise.
5221
5222         random_r: Support for MSVC 9.
5223         * lib/random_r.c: Include stdint.h, not inttypes.h.
5224
5225 2012-01-12  Eric Blake  <eblake@redhat.com>
5226
5227         inet_ntop: guard extra work by IF_LINT
5228         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
5229         better code generation when not checking for warnings.
5230         Suggested by Paul Eggert and Jim Meyering.
5231
5232         strptime: fix regression on mingw
5233         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
5234         Fix regression.  Reported by Bruno Haible.
5235
5236 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
5237             Bruno Haible  <bruno@clisp.org>
5238
5239         copy-file: add error-code-returning variant.
5240         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
5241         (qcopy_file_preserving): New declaration.
5242         * lib/copy-file.c (qcopy_file_preserving): Renamed from
5243         copy_file_preserving. Change return type to 'int'. Don't emit an error
5244         message here.
5245         (copy_file_preserving): New function.
5246         * tests/test-copy-file.c: Include <stdlib.h>.
5247         (main): Test qcopy_file_preserving if the environment variable
5248         NO_STDERR_OUTPUT is set.
5249         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
5250         with NO_STDERR_OUTPUT
5251         * tests/test-copy-file-2.sh: Likewise.
5252
5253 2012-01-10  Bruno Haible  <bruno@clisp.org>
5254
5255         copy-file: Use 'quote' module consistently.
5256         * lib/copy-file.c (copy_file_preserving): Use quote().
5257
5258         copy-file: Refactor.
5259         * lib/copy-file.c: Include quote.h.
5260         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
5261         message here.
5262         * modules/copy-file (Depends-on): Add quote.
5263
5264         acl: Export qcopy_acl.
5265         * lib/acl.h (qcopy_acl): New declaration.
5266         * lib/copy-acl.c (qcopy_acl): Make non-static.
5267
5268         acl: Rename a local variable.
5269         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
5270
5271         acl: Align return values of copy_acl and qcopy_acl.
5272         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
5273         maybe < -1.
5274
5275 2012-01-11  Eric Blake  <eblake@redhat.com>
5276
5277         strptime: silence gcc warnings
5278         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
5279         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
5280         Reported by Daniel P. Berrange.
5281
5282         inet_ntop: silence gcc warning
5283         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
5284         Reported by Daniel P. Berrange.
5285
5286 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
5287
5288         getloadavg test: skip the test on GNU/Linux without /proc mounted
5289         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
5290         file.  When /proc is not mounted, it always fails with ENOENT.
5291         * tests/test-getloadavg.c (main): Treat ENOENT return code from
5292         getloadavg(3) the same way as ENOSYS and ENOTSUP.
5293
5294 2012-01-10  Bruno Haible  <bruno@clisp.org>
5295
5296         regex: Avoid link error on MSVC 9.
5297         * modules/regex (Depends-on): Add wctype.
5298
5299 2012-01-10  Bruno Haible  <bruno@clisp.org>
5300
5301         doc: Mention --with-tests option.
5302         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
5303         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
5304         --with-tests.
5305         Reported by Reuben Thomas.
5306
5307 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
5308
5309         users.txt: order package names lexicographically.
5310         * users.txt: Order package names lexicographically.
5311
5312 2012-01-10  Jim Meyering  <meyering@redhat.com>
5313
5314         maint.mk: fix description in comment
5315         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
5316
5317         ignore-value: remove deprecated ignore_ptr function
5318         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
5319         * NEWS: Note this.
5320
5321 2012-01-09  Jim Meyering  <meyering@redhat.com>
5322
5323         test-init.sh: avoid a subshell
5324         * tests/test-init.sh: Remove protective subshell.
5325         Suggested by Bernhard Voelker.  While a subshell is normally
5326         required to protect against older shells (Solaris, FreeBSD) that
5327         warn about a missing program before performing redirection, the
5328         shell-selection tests performed by init.sh probably exclude any
5329         offending shell.
5330
5331 2012-01-08  Bruno Haible  <bruno@clisp.org>
5332
5333         setlocale tests: Avoid test failure on Solaris 11 2011-11.
5334         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
5335         variable.
5336
5337 2012-01-08  Bruno Haible  <bruno@clisp.org>
5338
5339         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
5340         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
5341         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
5342         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
5343         macro.
5344         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
5345         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
5346         * lib/spawn_faction_addopen.c: Add workaround implementation if
5347         HAVE_WORKING_POSIX_SPAWN.
5348         * modules/spawn (Makefile): Substitute
5349         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
5350         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
5351         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
5352         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
5353         (Depends-on): Update conditions.
5354         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
5355         the Solaris 11 bug.
5356
5357 2012-01-08  Bruno Haible  <bruno@clisp.org>
5358
5359         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
5360         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
5361         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
5362         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
5363         macro.
5364         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
5365         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
5366         * lib/spawn_faction_adddup2.c: Add workaround implementation if
5367         HAVE_WORKING_POSIX_SPAWN.
5368         * modules/spawn (Makefile): Substitute
5369         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
5370         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
5371         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
5372         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
5373         (Depends-on): Update conditions.
5374         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
5375         the Solaris 11 bug.
5376
5377 2012-01-08  Bruno Haible  <bruno@clisp.org>
5378
5379         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
5380         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
5381         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
5382         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
5383         HAVE_WORKING_POSIX_SPAWN.
5384         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
5385         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
5386         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
5387         * lib/spawn_faction_addclose.c: Add workaround implementation if
5388         HAVE_WORKING_POSIX_SPAWN.
5389         * modules/spawn (Makefile): Substitute
5390         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
5391         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
5392         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
5393         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
5394         (Depends-on): Update conditions.
5395         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
5396         the Solaris 11 bug.
5397
5398 2012-01-08  Bruno Haible  <bruno@clisp.org>
5399
5400         doc: Update for Solaris 11 2011-11.
5401         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
5402         * m4/printf.m4: Update comments.
5403
5404 2012-01-08  Bruno Haible  <bruno@clisp.org>
5405
5406         mktime: Avoid compilation error on Solaris 11.
5407         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
5408
5409 2012-01-08  Bruno Haible  <bruno@clisp.org>
5410
5411         doc: Small fix.
5412         * doc/posix-headers/nl_types.texi: Correct platforms list.
5413
5414 2012-01-08  Simon Josefsson  <simon@josefsson.org>
5415
5416         Add lgpl-3.0 module.
5417         * MODULES.html.sh (Support for building documentation): Add
5418         lgpl-3.0.
5419         * modules/lgpl-3.0: New file.
5420
5421 2012-01-08  Jim Meyering  <meyering@redhat.com>
5422
5423         select.c: indent with spaces, not TABs
5424         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
5425
5426 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
5427
5428         quotearg: do not use grave accent for left quote
5429         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
5430         locale_quoting_style.
5431         (quotearg_buffer_restyled): Fix example.
5432         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
5433
5434 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
5435
5436         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
5437         Most programs do not have translation catalogs for English and much
5438         less separate catalogs for British and American English.  Drop the
5439         suggestion to translators about these two, and provide it
5440         automatically for Unicode locales.  Like most programs, even those
5441         using American English, we use single quotation marks.  This conflicts
5442         with the American typographic convention, but works better when you
5443         cite the entire error message within double quotes.  It also tries not
5444         to clash with established practice and with what non-gnulib programs
5445         will usually do.
5446         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
5447         using an UTF-8 or GB-18030 locale.  The list of other locales with
5448         quotes was provided by Bruno Haible.
5449         (quotearg_buffer_restyled): Adjust instructions to translators.
5450         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
5451         text, since this would be wrong when using Unicode.
5452         * modules/quotearg: Depend on c-strcaseeq.
5453
5454 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
5455
5456         quotearg: fix Wikipedia link
5457         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
5458
5459 2012-01-07  Simon Josefsson  <simon@josefsson.org>
5460
5461         Fix for mingw with MSVC9.
5462         * m4/ld-version-script.m4: Check that compiler rejects version
5463         scripts with syntax errors.  Reported by Bruno Haible
5464         <bruno@clisp.org>.
5465
5466 2012-01-06  Bruno Haible  <bruno@clisp.org>
5467
5468         Talk about "native Windows API", not "Woe32".
5469         * lib/accept4.c: Update comments to mention native Windows.
5470         * lib/execute.c: Likewise.
5471         * lib/fatal-signal.c: Likewise.
5472         * lib/localcharset.c: Likewise.
5473         * lib/nanosleep.c: Likewise.
5474         * lib/nl_langinfo.c: Likewise.
5475         * lib/pclose.c: Likewise.
5476         * lib/pipe-filter-gi.c: Likewise.
5477         * lib/pipe-filter-ii.c: Likewise.
5478         * lib/pipe.c: Likewise.
5479         * lib/pipe2.c: Likewise.
5480         * lib/popen.c: Likewise.
5481         * lib/progreloc.c: Likewise.
5482         * lib/relocatable.c: Likewise.
5483         * lib/sigaction.c: Likewise.
5484         * lib/sigprocmask.c: Likewise.
5485         * lib/spawn-pipe.h: Likewise.
5486         * lib/spawn-pipe.c: Likewise.
5487         * lib/spawni.c: Likewise.
5488         * lib/stat-time.h: Likewise.
5489         * lib/w32spawn.h: Likewise.
5490         * tests/test-isatty.c: Likewise.
5491         * lib/config.charset: More comments.
5492         * doc/gnulib-intro.texi: Mention native Windows.
5493         * doc/posix-functions/_Exit_C99.texi: Likewise.
5494         * doc/posix-headers/fcntl.texi: Likewise.
5495
5496 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
5497
5498         argp: Avoid crash if translator uses % characters in a translation.
5499         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
5500         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
5501
5502 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
5503
5504         doc: C11 and C++11 are now official
5505         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
5506         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
5507         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
5508         * modules/stdalign:
5509         Replace references to draft C1X to C11, and to draft C++0X to C++11.
5510
5511 2012-01-06  Bruno Haible  <bruno@clisp.org>
5512
5513         uc-is-grapheme-break tests: Tweak.
5514         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
5515         message.
5516
5517 2012-01-06  Bruno Haible  <bruno@clisp.org>
5518
5519         test-init.sh: correct the test for diff -u
5520         * tests/test-init.sh: Also redirect stdout to /dev/null.
5521
5522 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
5523
5524         Use ', not `, for quoting output.
5525         * build-aux/announce-gen (usage, sizes, print_news_deltas)
5526         (print_changelog_deltas, get_tool_versions, main program):
5527         * build-aux/git-version-gen:
5528         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
5529         * build-aux/move-if-change (help):
5530         * build-aux/useless-if-before-free (usage, main program):
5531         * check-module (parse_module_file, usage)
5532         (find_included_lib_files, check_module):
5533         * lib/argmatch.c (main) [TEST]:
5534         * lib/argp-help.c (_help):
5535         * lib/getopt1.c (main) [TEST]:
5536         * lib/git-merge-changelog.c (usage):
5537         * lib/xstrtol-error.c (xstrtol_error):
5538         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
5539         * m4/argz.m4 (gl_FUNC_ARGZ):
5540         * m4/bison.m4 (gl_BISON):
5541         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
5542         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
5543         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
5544         * m4/fpending.m4 (gl_PREREQ_FPENDING):
5545         * m4/gc-random.m4 (gl_GC_RANDOM):
5546         * m4/intl.m4 (gt_CHECK_DECL):
5547         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
5548         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
5549         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
5550         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
5551         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
5552         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
5553         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
5554         * tests/test-dirname.c (main):
5555         * tests/test-getpass.c (main):
5556         * tests/test-iconvme.c (main):
5557         * tests/test-parse-datetime.c (LOG):
5558         * tests/test-xstrtoimax.sh:
5559         * tests/test-xstrtol.sh:
5560         * tests/test-xstrtoll.sh:
5561         * tests/test-xstrtoumax.sh:
5562         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
5563         * top/GNUmakefile (abort-due-to-no-makefile):
5564         Quote 'like this', not `like this', as per the recent change to
5565         the GNU coding standards.
5566
5567 2012-01-05  Bruno Haible  <bruno@clisp.org>
5568
5569         strtoimax: Don't force a replacement on systems where intmax_t is int.
5570         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
5571         'intmax_t' is not larger than 'int'.
5572         Reported by Pádraig Brady <P@draigBrady.com>.
5573
5574 2012-01-05  Bruno Haible  <bruno@clisp.org>
5575
5576         doc: Mention NetBSD bugs.
5577         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
5578         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
5579
5580 2012-01-05  Bruno Haible  <bruno@clisp.org>
5581
5582         strtoumax tests: Enhance tests.
5583         * tests/test-strtoumax.c (main): Add tests for large values.
5584
5585 2012-01-05  Bruno Haible  <bruno@clisp.org>
5586
5587         strtoimax: Work around AIX 5.1 bug.
5588         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
5589         definition.
5590         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
5591         Set HAVE_STRTOIMAX.
5592         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
5593         REPLACE_STRTOIMAX.
5594         * modules/inttypes-incomplete (Makefile.am): Substitute
5595         REPLACE_STRTOIMAX.
5596         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
5597         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
5598         (Depends-on): Update conditions.
5599         * tests/test-strtoimax.c (main): Add tests for large values.
5600         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
5601
5602 2012-01-05  Bruno Haible  <bruno@clisp.org>
5603
5604         inttypes: Modernize.
5605         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
5606         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
5607         (Makefile.am): Update inttypes.h rule.
5608
5609 2012-01-05  Jim Meyering  <meyering@redhat.com>
5610
5611         init.sh: don't waste a subshell just to redirect stderr
5612         * tests/init.sh: In testing for diff -u and diff -c, use a
5613         stderr-redirecting exec inside `...` rather than a subshell.
5614
5615         test-init.sh: avoid failure on HP-UX 11.00
5616         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
5617         resolves to diff -c or cmp.  Reported by Bruno Haible.
5618
5619 2012-01-05  Bruno Haible  <bruno@clisp.org>
5620
5621         Tests for module 'strtoull'.
5622         * modules/strtoull-tests: New file.
5623         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
5624
5625 2012-01-05  Bruno Haible  <bruno@clisp.org>
5626
5627         Tests for module 'strtoll'.
5628         * modules/strtoll-tests: New file.
5629         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
5630
5631 2012-01-05  Bruno Haible  <bruno@clisp.org>
5632
5633         Tests for module 'strtoul'.
5634         * modules/strtoul-tests: New file.
5635         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
5636
5637 2012-01-05  Bruno Haible  <bruno@clisp.org>
5638
5639         Tests for module 'strtol'.
5640         * modules/strtol-tests: New file.
5641         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
5642
5643 2012-01-04  Jim Meyering  <meyering@redhat.com>
5644
5645         test-init.sh: accommodate Solaris 5.10's different diff -u output
5646         * tests/test-init.sh: Also exempt @@ lines from the comparison
5647         of diff output, since Solaris 5.10 and GNU diff formats differ.
5648         Reported by Stefano Lattarini.
5649
5650 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
5651
5652         test-posixtm: don't assume signed integer wraparound
5653         * tests/test-posixtm.c (main): Don't assume wraparound semantics
5654         after signed integer overflow.  Inspired by (though it may not
5655         fix) Bruno Haible's bug report in
5656         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
5657
5658         Spell out "Windows 9x" and "Windows XP".
5659         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
5660         "Windows 9x" and "WinXP" with "Windows XP".
5661
5662 2012-01-04  Jim Meyering  <meyering@redhat.com>
5663
5664         test-vc-list-files-cvs.sh: remove obsolete comment
5665         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
5666         double exit.  Now that's all encapsulated via skip_ and Exit.
5667
5668 2012-01-04  Bruno Haible  <bruno@clisp.org>
5669
5670         Talk about "native Windows API", not "Win32".
5671         * lib/classpath.c: Update comments to mention native Windows.
5672         * lib/csharpexec.c: Likewise.
5673         * lib/dup2.c: Likewise.
5674         * lib/error.c: Likewise.
5675         * lib/fcntl.c: Likewise.
5676         * lib/filename.h: Likewise.
5677         * lib/findprog.c: Likewise.
5678         * lib/get-rusage-as.c: Likewise.
5679         * lib/get-rusage-data.c: Likewise.
5680         * lib/getpagesize.c: Likewise.
5681         * lib/javaexec.c: Likewise.
5682         * lib/msvc-inval.c: Likewise.
5683         * lib/msvc-nothrow.c: Likewise.
5684         * lib/nanosleep.c: Likewise.
5685         * lib/nonblocking.c: Likewise.
5686         * lib/printf-parse.c: Likewise.
5687         * lib/setlocale.c: Likewise.
5688         * lib/sigaction.c: Likewise.
5689         * lib/strerror_r.c: Likewise.
5690         * lib/tmpdir.c: Likewise.
5691         * lib/vasnprintf.c: Likewise.
5692         * lib/w32spawn.h: Likewise.
5693         * lib/waitpid.c: Likewise.
5694         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
5695         * m4/locale-ar.m4: Likewise.
5696         * m4/locale-fr.m4: Likewise.
5697         * m4/locale-ja.m4: Likewise.
5698         * m4/locale-tr.m4: Likewise.
5699         * m4/locale-zh.m4: Likewise.
5700         * m4/printf.m4: Likewise.
5701         * tests/test-cloexec.c: Likewise.
5702         * tests/test-copy-acl.sh: Likewise.
5703         * tests/test-copy-file.sh: Likewise.
5704         * tests/test-file-has-acl.sh: Likewise.
5705         * tests/test-set-mode-acl.sh: Likewise.
5706         * tests/test-dup-safer.c: Likewise.
5707         * tests/test-dup2.c: Likewise.
5708         * tests/test-dup3.c: Likewise.
5709         * tests/test-fcntl.c: Likewise.
5710         * tests/test-nonblocking-pipe.h: Likewise.
5711         * tests/test-nonblocking-socket.h: Likewise.
5712         * tests/test-pipe.c: Likewise.
5713         * tests/test-pipe2.c: Likewise.
5714         * tests/test-spawn-pipe-child.c: Likewise.
5715         * doc/acl-resources.txt: Likewise.
5716         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
5717         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
5718         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
5719         * lib/localcharset.c: Update comments to mention native Windows.
5720         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
5721         * lib/localename.c: Likewise.
5722         * lib/progreloc.c: Likewise.
5723         * lib/relocatable.c: Likewise.
5724         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
5725         (windows_compute_revents): Renamed from win32_compute_revents.
5726         (windows_compute_revents_socket): Renamed from
5727         win32_compute_revents_socket.
5728         * lib/select.c: Update comments to mention native Windows.
5729         (windows_poll_handle): Renamed from win32_poll_handle.
5730         * m4/threadlib.m4: Update comments to mention native Windows.
5731         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
5732         --enable-threads=windows instead of --enable-threads=win32. Set
5733         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
5734         * lib/glthread/lock.h: Update comments to mention native Windows.
5735         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
5736         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
5737         USE_WIN32_THREADS.
5738         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
5739         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
5740         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
5741         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
5742         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
5743         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
5744         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
5745         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
5746         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
5747         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
5748         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
5749         * tests/test-tls.c: Likewise.
5750         Rationale:
5751         Microsoft renamed the "Win32 API" to "Windows API", as it is available
5752         on both 32-bit and 64-bit Windows systems.
5753         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
5754         line of distinction is between "native Windows" on one side and Unix/
5755         POSIX systems on the other side. More details in
5756         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
5757         Suggested by Paul Eggert.
5758
5759 2012-01-03  Bruno Haible  <bruno@clisp.org>
5760
5761         isatty: Support for MSVC 9.
5762         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
5763         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
5764         (_isatty_nothrow): New function.
5765         (isatty): Use it instead of _isatty.
5766         (IsConsoleHandle): Add comment, from Paolo Bonzini.
5767         * lib/poll.c (IsConsoleHandle): Likewise.
5768         * lib/select.c (IsConsoleHandle): Likewise.
5769         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
5770         (gl_PREREQ_ISATTY): New macro.
5771         * modules/isatty (Depends-on): Add msvc-inval.
5772         (configure.ac): Invoke gl_PREREQ_ISATTY.
5773
5774 2012-01-03  Jim Meyering  <meyering@redhat.com>
5775
5776         maint.mk: remove temporary transition aid from over 1.5 years ago
5777         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
5778         purpose was to aid in the transition (avoiding silent malfunction)
5779         from that old name to the new _sc_search_regexp.  This shim was
5780         added by commit 219c504b.
5781
5782         init.sh: do not try to accommodate compare arguments starting with "-"
5783         * tests/init.sh (compare_dev_null_): Do not try to accommodate
5784         compare arguments that start with "-".  Besides, we do not worry
5785         about this when invoking diff or cmp; why start now with sed?
5786         Using "--" to separate options from argument would trigger sed
5787         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
5788         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
5789
5790 2012-01-02  Bruno Haible  <bruno@clisp.org>
5791
5792         Enhance tests for module 'isatty'.
5793         * modules/isatty-tests (Depends-on): Add pipe-posix.
5794         * tests/test-isatty.c: Include <fcntl.h>.
5795         (DEV_NULL): New macro.
5796         (main): Test the resut of isatty() also on regular files, pipes, and
5797         /dev/null.
5798
5799         New module 'isatty'.
5800         * lib/unistd.in.h (isatty): New declaration.
5801         * lib/isatty.c: New file, based on an idea of
5802         Bastien Roucariès <roucaries.bastien@gmail.com>.
5803         * m4/isatty.m4: New file.
5804         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
5805         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
5806         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
5807         REPLACE_ISATTY.
5808         * modules/isatty: New file.
5809         * doc/posix-functions/isatty.texi: Mention the new module.
5810         Suggested by Paolo Bonzini.
5811
5812 2012-01-02  Bruno Haible  <bruno@clisp.org>
5813
5814         canonicalize: Tweak 2011-12-29 commit.
5815         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
5816         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
5817
5818 2012-01-02  Jim Meyering  <meyering@redhat.com>
5819
5820         gitlog-to-changelog: describe input syntax in --help output
5821         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
5822
5823         gitlog-to-changelog: fix typo in --help: show backslash before email @
5824         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
5825         in sources, but not in actual output.
5826
5827 2011-12-30  Jim Meyering  <meyering@redhat.com>
5828
5829         gitlog-to-changelog: don't malfunction when name contains %-directive
5830         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
5831         in a name string cause trouble.  E.g., with a user name of "%s",
5832         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
5833
5834 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
5835
5836         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
5837         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
5838         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
5839         the "  (tiny change)" notation that is appended to the standard
5840         ChangeLog "date  name  email" header line.
5841
5842 2012-01-01  Jim Meyering  <meyering@redhat.com>
5843
5844         test-framework-sh: init.sh: fix "make dist" failure
5845         When using gnulib-tool's --with-tests option and any module that
5846         depends on test-framework-sh, "make dist" would fail due to the
5847         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
5848         in the gltests directory, and not in the gllib/ directory.
5849         One way to work around that is to move the EXTRA_DIST += init.sh
5850         from the primary module to the -tests one:
5851         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
5852         * modules/test-framework-sh (Makefile.am): ...not here.
5853         Reported by Tom G. Christensen in
5854         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
5855
5856         version-etc: update copyright year reported by --version
5857         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
5858
5859 2011-12-31  Pádraig Brady  <P@draigBrady.com>
5860
5861         canonicalize: only stat() if required
5862         * lib/canonicalize.c (canonicalize_filename_mode):
5863         Avoid calling l?stat() when both CAN_MISSING,
5864         and CAN_NOLINKS are set, as we neither need
5865         to resolve symlinks or test component existence.
5866
5867 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
5868
5869         doc: cover st_ino issues once; add OpenVMS etc.
5870         * doc/posix-functions/stat.texi (stat):
5871         * doc/posix-functions/lstat.texi (lstat):
5872         * doc/posix-functions/fstatat.texi (fstatat):
5873         * doc/posix-functions/fstat.texi (fstat):
5874         Move general 'struct stat' stuff to sys_stat.texi,
5875         leaving behind a pointer.
5876         * doc/posix-headers/sys_stat.texi (sys/stat.h):
5877         Merge duplicate info about 'struct stat' problems into here.
5878         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
5879         and suggest partial workarounds.
5880
5881         same-inode: port to OpenVMS
5882         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
5883         three st_ino values.
5884
5885 2011-12-30  Pádraig Brady  <P@draigBrady.com>
5886
5887         canonicalize: fix references to stat() and lstat()
5888         * lib/canonicalize.c (canonicalize_filename_mode):
5889         Ensure references always resolve to a replacement
5890         function if required (even via a macro).
5891
5892 2011-12-30  Jim Meyering  <meyering@redhat.com>
5893
5894         gitlog-to-changelog: remove a little duplication
5895         * build-aux/gitlog-to-changelog (main): Grep @lines once,
5896         rather than twice.
5897
5898 2011-12-29  Pádraig Brady  <P@draigBrady.com>
5899
5900         canonicalize: add support for not resolving symlinks
5901         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
5902         indicate we don't want to follow symlinks.  Also
5903         provide CAN_MODE_MASK to aid setting these existing
5904         mutually exclusive values.
5905         * lib/canonicalize.c (canonicalize_filename_mode):
5906         Extract the flags from can_mode parameter, which
5907         are currently just used to select between stat()
5908         and lstat().  Also ensure that mutually exclusive
5909         values are flagged immediately as invalid.
5910         * tests/test-canonicalize.c: Verify symlinks are
5911         not followed, and that invalid flag combinations
5912         are diagnosed.
5913
5914 2011-12-25  Jim Meyering  <meyering@redhat.com>
5915
5916         gitlog-to-changelog: do not clump multi-paragraph entries
5917         Identical header lines (date,name,email+coauthors) are suppressed,
5918         thus putting all entries with those same characteristics under
5919         a single header.  However, when a log entry consists of two or
5920         more paragraphs, it may not be clear where it starts and ends.
5921         This change makes it so that such an entry is always separated
5922         from others by a header line, even when that header would
5923         otherwise be suppressed.
5924         * build-aux/gitlog-to-changelog: Implement the above.
5925         Inspired by a related request from Stefano Lattarini in
5926         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
5927
5928 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
5929
5930         announce-gen: fix `cmd' typo in diagnostic
5931         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
5932         diagnostic: a missing '$' meant that the command was not output.
5933
5934 2011-12-23  Jim Meyering  <meyering@redhat.com>
5935
5936         test-framework-sh: distribute init.sh
5937         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
5938         Otherwise, "make -C gnulib-tests check" (at least in grep) would
5939         fail due to the lack of init.sh.
5940
5941         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
5942         * modules/atexit-tests: Rather than listing tests/init.sh,
5943         now that there's a module for it, simply depend on that new module.
5944         * modules/closein-tests: Likewise.
5945         * modules/exclude-tests: Likewise.
5946         * modules/getcwd-tests: Likewise.
5947         * modules/perror-tests: Likewise.
5948         * modules/pread-tests: Likewise.
5949         * modules/pwrite-tests: Likewise.
5950         * modules/vc-list-files-tests: Likewise.
5951         * modules/verify-tests: Likewise.
5952         * modules/xalloc-die-tests: Likewise.
5953         * modules/xstrtoimax-tests: Likewise.
5954         * modules/xstrtol-tests: Likewise.
5955         * modules/xstrtoll-tests: Likewise.
5956         * modules/xstrtoumax-tests: Likewise.
5957         * modules/yesno-tests: Likewise.
5958
5959 2011-12-22  Jim Meyering  <meyering@redhat.com>
5960
5961         test-framework-sh: add minimal tests of init.sh's compare function
5962         * modules/test-framework-sh-tests: New file.
5963         * tests/test-init.sh: New file.
5964
5965         test-framework-sh: new module
5966         * modules/test-framework-sh: New file.
5967         * MODULES.html.sh (Support for maintaining and releasing projects):
5968         List it.
5969
5970         init.sh: do not emit simulated diff output to stderr
5971         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
5972
5973 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
5974
5975         .gitignore: ignore gnulib.dvi and regex.info
5976         * doc/.gitignore:add gnulib.dvi and regex.info
5977
5978 2011-12-22  Jim Meyering  <meyering@redhat.com>
5979
5980         init.sh: correct previous change
5981         * tests/init.sh (compare): My previous change was wrong.
5982         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
5983
5984         init.sh: avoid unwarranted test failure when using "set -e"
5985         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
5986         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
5987         a use like "compare exp out" would get evoke an unconditional failure.
5988
5989 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
5990
5991         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
5992         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
5993         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
5994         autoreconf that did not.
5995         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
5996         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
5997
5998 2011-12-17  Jim Meyering  <meyering@redhat.com>
5999
6000         bootstrap: remove some now-unneeded code
6001         This script arose back when gnulib-tool was young.
6002         Since then, it has seen improvements that render much of this
6003         script unnecessary.  In particular, it can now make symlinks
6004         to the files it uses.  Also, I no longer see as much value in
6005         marking files as read-only via comments.
6006         If you relied on the symlink-creation feature of the preceding
6007         version of this script, you can get most of that functionality
6008         by adding the --symlink option to the definition of
6009         gnulib_tool_option_extras in your bootstrap.conf file.
6010         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
6011         Run autopoint and libtoolize *before* gnulib-tool.
6012         After it, run an abbreviated autoreconf, rather than a loop around
6013         all tools.
6014         (slirp, bt_mark_as_generated): Remove functions.
6015
6016 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
6017
6018         ftoastr: fix typo
6019         * lib/ftoastr.h: Fix misspelling in comment.
6020
6021 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
6022
6023         * top/README-release: fix punctuation.
6024
6025 2011-12-17  Jim Meyering  <meyering@redhat.com>
6026
6027         bootstrap: correct the recent buildreq change
6028         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
6029         had no effect.
6030         * build-aux/bootstrap (buildreq): Bracket each search term with
6031         "*...*", so that the shell "case" statement works as intended.
6032         Add comments.
6033
6034 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
6035
6036         build: let bootstrap resort to wget when downloading .po files
6037         * build-aux/bootstrap (download_po_files): Fallback to wget when
6038         downloading the .po files via rsync fails.  This is necessary to
6039         bootstrap from behind a strict firewall.
6040
6041 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
6042
6043         stdint: don't assume C++11 when compiling with g++
6044         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
6045         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
6046         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
6047         work also in C++ before C++11, as that improperly inhibits
6048         generating a substitute stdint.h for that case.
6049
6050 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
6051
6052         alloca: protect comment from gnulib-tool
6053         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
6054         that gnulib-tool doesn't think it's a license, and munge it to
6055         say "GCC version 3".
6056
6057 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
6058
6059         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
6060         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
6061         $(abs_top_builddir) instead of $(top_builddir).
6062
6063 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
6064
6065         strftime-tests: also test nanoseconds
6066         * tests/test-strftime.c (T): Add a test of %N.
6067
6068 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
6069
6070         inttypes, stdint: add C++11 support
6071         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
6072         when including inttypes.h and stdint.h.  Support this change to
6073         the standard.
6074         * doc/posix-headers/inttypes.texi (inttypes.h):
6075         * doc/posix-headers/stdint.texi (stdint.h): Document this.
6076         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
6077         Define if not defined already, for the benefit of pre-C++11 hosts.
6078         Define the standard format macros (e.g., PRId8) always.
6079         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
6080         Likewise, if __cpluspus.  Define the standard constant and limit
6081         macros (e.g., INT8_C, INT8_MAX) always.
6082         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
6083         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
6084         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
6085         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
6086         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
6087         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
6088         Likewise.
6089
6090 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
6091
6092         nonblocking tests: Fix test failure on Linux/PPC.
6093         Suggested by Prerna Saxena in
6094         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
6095         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
6096         Set to 1100000.
6097
6098 2011-12-12  Jim Meyering  <meyering@redhat.com>
6099
6100         argmatch: don't hard-code `' when listing valid option arguments
6101         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
6102         use the quote function to add quotes.  Use fputs rather than
6103         fprintf for the format string with no format directive.
6104
6105 2011-12-07  Eric Blake  <eblake@redhat.com>
6106
6107         bootstrap: detect tools required by gnulib-tool
6108         * build-aux/bootstrap (buildreq): Provide minimum implicit
6109         dependencies.
6110         * DEPENDENCIES: Mention patch as a prereq.
6111
6112 2011-12-04  Bruno Haible  <bruno@clisp.org>
6113
6114         sethostname: Port to Windows platforms.
6115         * lib/sethostname.c: Provide an alternate implementation for Windows
6116         platforms.
6117         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
6118         (main): Skip the test if sethostname() fails with EPERM. On Windows
6119         platforms, don't check the result of gethostname().
6120
6121 2011-12-04  Bruno Haible  <bruno@clisp.org>
6122             Jim Meyering  <meyering@redhat.com>
6123
6124         tests: Avoid spurious error message on platforms without mktemp program.
6125         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
6126
6127 2011-12-04  Bruno Haible  <bruno@clisp.org>
6128
6129         sethostname: Fix documentation.
6130         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
6131         "not fixed" section.
6132
6133 2011-12-03  Bruno Haible  <bruno@clisp.org>
6134
6135         gnulib-tool: Verify that the License field is present and non-empty.
6136         * gnulib-tool (func_get_license_raw): New function, extracted from
6137         func_get_license.
6138         (func_get_license): Use it. Warn if the module is not a test module and
6139         has no license.
6140         Suggested by Jim Meyering.
6141
6142 2011-12-03  Bruno Haible  <bruno@clisp.org>
6143
6144         sethostname tests: Fix link error on mingw.
6145         * tests/test-sethostname1.c: New file, extracted from
6146         tests/test-sethostname.c.
6147         * tests/test-sethostname2.c: New file, extracted from
6148         tests/test-sethostname.c.
6149         * tests/test-sethostname.c: Remove file.
6150         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
6151         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
6152         (Depends-on): Add gethostname.
6153         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
6154         Link the latter with $(GETHOSTNAME_LIB).
6155
6156         sethostname tests: Fix compilation error on mingw.
6157         * tests/test-sethostname.c: Don't include <sys/types.h>.
6158         (geteuid): Use a dummy value without uid_t.
6159         * modules/sethostname-tests (Depends-on): Remove sys_types.
6160
6161         sethostname tests: Avoid a gcc warning.
6162         * tests/test-sethostname.c (main): Remove an unused variable.
6163
6164         Tweak last commit.
6165         * modules/sethostname-tests (Files): Sort by decreasing importance.
6166         (configure.ac): Check for geteuid.
6167         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
6168         the test when there's nothing to test. Drop an unnecessary cast.
6169         Improve an error message. Verify that the final sethostname() call
6170         succeeds.
6171
6172 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
6173
6174         Add a test suite for the sethostname module.
6175         * modules/sethostname-tests: New file.  A test program
6176         for the sethostname module.
6177         * tests/test-sethostname.c: Likewise.
6178
6179 2011-12-03  Bruno Haible  <bruno@clisp.org>
6180
6181         Tweak last commit.
6182         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
6183         Fix preprocessor directives indentation. Fix typos.
6184         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
6185         * modules/unistd (Makefile): Likewise.
6186
6187 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
6188
6189         Integrate the sethostname module into unistd.
6190         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
6191         into the unistd.h header.
6192         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
6193         preprocessor directives.
6194         * modules/unistd: Setup the Makefile substitutions of the
6195         SETHOSTNAME preprocessor directives.
6196
6197 2011-12-03  Bruno Haible  <bruno@clisp.org>
6198
6199         Tweak last commit.
6200         * lib/sethostname.c: Don't include <string.h>.
6201         (sethostname): No need to copy the argument string to the stack. Don't
6202         call clearerr. Preserve errno when fprintf failed.
6203         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
6204         Don't invoke AC_REPLACE_FUNCS.
6205         * modules/sethostname (Link): Remove empty section.
6206         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
6207         failure problem.
6208
6209 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
6210
6211         New module 'sethostname'.
6212         * lib/sethostname.c (sethostname): New file.  Provide sethostname
6213         for systems that lack it.
6214         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
6215         sethostname declaration and function.
6216         * modules/sethostname: New file.  Define the sethostname module.
6217
6218 2011-12-03  Bruno Haible  <bruno@clisp.org>
6219
6220         Tweak last commit.
6221         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
6222
6223 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
6224
6225         Split the HOST_NAME_MAX detection into a separate m4 macro.
6226         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
6227         macro so it can be used by the pending sethostname module.
6228
6229 2011-12-03  Bruno Haible  <bruno@clisp.org>
6230
6231         Fix module descriptions syntax.
6232         * modules/argv-iter (License): Fix syntax.
6233         * modules/di-set (License): Likewise.
6234         * modules/ino-map (License): Likewise.
6235         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
6236
6237 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
6238
6239         stdalign: port to Clang 3.0
6240         Problem reported by Simon Josefsson in
6241         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
6242         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
6243         which has <stdalign.h> but which does not define alignof.
6244         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
6245
6246 2011-12-01  Eric Blake  <eblake@redhat.com>
6247
6248         mktempd: silence dd usage
6249         * build-aux/mktempd (rand_bytes): Silence dd.
6250
6251 2011-11-30  Simon Josefsson  <simon@josefsson.org>
6252
6253         manywarnings: Don't mention gcc version in docstring.
6254         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
6255         Jim Meyering <meyering@redhat.com>.
6256
6257 2011-11-30  Jim Meyering  <meyering@redhat.com>
6258
6259         hash: mark a few floating point constants with "f" suffix
6260         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
6261         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
6262         floating point constants with "f", since they're destined to be
6263         saved/used as "float"s.
6264
6265 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
6266
6267         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
6268         * tests/test-float.c (test_long_double): Correct and re-enable the
6269         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
6270
6271 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
6272
6273         Avoid subtracting two pointers that don't point into the same block.
6274         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
6275         only pointers into the same memory block are subtracted. We cannot
6276         assume that sizeof (ptrdiff_t) == sizeof (void *).
6277
6278 2011-11-29  Eric Blake  <eblake@redhat.com>
6279
6280         maint.mk: add syntax check for use of compare from init.sh
6281         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
6282         moved here from coreutils.
6283
6284         manywarnings: drop -Wunsuffixed-float-constants
6285         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
6286         '1.0D', which is the only way to silence this warning for 'double'.
6287
6288 2011-11-29  Jim Meyering  <meyering@redhat.com>
6289
6290         hash: mark compute_bucket_size with the pure attribute
6291         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
6292
6293         quotearg, propername: correct pragma guard expression
6294         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
6295         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
6296
6297 2011-11-28  Jim Meyering  <meyering@redhat.com>
6298
6299         propername: do not mark proper_name with the const attribute
6300         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
6301         since it examines data pointed to by its parameter.
6302         * lib/propername.c (proper_name): Instead, add a pragma to suppress
6303         the suggestion from -Wsuggest-attribute=const.
6304
6305         propername: mark one more function as const
6306         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
6307
6308 2011-11-27  Jim Meyering  <meyering@redhat.com>
6309
6310         mark functions with const and pure attributes
6311
6312         Mark functions per suggestions from gcc-4.6 when using these options:
6313         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
6314         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
6315         Follow these guidelines: when possible, apply the attribute to
6316         an extern declaration, not to its definition.  Apply it to the
6317         definition only when the definition is static.
6318         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
6319         * lib/argv-iter.h (argv_iter_n_args): Likewise.
6320         * lib/base64.h (isbase64): Likewise.
6321         * lib/basename-lgpl.c (last_component, base_len): Likewise.
6322         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
6323         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
6324         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
6325         (c_tolower, c_toupper): Likewise.
6326         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
6327         * lib/chdir-long.c (find_non_slash): Likewise.
6328         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
6329         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
6330         * lib/file-type.h (file_type): Likewise.
6331         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
6332         * lib/filevercmp.c (verrevcmp): Likewise.
6333         * lib/freadahead.h (freadahead): Likewise.
6334         * lib/fts.c (fts_maxarglen): Likewise.
6335         * lib/hash-pjw.h (hash_pjw): Likewise.
6336         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
6337         * lib/hash.c (is_prime, next_prime): Likewise.
6338         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
6339         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
6340         (hash_table_ok, hash_get_first, hash_string): Likewise.
6341         (compute_bucket_size): Likewise.
6342         * lib/i-ring.h (i_ring_empty): Likewise.
6343         * lib/isnan.c (isnanl): Likewise.
6344         * lib/math.h (isnanl, rpl_isnanl): Likewise.
6345         * lib/memcasecmp.h (memcasecmp): Likewise.
6346         * lib/memchr2.h (memchr2): Likewise.
6347         * lib/memcmp2.h (memcmp2): Likewise.
6348         * lib/parse-datetime.y (lookup_zone): Likewise.
6349         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
6350         [!WINDOWS_SOCKETS]: Likewise.
6351         * lib/strnlen1.h (strnlen1): Likewise.
6352         * lib/uniwidth.in.h (uc_width): Likewise.
6353         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
6354         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
6355         (quoting_options_from_style): Add a comment.
6356         * lib/propername.h (proper_name): Add a comment.
6357
6358 2011-11-27  Bruno Haible  <bruno@clisp.org>
6359
6360         Remove unused macros from !_LIBC code in glibc-borrowed files.
6361         * lib/fnmatch.c (STRCOLL): Remove macro.
6362         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
6363         * lib/glob.c (__stat, __readdir64): Remove macros.
6364         * lib/tempname.c (__open64, __xstat64): Remove macros.
6365         Suggested by Paul Eggert.
6366
6367 2011-11-27  Bruno Haible  <bruno@clisp.org>
6368
6369         getcwd: Fix link error on MSVC 9.
6370         * modules/getcwd (Depends-on): Add readdir, rewinddir.
6371
6372 2011-11-27  Bruno Haible  <bruno@clisp.org>
6373
6374         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
6375         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
6376         HAVE_OPENDIR is 0.
6377         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
6378         HAVE_CLOSEDIR is 0.
6379         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
6380         is 0.
6381         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
6382
6383 2011-11-27  Bruno Haible  <bruno@clisp.org>
6384
6385         getcwd: Fix bug from 2011-08-17.
6386         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
6387         platforms that need it.
6388         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
6389         code of 4 to be a failure, not a success. This ensures that
6390         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
6391
6392 2011-11-27  Bruno Haible  <bruno@clisp.org>
6393
6394         binary-io tests: Avoid test failure on mingw when libtool is used.
6395         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
6396         Don't verify the size of t-bin-out1.tmp here.
6397         * tests/test-binary-io.sh: Verify it here.
6398         Reported by Simon Josefsson.
6399
6400 2011-11-26  Bruno Haible  <bruno@clisp.org>
6401
6402         Fix conflict between two instantiations of module 'unistd'.
6403         * gnulib-tool (func_emit_autoconf_snippet): Substitute
6404         ${include_guard_prefix} also in the autoconf snippet.
6405         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
6406         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
6407         GNULIB_UNISTD_H_GETOPT.
6408         * modules/getopt-posix (configure.ac): Set the
6409         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
6410         * modules/getopt-gnu (configure.ac): Likewise.
6411         * modules/unistd (Makefile.am): Change the substitution value of
6412         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
6413         Reported by Simon Josefsson.
6414
6415 2011-11-25  Bruno Haible  <bruno@clisp.org>
6416
6417         pagealign_alloc: Doc and comments.
6418         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
6419         module.
6420         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
6421
6422 2011-11-25  Jim Meyering  <meyering@redhat.com>
6423
6424         test-update-copyright.sh: avoid false-positive failure
6425         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
6426         around false positive failure on Cygwin/Windows.  The latter was
6427         matching erroneously-created files with names like
6428         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
6429
6430 2011-11-25  Simon Josefsson  <simon@josefsson.org>
6431
6432         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
6433         * m4/valgrind-tests.m4: Check that the parameters that will be
6434         used works, not just a subset of them.  Reported by Bruno Haible
6435         <bruno@clisp.org>.
6436
6437 2011-11-24  Jim Meyering  <meyering@redhat.com>
6438
6439         test-stdalign.c: comment out long double tests
6440         * tests/test-stdalign.c: Don't try to reduce alignment of long double
6441         variables.  That provokes errors like this from gcc-4.7.0 20111124:
6442         error: '_Alignas' specifiers cannot reduce alignment of \
6443         'static_longdouble_alignas'.
6444
6445 2011-11-22  Jim Meyering  <meyering@redhat.com>
6446
6447         init.sh: make "compare /dev/null FILE" output more readable
6448         * tests/init.sh (compare_): Document the preferred order of arguments.
6449         (emit_diff_u_header_): New function.
6450         (compare_dev_null_): Emit a simulated diff, rather than just the
6451         contents of the unexpected file.  Suggestion from Bruno Haible.
6452
6453 2011-11-21  Jim Meyering  <meyering@redhat.com>
6454             Eric Blake  <eblake@redhat.com>
6455
6456         init.sh: work around OSF/1 5.1's mishandling of /dev/null
6457         * tests/init.sh: Make our compare function slightly more portable.
6458         Reported by Bruno Haible in
6459         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
6460
6461 2011-11-21  Simon Josefsson  <simon@josefsson.org>
6462
6463         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
6464         before using it, in code that ends up in config.h.
6465
6466 2011-11-20  Bruno Haible  <bruno@clisp.org>
6467
6468         getcwd: Work around getcwd bug on AIX 5..7.
6469         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
6470         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
6471         Use a different value for gl_cv_func_getcwd_path_max. Move the
6472         definition of HAVE_PARTLY_WORKING_GETCWD from here...
6473         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
6474         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
6475         Define HAVE_MINIMALLY_WORKING_GETCWD.
6476         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
6477         where it is not even minimally working, that is, on AIX.
6478         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
6479         m4/getcwd-path-max.m4.
6480         (main): Update exit code computation.
6481         * doc/posix-functions/getcwd.texi: Mention list of platforms where
6482         getcwd does not handle long file names.
6483
6484 2011-11-20  Bruno Haible  <bruno@clisp.org>
6485
6486         getcwd: Fix bug from 2009-09-10.
6487         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
6488         like "no".
6489
6490 2011-11-20  Simon Josefsson  <simon@josefsson.org>
6491
6492         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
6493
6494 2011-11-20  Bruno Haible  <bruno@clisp.org>
6495
6496         fma tests: Avoid shadowing local variables.
6497         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
6498         expected.
6499
6500 2011-11-20  Bruno Haible  <bruno@clisp.org>
6501
6502         copysignf tests: Fix.
6503         * tests/test-copysignf.c: Fix signature check.
6504
6505 2011-11-20  Bruno Haible  <bruno@clisp.org>
6506
6507         fma: Remove unused code.
6508         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
6509         unused macros.
6510
6511 2011-11-20  Bruno Haible  <bruno@clisp.org>
6512
6513         sethostname: Fix doc about AIX.
6514         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
6515         sethostname; it has it.
6516
6517         sethostname: Mention more portability problems.
6518         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
6519         problem.
6520         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
6521
6522 2011-11-19  Bruno Haible  <bruno@clisp.org>
6523
6524         Depend on module fcntl-h when AT_FDCWD is used.
6525         * modules/utimens (Depends-on): Add fcntl-h.
6526         * modules/areadlinkat (Depends-on): Likewise.
6527         * modules/areadlinkat-with-size (Depends-on): Likewise.
6528         * modules/faccessat (Depends-on): Likewise.
6529         * modules/fchmodat (Depends-on): Likewise.
6530         * modules/fchownat (Depends-on): Likewise.
6531         * modules/getcwd (Depends-on): Likewise.
6532         * modules/mkdirat (Depends-on): Likewise.
6533         * modules/mkfifoat (Depends-on): Likewise.
6534         * modules/readlinkat (Depends-on): Likewise.
6535         * modules/symlinkat (Depends-on): Likewise.
6536         * modules/dup2-tests (Depends-on): Likewise.
6537         * modules/fdutimensat-tests (Depends-on): Likewise.
6538         * modules/futimens-tests (Depends-on): Likewise.
6539
6540 2011-11-19  Bruno Haible  <bruno@clisp.org>
6541
6542         euidaccess: Update a comment.
6543         * lib/euidaccess.c: Update comment about platforms with faccessat.
6544
6545 2011-11-19  Bruno Haible  <bruno@clisp.org>
6546
6547         openat: Fix file list.
6548         * modules/openat (Files): Remove lib/at-func.c.
6549
6550 2011-11-19  Bruno Haible  <bruno@clisp.org>
6551
6552         fstatat: Simplify.
6553         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
6554         gnulib should define rpl_fstatat, there is a
6555         "#define fstatat rpl_fstatat" in <sys/stat.h>.
6556
6557 2011-11-19  Bruno Haible  <bruno@clisp.org>
6558
6559         Ensure 'inline' can be used in tests/test-utimens-common.h.
6560         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
6561         * modules/futimens-tests (configure.ac): Likewise.
6562         * modules/utimens-tests (configure.ac): Likewise.
6563         * modules/utimensat-tests (configure.ac): Likewise.
6564
6565 2011-11-19  Simon Josefsson  <simon@josefsson.org>
6566
6567         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
6568         not hash_insert0.
6569         (hash_insert_if_absent): Doc fix.
6570
6571 2011-11-19  Simon Josefsson  <simon@josefsson.org>
6572
6573         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
6574
6575 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
6576
6577         test-getcwd: disambiguate exit status
6578         * tests/test-getcwd.c (test_long_name): Return 0..7.
6579         (main): Exit with an unambiguous exit status.  The old
6580         code yielded a mysterious mixture of two failure codes.
6581
6582         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
6583         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
6584         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
6585         rpl_fstatat or fstatat.  This should fix the other problem
6586         reported by Kai Habel in
6587         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
6588         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
6589         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
6590         and I reproduced it on a Solaris 8 host we still have in production.
6591
6592 2011-11-18  Jim Meyering  <meyering@redhat.com>
6593
6594         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
6595         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
6596         Add a sentence to the comment.
6597         (hash_insert0): New function that simply calls hash_insert_if_absent.
6598         * lib/hash.h (hash_insert_if_absent): Declare it.
6599         (hash_insert0): Add deprecation attribute.
6600         (_GL_ATTRIBUTE_DEPRECATED): Define.
6601         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
6602         not hash_insert0.
6603         * NEWS: Mention it, even though it's not really an incompatible change.
6604
6605 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
6606
6607         openat: avoid compilation failure due to lack of <errno.h> inclusion
6608         * lib/openat.c: Include <errno.h>.
6609
6610 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
6611
6612         * modules/getcwd (Depends-on): Add fdopendir.
6613         This fixes one of the two problems reported by Kai Habel in
6614         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
6615
6616         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
6617         stdalign problem reported by Ian Beckwith in
6618         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
6619         * modules/crypto/gc-arcfour (Depends-on):
6620         Depend conditionally on crypto/arcfour.
6621         * modules/crypto/gc-arctwo (Depends-on):
6622         Depend conditionally on crypto/arctwo.
6623         * modules/crypto/gc-des (Depends-on):
6624         Depend conditionally on crypto/des.
6625         * modules/crypto/gc-hmac-md5 (Depends-on):
6626         Depend conditionally on crypto/hmac-md5.
6627         * modules/crypto/gc-hmac-sha1 (Depends-on):
6628         Depend conditionally on crypto/hmac-sha1.
6629         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
6630         * modules/crypto/gc-md4 (Depends-on):
6631         Depend conditionally on crypto/md4.
6632         * modules/crypto/gc-md5 (Depends-on):
6633         Depend conditionally on crypto/md5.
6634         * modules/crypto/gc-rijndael (Depends-on):
6635         Depend conditionally on crypto/rijndael.
6636         * modules/crypto/gc-sha1 (Depends-on):
6637         Depend conditionally on crypto/sha1.
6638         * modules/crypto/gc-arcfour:
6639         * modules/crypto/gc-arctwo:
6640         * modules/crypto/gc-des:
6641         * modules/crypto/gc-hmac-md5:
6642         * modules/crypto/gc-hmac-sha1:
6643         * modules/crypto/gc-md2:
6644         * modules/crypto/gc-md4:
6645         * modules/crypto/gc-md5:
6646         * modules/crypto/gc-rijndael:
6647         * modules/crypto/gc-sha1:
6648         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
6649         now that the conditional dependencies do the work for us.
6650
6651 2011-11-17  Jim Meyering  <meyering@redhat.com>
6652
6653         tests: factor st_ctime-comparison out of two headers
6654         * tests/test-utimens-common.h (ctime_compare): Define.
6655         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
6656         * tests/test-lutimens.h (test_lutimens): Likewise.
6657         * tests/test-utimens.h (test_utimens): Likewise.
6658
6659         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
6660         Invoke the test program via an init.sh-using wrapper.
6661         * tests/test-getcwd.sh: New file.
6662         * modules/getcwd-tests (Files): Add it.
6663         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
6664
6665 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
6666
6667         gitlog-to-changelog: support multi-author commits.
6668         The FSF cares about keeping track of all authors of patches to its
6669         projects, but Git doesn't provide obvious support for multi-author
6670         changesets. Consensus seems to be forming around the use of extra
6671         Signed-off-by inspired lines in the log message formatted as
6672         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
6673         multi-author commits between version control systems.
6674         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
6675         log message and output in standard ChangeLog multi-author format.
6676         Reported by Peter Rosin <peda@lysator.liu.se>
6677
6678 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
6679             Bruno Haible  <bruno@clisp.org>
6680
6681         Fix some modules' file list.
6682         * modules/fstatat (Files): Add m4/lstat.m4.
6683         * modules/openat (Files): Likewise.
6684         * modules/unlinkat (Files): Likewise.
6685
6686 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
6687
6688         maint.mk: fix tight-scope.mk generation in VPATH builds.
6689         * top/maint.mk (tight-scope.mk): Make sure to prefix file
6690         reference with $(srcdir) so that the file is found correctly even
6691         when running `make syntax-check' in a VPATH build.
6692
6693 2011-11-13  Bruno Haible  <bruno@clisp.org>
6694             Jim Meyering  <meyering@redhat.com>
6695
6696         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
6697         * tests/init.sh (compare): Remove "No differences encountered" or
6698         synonymous output from the 'diff' program.
6699
6700 2011-11-13  Bruno Haible  <bruno@clisp.org>
6701
6702         Makefile: Tweak indentation.
6703         * Makefile: Use tab as first character in every line that contains rule
6704         commands.
6705
6706 2011-11-13  Bruno Haible  <bruno@clisp.org>
6707
6708         Syntax check for copyright statements.
6709         * check-copyright: New file.
6710         * Makefile (sc_check_copyright): New rule.
6711
6712 2011-11-13  Simon Josefsson  <simon@josefsson.org>
6713
6714         * build-aux/git-version-gen: Add --prefix to configure the tag
6715         match string.
6716
6717 2011-11-13  Simon Josefsson  <simon@josefsson.org>
6718
6719         * build-aux/git-version-gen: Add --help and --version.
6720
6721 2011-11-12  Jim Meyering  <meyering@redhat.com>
6722
6723         revamp the other test-exclude?.sh scripts to use init.sh, too
6724         * tests/test-exclude1.sh: Use init.sh.
6725         * tests/test-exclude2.sh: Likewise.
6726         * tests/test-exclude3.sh: Likewise.
6727         * tests/test-exclude4.sh: Likewise.
6728         * tests/test-exclude5.sh: Likewise.
6729         * tests/test-exclude6.sh: Likewise.
6730         * tests/test-exclude7.sh: Likewise.
6731         * tests/test-exclude8.sh: Likewise.
6732         * modules/exclude-tests (Files): List init.sh.
6733
6734         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
6735         These shell scripts ignored failure of the binary test-exclude,
6736         so making the latter return 77 didn't cause them to be skipped.
6737         * tests/test-exclude5.sh: Exit with test-exclude's error status
6738         when that program fails.  Revamp to use init.sh.
6739         * tests/test-exclude2.sh: Likewise.
6740
6741         test-exclude: fix a typo
6742         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
6743
6744 2011-11-11  Bruno Haible  <bruno@clisp.org>
6745
6746         obstack: Fix compilation error on MSVC 9.
6747         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
6748
6749 2011-11-11  Jim Meyering  <meyering@redhat.com>
6750
6751         test-exclude: skip tests rather than failing on deficient systems
6752         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
6753         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
6754         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
6755         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
6756
6757 2011-11-10  Bruno Haible  <bruno@clisp.org>
6758
6759         ptsname_r test: Avoid gcc warning on glibc systems.
6760         * tests/test-ptsname_r.c (null_ptr): New function.
6761         (test_errors): Use it.
6762
6763 2011-11-10  Bruno Haible  <bruno@clisp.org>
6764
6765         ptsname_r: Avoid compilation error on OSF/1 5.1.
6766         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
6767         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
6768         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
6769         function is not declared or incompatibly declared.
6770         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
6771         * modules/ptsname_r (Depends-on, configure.ac): Update.
6772         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
6773
6774 2011-11-10  Bruno Haible  <bruno@clisp.org>
6775
6776         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
6777         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
6778         When cross-compiling, guess yes on all platforms except AIX.
6779         Reported by Ludovic Courtès <ludo@gnu.org>.
6780
6781 2011-11-09  Bruno Haible  <bruno@clisp.org>
6782
6783         ptsname_r tests: Fix bugs.
6784         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
6785         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
6786
6787 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
6788
6789         fstatat: work with cross-compilation
6790         Problem reported by Ludovic Courtès in
6791         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
6792         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
6793         "cross-compiling" and assume the bug is present.  Replace
6794         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
6795         an inverted sense, to be more conservative about our assumptions.
6796         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
6797
6798 2011-11-09  Bruno Haible  <bruno@clisp.org>
6799
6800         Improve MODULES.html output.
6801         * modules/mkfifoat (Description): Use the word "function".
6802         * modules/readlinkat (Description): Likewise.
6803         * modules/symlinkat (Description): Likewise.
6804
6805 2011-11-09  Eric Blake  <eblake@redhat.com>
6806
6807         ptsname_r-tests: new test module
6808         * modules/ptsname_r-tests: New module.
6809         * tests/test-ptsname_r.c: New file.
6810
6811         ptsname_r: new module
6812         * modules/ptsname_r: New module.
6813         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
6814         * lib/ptsname.c (__ptsname_r): Split...
6815         * lib/ptsname_r.c: ...into new file.
6816         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
6817         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
6818         * modules/stdlib (Makefile.am): Substitute witnesses.
6819         * lib/stdlib.in.h (ptsname_r): Declare it.
6820         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
6821         * MODULES.html.sh (Misc): Likewise.
6822         * modules/ptsname (Depends-on): Alter dependency.
6823         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
6824
6825 2011-11-09  Jim Meyering  <meyering@redhat.com>
6826
6827         announce-gen: be more concise when there's only one URL+tarball
6828         * build-aux/announce-gen (get_tool_versions): When you distribute
6829         only one type of tarball, combine the first two "Here are..."
6830         sections and make the key-checking grammar independent of
6831         how many tarballs there are.
6832
6833 2011-11-09  Eric Blake  <eblake@redhat.com>
6834
6835         openpty: provide a stub on mingw
6836         * lib/pty.in.h (includes): Provide forward declarations.
6837         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
6838
6839         raise: fix mingw handling of SIGPIPE
6840         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
6841
6842 2011-11-08  Bruno Haible  <bruno@clisp.org>
6843
6844         More conditional dependencies.
6845         * modules/faccessat (Depends-on): Add conditions.
6846         * modules/fchmodat (Depends-on): Likewise.
6847         * modules/fchownat (Depends-on): Likewise.
6848         * modules/fstatat (Depends-on): Likewise.
6849         * modules/mkfifoat (Depends-on): Likewise.
6850         * modules/readlinkat (Depends-on): Likewise.
6851         * modules/symlinkat (Depends-on): Likewise.
6852         * modules/unlinkat (Depends-on): Likewise.
6853         * modules/utimensat (Depends-on): Likewise.
6854         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
6855         * modules/linkat (Depends-on): Refine the conditions.
6856         * modules/renameat (Depends-on): Likewise.
6857
6858 2011-11-08  Bruno Haible  <bruno@clisp.org>
6859
6860         faccessat: Move AC_LIBOBJ invocation to module description.
6861         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
6862         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
6863         invocation from here...
6864         * modules/faccessat (configure.ac): ... to here. Invoke
6865         gl_PREREQ_FACCESSAT.
6866
6867 2011-11-08  Bruno Haible  <bruno@clisp.org>
6868
6869         faccessat: Simplify autoconf macro.
6870         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
6871         gl_FUNC_EUIDACCESS.
6872
6873 2011-11-08  Bruno Haible  <bruno@clisp.org>
6874
6875         renameat: Fix dependencies.
6876         * modules/renameat (Depends-on): Add stdbool.
6877
6878 2011-11-08  Bruno Haible  <bruno@clisp.org>
6879
6880         mkfifoat: Fix module description.
6881         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
6882         not gl_UNISTD_MODULE_INDICATOR.
6883
6884 2011-11-08  Bruno Haible  <bruno@clisp.org>
6885
6886         fstatat: Remove unused dependency.
6887         * modules/fstatat (Depends-on): Remove fstat.
6888
6889 2011-11-08  Simon Josefsson  <simon@josefsson.org>
6890
6891         GNUmakefile: behave when Makefile is missing.
6892         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
6893
6894 2011-11-08  Bruno Haible  <bruno@clisp.org>
6895
6896         openat: Conditionalize dependencies.
6897         * lib/openat.c: Reduce the scope of some #includes.
6898         * modules/openat (Depends-on): Add conditions.
6899
6900 2011-11-07  Jim Meyering  <meyering@redhat.com>
6901
6902         maint.mk: extract GPG key ID without using a temporary file
6903         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
6904         without using a temporary file.  Based on a suggestion from Werner Koch
6905         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
6906
6907 2011-11-07  Eric Blake  <eblake@redhat.com>
6908
6909         grantpt: fix typo
6910         * lib/stdlib.in.h (grantpt): Check correct function.
6911
6912         maint.mk: silence new syntax check
6913         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
6914
6915 2011-11-06  Bruno Haible  <bruno@clisp.org>
6916
6917         Doc about floating-point and math API.
6918         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
6919         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
6920
6921 2011-11-06  Bruno Haible  <bruno@clisp.org>
6922
6923         stdalign tests: Skip the test when compiled by Sun C.
6924         * tests/test-stdalign.c (main): Skip the test on Sun C.
6925
6926 2011-11-06  Bruno Haible  <bruno@clisp.org>
6927
6928         ansi-c++-opt: Complete the 2011-06-05 change.
6929         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
6930         does not support namespaces, set the variable to "no", not to ":".
6931
6932 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
6933
6934         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
6935
6936 2011-11-06  Bruno Haible  <bruno@clisp.org>
6937
6938         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
6939         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
6940         (minus_zerol) [HP-UX]: New macro.
6941         (unary_minus) [HP-UX]: New function.
6942         (copysignl) [HP-UX]: Use unary_minus function.
6943
6944 2011-11-06  Bruno Haible  <bruno@clisp.org>
6945
6946         ldexp, ldexpf, ldexpl: Enhance tests.
6947         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
6948         and tests/test-ldexpl.c.
6949         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
6950         LDEXP, MIN_EXP, MAX_EXP): New macros.
6951         Include test-ldexp.h.
6952         (main): Just call test_function.
6953         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
6954         infinity.h, nan.h.
6955         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
6956         MAX_EXP): New macros.
6957         Include test-ldexp.h.
6958         (x, y): Remove variables.
6959         (main): Just call test_function.
6960         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
6961         infinity.h, nan.h.
6962         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
6963         MAX_EXP): New macros.
6964         Include test-ldexp.h.
6965         (x, y): Remove variables.
6966         (main): Just call test_function.
6967         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
6968         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
6969         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
6970         (Depends-on): Add isnand-nolibm, signbit, float.
6971         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
6972         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
6973         (Depends-on): Add isnanf-nolibm, signbit, float.
6974
6975 2011-11-06  Bruno Haible  <bruno@clisp.org>
6976
6977         math tests: Cosmetics.
6978         * tests/test-math-c++.cc: Reorder declarations.
6979
6980 2011-11-05  Bruno Haible  <bruno@clisp.org>
6981
6982         fma*: Simplify test.
6983         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
6984         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
6985
6986         Tests for module 'fmal'.
6987         * modules/fmal-tests: New file.
6988         * tests/test-fmal1.c: New file.
6989         * tests/test-fmal2.c: New file.
6990
6991         New module 'fmal'.
6992         * lib/math.in.h (fmal): New declaration.
6993         * lib/fmal.c: New file.
6994         * m4/fmal.m4: New file.
6995         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
6996         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
6997         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
6998         REPLACE_FMAL.
6999         * modules/fmal: New file.
7000         * doc/posix-functions/fmal.texi: Mention the new module and the various
7001         bugs.
7002
7003         Tests for module 'fmaf'.
7004         * modules/fmaf-tests: New file.
7005         * tests/test-fmaf1.c: New file.
7006         * tests/test-fmaf2.c: New file.
7007
7008         New module 'fmaf'.
7009         * lib/math.in.h (fmaf): New declaration.
7010         * lib/fmaf.c: New file.
7011         * m4/fmaf.m4: New file.
7012         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
7013         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
7014         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
7015         REPLACE_FMAF.
7016         * modules/fmaf: New file.
7017         * doc/posix-functions/fmaf.texi: Mention the new module and the various
7018         bugs.
7019
7020         Tests for module 'fma'.
7021         * modules/fma-tests: New file.
7022         * tests/test-fma1.c: New file.
7023         * tests/test-fma1.h: New file.
7024         * tests/test-fma2.c: New file.
7025         * tests/test-fma2.h: New file.
7026
7027         New module 'fma'.
7028         * lib/math.in.h (fma): New declaration.
7029         * lib/fma.c: New file.
7030         * m4/fma.m4: New file.
7031         * m4/fegetround.m4: New file.
7032         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
7033         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
7034         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
7035         REPLACE_FMA.
7036         * modules/fma: New file.
7037         * doc/posix-functions/fma.texi: Mention the new module and the various
7038         bugs.
7039
7040         Extend gl_MATHFUNC.
7041         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
7042         Support 'void' as argument type.
7043         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
7044
7045 2011-11-05  Jim Meyering  <meyering@redhat.com>
7046
7047         maint.mk: also prohibit inclusion of dirent.h without use
7048         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
7049
7050 2011-11-05  Bruno Haible  <bruno@clisp.org>
7051
7052         ldexpl tests: Avoid test failure on MSVC 9.
7053         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
7054         value. Needed in order to enforce the conversion from a value greater
7055         than LDBL_MAX to Infinity.
7056
7057 2011-11-05  Bruno Haible  <bruno@clisp.org>
7058
7059         New modules 'at-internal', 'openat-h', split off from module 'openat'.
7060         * modules/at-internal: New file, extracted from modules/openat.
7061         * modules/openat-h: New file.
7062         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
7063         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
7064         * modules/openat (Description): Add reference to POSIX function.
7065         (Files): Remove lib/openat.h, lib/openat-proc.c.
7066         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
7067         intprops, unistd.
7068         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
7069         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
7070         gl_FCNTL_MODULE_INDICATOR.
7071         (Include): Remove unistd.h, openat.h.
7072         * modules/areadlinkat (Files): Add lib/at-func.c.
7073         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
7074         openat-die, openat-h, save-cwd.
7075         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
7076         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
7077         openat-die, openat-h, save-cwd, unistd.
7078         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
7079         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
7080         openat-h, save-cwd. Remove fcntl-h, openat.
7081         * modules/fchmodat (Files): Remove lib/openat.h.
7082         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
7083         openat, stdbool, unistd.
7084         * modules/fchownat (Files): Remove lib/openat.h.
7085         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
7086         openat, stdbool, sys_stat.
7087         * modules/fdopendir (Files): Remove lib/openat-priv.h,
7088         lib/openat-proc.c.
7089         (Depends-on): Add at-internal.
7090         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
7091         * modules/fstatat (Files): Remove lib/openat.h.
7092         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
7093         stdbool, unistd.
7094         * modules/fts (Depends-on): Add openat-h.
7095         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
7096         openat.
7097         * modules/mkdirat (Files): Remove lib/openat.h.
7098         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
7099         openat, stdbool, sys_stat.
7100         * modules/mkfifoat (Files): Add lib/at-func.c.
7101         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
7102         openat-h, save-cwd. Remove fcntl-h, openat.
7103         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
7104         * modules/readlinkat (Files): Add lib/at-func.c.
7105         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
7106         openat-h, save-cwd. Remove fcntl-h, openat.
7107         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
7108         openat.
7109         * modules/selinux-at (Files): Add lib/at-func.c.
7110         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
7111         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
7112         * modules/symlinkat (Files): Add lib/at-func.c.
7113         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
7114         openat-h, save-cwd. Remove fcntl-h, openat.
7115         * modules/unlinkat (Files): Remove lib/openat.h.
7116         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
7117         stdbool.
7118         * modules/utimensat (Files): Add lib/at-func.c.
7119         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
7120         openat-die, openat-h, save-cwd.
7121         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
7122         * modules/fdutimensat-tests (Depends-on): Add openat.
7123         * modules/fstatat-tests (Depends-on): Add openat-h.
7124         * modules/readlinkat-tests (Depends-on): Add openat.
7125         * modules/symlinkat-tests (Depends-on): Add openat.
7126
7127 2011-11-05  Bruno Haible  <bruno@clisp.org>
7128
7129         openat: Include <stdbool.h>.
7130         * lib/openat.c: Include <stdbool.h>.
7131
7132 2011-11-04  Bruno Haible  <bruno@clisp.org>
7133
7134         fchownat, renameat, unlinkat: Fix dependencies.
7135         * modules/fchownat (Depends-on): Add fstatat.
7136         * modules/renameat (Depends-on): Likewise.
7137         * modules/unlinkat (Depends-on): Likewise.
7138
7139 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
7140
7141         openat: remove direct dependency on dirent
7142         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
7143         and hasn't been needed ever since fdopendir was split into its own
7144         module on 2009-08-31.
7145         * modules/openat (Depends-on): Remove dirent.
7146
7147 2011-11-04  Bruno Haible  <bruno@clisp.org>
7148
7149         renameat: Optimize code size.
7150         * modules/renameat (configure.ac): Don't compile at-func2.c if
7151         REPLACE_RENAMEAT is 1.
7152
7153 2011-11-04  Bruno Haible  <bruno@clisp.org>
7154
7155         openat tests: Fix file list.
7156         * modules/openat-tests (Files): Add tests/test-open.h.
7157
7158 2011-11-04  Bruno Haible  <bruno@clisp.org>
7159
7160         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
7161         * modules/fchmodat (Depends-on): Add openat-die.
7162         * modules/fchownat (Depends-on): Likewise.
7163         * modules/linkat (Depends-on): Likewise.
7164         * modules/renameat (Depends-on): Likewise.
7165         * modules/openat (Depends-on): Add dirent.
7166
7167 2011-11-04  Jim Meyering  <meyering@redhat.com>
7168
7169         at-func*.c: fix comments
7170         * lib/at-func2.c: Correct/improve first-line comment.
7171         * lib/at-func.c: Correct grammar in first-line comment.
7172
7173 2011-11-04  Bruno Haible  <bruno@clisp.org>
7174
7175         New module 'mkdirat', split off from module 'openat'.
7176         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
7177         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
7178         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
7179         * modules/mkdirat: New file, extracted from modules/openat.
7180         * modules/openat (Files): Remove lib/mkdirat.c.
7181         (Depends-on): Remove mkdir.
7182         (configure.ac): Remove AC_LIBOBJ of mkdirat.
7183         (Include): Remove <sys/stat.h>.
7184         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
7185         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
7186         tests/test-mkdir.h.
7187         (Depends-on): Remove ignore-value.
7188         (Makefile.am): Remove rules for test-mkdirat.
7189         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
7190         of module 'openat'.
7191         * NEWS: Mention the change.
7192
7193 2011-11-04  Bruno Haible  <bruno@clisp.org>
7194
7195         closedir: Avoid warning on mingw.
7196         * lib/closedir.c: Include <unistd.h>.
7197
7198 2011-11-04  Bruno Haible  <bruno@clisp.org>
7199
7200         New module 'fstatat', split off from module 'openat'.
7201         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
7202         defined.
7203         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
7204         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
7205         gl_FUNC_FSTATAT.
7206         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
7207         * modules/fstatat: New file, extracted from modules/openat.
7208         * modules/openat (Files): Remove lib/fstatat.c.
7209         (Depends-on): Remove lstat.
7210         (configure.ac): Remove AC_LIBOBJ of fstatat.
7211         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
7212         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
7213         tests/test-lstat.h, tests/test-stat.h.
7214         (Depends-on): Remove getcwd-lgpl.
7215         (Makefile.am): Remove rules for test-fstatat.
7216         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
7217         of module 'openat'.
7218         * NEWS: Mention the change.
7219         * modules/getcwd (Depends-on): Add fstatat.
7220         * modules/linkat (Depends-on): Likewise.
7221         * modules/mkfifoat-tests (Depends-on): Likewise.
7222         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
7223
7224 2011-11-03  Bruno Haible  <bruno@clisp.org>
7225
7226         New module 'unlinkat', split off from module 'openat'.
7227         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
7228         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
7229         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
7230         * modules/unlinkat: New file, extracted from modules/openat. Correct
7231         the dependency conditions.
7232         * modules/openat (Files): Remove lib/unlinkat.c.
7233         (Depends-on): Remove rmdir, unlink.
7234         (configure.ac): Remove AC_LIBOBJ of unlinkat.
7235         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
7236         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
7237         tests/test-rmdir.h, tests/test-unlink.h.
7238         (Depends-on): Remove unlinkdir.
7239         (Makefile.am): Remove rules for test-unlinkat.
7240         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
7241         of module 'openat'.
7242         * NEWS: Mention the change.
7243         * modules/linkat-tests (Depends-on): Add unlinkat.
7244         * modules/mkfifoat-tests (Depends-on): Likewise.
7245         * modules/readlinkat-tests (Depends-on): Likewise.
7246
7247 2011-11-02  Bruno Haible  <bruno@clisp.org>
7248
7249         New module 'fchmodat', split off from module 'openat'.
7250         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
7251         defined.
7252         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
7253         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
7254         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
7255         * modules/fchmodat: New file, extracted from modules/openat.
7256         * modules/openat (Files): Remove lib/fchmodat.c.
7257         (configure.ac): Remove AC_LIBOBJ of fchmodat.
7258         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
7259         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
7260         (Makefile.am): Remove rules for test-fchmodat.
7261         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
7262         of module 'openat'.
7263         * NEWS: Mention the change.
7264
7265 2011-11-02  Jim Meyering  <meyering@redhat.com>
7266
7267         putenv: indent #definition of "environ" to placate cppi
7268         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
7269
7270         gitlog-to-changelog: provide a ChangeLog-repair mechanism
7271         Git logs are often treated as immutable, because editing them
7272         changes the SHA1 checksums of all descendants.  Thus, errors in
7273         git logs tend to stay there forever.  However, when we generate
7274         a ChangeLog file -- typically for distribution -- from that git log,
7275         we can actually make corrections in the generated file.  The key
7276         lies in recording in machine-readable/applicable form the desired
7277         corrections.  See --help for description and an example.
7278         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
7279         (usage): Describe it; alphabetize option descriptions.
7280         (main): Honor the new option, carefully.
7281
7282 2011-11-01  Jim Meyering  <meyering@redhat.com>
7283
7284         gitlog-to-changelog: avoid an infloop
7285         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
7286         that ends up being empty.
7287
7288 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
7289
7290         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
7291         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
7292         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
7293         contains (possibly-quoted) backslashes.  This should avoid
7294         all-too-common shell bugs if COMPLICATED contains backslashes in
7295         the "wrong" places.  Reported by David Evans in
7296         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
7297         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
7298         because we want ASCII ranges.  Is there some reason we don't use
7299         the C locale everywhere in this script?
7300         (func_module, top level): Avoid unwanted pathname expansion when
7301         $repo_url_prefix or $repo_url_suffix_repl contain shell
7302         metacharacters like '?' and '*'.
7303
7304 2011-11-01  Bruno Haible  <bruno@clisp.org>
7305
7306         fchownat: Improve description.
7307         * modules/fchownat (Description): Add link to function.
7308
7309 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
7310
7311         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
7312         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
7313         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
7314         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
7315
7316 2011-11-01  Bruno Haible  <bruno@clisp.org>
7317
7318         alignof: Avoid collision with stdalign module.
7319         * lib/alignof.h (alignof): Remove macro.
7320         * NEWS: Mention the change.
7321         Reported by Paul Eggert.
7322
7323 2011-11-01  Bruno Haible  <bruno@clisp.org>
7324
7325         New module 'fchownat', split off from module 'openat'.
7326         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
7327         defined.
7328         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
7329         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
7330         invoke gl_FUNC_FCHOWNAT.
7331         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
7332         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
7333         * modules/fchownat: New file, extracted from modules/openat.
7334         * modules/openat (Files): Remove lib/fchownat.c.
7335         (Depends-on): Remove lchown.
7336         (configure.ac): Remove AC_LIBOBJ of fchownat.
7337         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
7338         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
7339         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
7340         (Depends-on): Remove mgetgroups, usleep, stat-time.
7341         (configure.ac): Remove test for getegid.
7342         (Makefile.am): Remove rules for test-fchownat.
7343         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
7344         of module 'openat'.
7345         * NEWS: Mention the change.
7346
7347 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
7348
7349         stdalign: port better to MSVC and to Sun C 5.11
7350         This fixes some of the problems reported by Bruno Haible in
7351         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
7352         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
7353         shortcomings of MSVC and of Sun C 5.11.
7354         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
7355         around __declspec arg.
7356         * modules/stdalign-tests (Files): Add tests/macros.h.
7357         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
7358         Include macros.h, for ASSERT.
7359         (DECLARE_ALIGNED): Remove.
7360         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
7361         to catch bug), and to 1 if not (simplifies the rest of the code).
7362         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
7363         (CHECK_AUTO): Remove.
7364         (CHECK_ALIGNED): Check only the alignment of the static vars,
7365         since auto var alignment isn't supported by Sun C 5.11.
7366         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
7367         ASSERT failures are easier to diagnose.
7368
7369 2011-10-31  Bruno Haible  <bruno@clisp.org>
7370
7371         doc about some IRIX 5.3 problems.
7372         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
7373         on IRIX 5.3.
7374         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
7375         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
7376         5.3.
7377         * doc/posix-functions/grantpt.texi: Likewise.
7378         * doc/posix-functions/unlockpt.texi: Likewise.
7379         * doc/posix-functions/lgamma.texi: Likewise.
7380         * doc/posix-functions/nextafter.texi: Likewise.
7381         * doc/posix-functions/remainder.texi: Likewise.
7382         * doc/posix-functions/select.texi: Mention misplaced declaration on
7383         IRIX 5.3.
7384         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7385
7386 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
7387
7388         gitlog-to-changelog: fix git-log invocation.
7389         git-log mishandles date strings before 1970-01-01 UTC, and there is
7390         no use to specify --since=1970-01-01 by default anyway.
7391         * build-aux/gitlog-to-changelog: By default, when no --since option
7392         was given, do not specify explicit --since option to git-log.
7393
7394 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
7395
7396         gitlog-to-changelog: new option --append-dot.
7397         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
7398         first non-blank line of each commit message terminated with a dot.
7399
7400 2011-10-30  Bruno Haible  <bruno@clisp.org>
7401
7402         ffsl, ffsll: Avoid compilation error due to 'restrict'.
7403         * lib/ffsl.h: Include <config.h>.
7404         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
7405
7406 2011-10-30  Jim Meyering  <meyering@redhat.com>
7407
7408         GNUmakefile: reenable "make syntax-check" for most projects
7409         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
7410         build-aux variable", "syntax-check" would do nothing but succeed with
7411         the "No version control files detected..." diagnostic (unless you
7412         happened to override _build-aux via cfg.mk).
7413         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
7414         to precede inclusion of maint.mk.  Otherwise, these variables would
7415         be used undefined in any project that does not override the default.
7416
7417 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
7418
7419         gitlog-to-changelog: treat a message with only blank lines as empty.
7420         * build-aux/gitlog-to-changelog: Move the code that removes leading and
7421         trailing blank lines before the code that issues a warning about an
7422         empty commit message.
7423
7424 2011-10-30  Jim Meyering  <meyering@redhat.com>
7425
7426         test-parse-datetime.c: avoid new DST-related false positive test failure
7427         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
7428         based on the time/date we'll convert, not the current time.
7429         Otherwise, the moment we cross a DST boundary like today's in
7430         Europe, (CEST to CET), that offset ends up being one hour off.
7431
7432 2011-10-27  Bruno Haible  <bruno@clisp.org>
7433
7434         fstat: Tweak documentation.
7435         * modules/fstat (Description): More precise description.
7436
7437 2011-10-27  Bruno Haible  <bruno@clisp.org>
7438
7439         Update documentation regarding 'largefile' module.
7440         * doc/posix-functions/fstat.texi: Tweak wording.
7441         * doc/posix-functions/opendir.texi: Mention that the module fixes the
7442         problems with huge directories and/or small ino_t types.
7443         * doc/posix-functions/readdir.texi: Likewise.
7444         * doc/posix-functions/rewinddir.texi: Likewise.
7445
7446 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
7447
7448         maint.mk: don't maintain a second build-aux variable.
7449         * maint.mk (build_aux): Removed.  The maintainer-makefile module
7450         depends on GNUmakefile, which already maintains a cfg.mk
7451         overridable $(_build-aux) for projects with a non-standard
7452         build-aux directory location, although without the $(srcdir)
7453         prefix.  Use that variable consistently instead of introducing a
7454         second one.  Adjust all call sites.
7455
7456 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
7457
7458         Add stdalign module and use it in other modules.
7459         This is based on a previous proposal by Bruno Haible
7460         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
7461
7462         stdalign: new module
7463         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
7464         * modules/stdalign: New files.
7465         * MODULES.html.sh (c1x_core_properties): Add stdalign.
7466         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
7467
7468         stdalign-tests: new module
7469         * modules/stdalign-tests, tests/test-stdalign.c: New files.
7470
7471         argp: use stdalign
7472         * lib/argp-parse.c: Include <stdalign.h>.
7473         (alignof): Remove.
7474         * modules/argp (Depends-on): Add stdalign.
7475
7476         crypto libraries: use stdalign
7477         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
7478         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
7479         Do not include <stdlib.h> twice, in md4.c.
7480         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
7481         because we are accessing a pointer's bit-pattern, not a size.
7482         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
7483         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
7484         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
7485         * modules/crypto/sha512: Likewise.
7486
7487         sys_socket: use stdalign, not alignof
7488         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
7489         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
7490
7491 2011-10-27  Bruno Haible  <bruno@clisp.org>
7492
7493         raise test: Avoid a test failure on Linux/MIPS.
7494         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
7495         because 99 is a valid signal on Linux/MIPS.
7496
7497 2011-10-27  Bruno Haible  <bruno@clisp.org>
7498
7499         nonblocking tests: Fix test failure on Linux/MIPS.
7500         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
7501         Set to 270000.
7502
7503 2011-10-27  Bruno Haible  <bruno@clisp.org>
7504
7505         utimensat: Work around problem on Linux/hppa.
7506         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
7507         values.
7508         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
7509
7510 2011-10-25  Jim Meyering  <meyering@redhat.com>
7511
7512         maint.mk: fix a bug in sc_prohibit_stddef_without_use
7513         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
7514         after symbols like NULL, size_t, etc.
7515         Reported by Alfred M. Szmidt.
7516
7517         maint.mk: exempt ENODATA from a syntax-check rule
7518         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
7519         from the sc_prohibit_always-defined_macros syntax-check rule.
7520         Add a comment.  See this for more details:
7521         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
7522
7523 2011-10-23  Jim Meyering  <meyering@redhat.com>
7524
7525         fts: close parent dir FD before returning from post-traversal fts_read
7526         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
7527         unlink A, even though an FD open on A remained.  This is suboptimal
7528         (holding a file descriptor open longer than needed), but otherwise not
7529         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
7530         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
7531         that represents a real problem: it causes the removal of A to fail
7532         with e.g., "rm: cannot remove `A': Device or resource busy"
7533
7534         fts visits each directory twice and keeps a cache (fts_fd_ring) of
7535         directory file descriptors.  After completing the final, FTS_DP,
7536         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
7537         cache, but then proceeded to add a new FD to it via the subsequent
7538         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
7539         final file descriptor would be closed only via fts_close's call to
7540         fd_ring_clear.  Now, it is usually closed earlier, via the final
7541         FTS_DP-returning fts_read call.
7542         * lib/fts.c (restore_initial_cwd): New function, converted from
7543         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
7544         Update callers.
7545         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
7546         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
7547
7548 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
7549             Bruno Haible  <bruno@clisp.org>
7550             Jim Meyering  <jim@meyering.net>
7551
7552         readme-release: improve safety of release prep instructions.
7553         * README-release: Don't git pull all branches when only master
7554         is needed for the release process.
7555         Run make maintainer-clean before changing trees and merging.
7556         Don't try to run ./configure right after git pull in case files
7557         that influence the bootstrap process have changed, move the
7558         ./configure step to after running ./bootstrap.
7559         Don't bootstrap "one last time"... it's the first time!
7560
7561 2011-10-22  Bruno Haible  <bruno@clisp.org>
7562
7563         errno, strerror-override: Support for MSVC 10.
7564         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
7565         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
7566         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
7567         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
7568         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
7569         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
7570         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
7571         Assign values compatible with MSVC 10.
7572         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
7573         New macros.
7574         (GNULIB_defined_EWINSOCK): New macro.
7575         * lib/strerror-override.c (strerror_override): Update accordingly.
7576         * lib/strerror-override.h: Likewise.
7577         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
7578         longer equal to the corresponding errno value.
7579         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
7580
7581 2011-10-22  Bruno Haible  <bruno@clisp.org>
7582
7583         perror: Recognize when test program crashes.
7584         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
7585         strerror, set gl_cv_func_perror_works to no.
7586         Reported by Daniel Richard G. <skunk@iskunk.org>.
7587
7588         perror: Fix indentation.
7589         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
7590
7591 2011-10-22  Bruno Haible  <bruno@clisp.org>
7592
7593         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
7594         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
7595         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
7596         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
7597         functions, not as a macro.
7598         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
7599         macros.
7600         (isfinite, isinf, isnan, signbit): Check overloaded functions and
7601         absence of macro.
7602         Suggested by Eric Blake.
7603         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
7604
7605 2011-10-21  Bruno Haible  <bruno@clisp.org>
7606
7607         relocatable-prog-wrapper: Don't leave object files behind.
7608         * build-aux/install-reloc: Re-synchronize list of .o files to be
7609         removed with list of compilation units.
7610
7611 2011-10-20  Bruno Haible  <bruno@clisp.org>
7612
7613         openpty, posix_openpt: Remove code duplication.
7614         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
7615         * lib/openpty.c: Include <stdlib.h>.
7616         (openpty): Use posix_openpt on all platforms except IRIX.
7617         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
7618
7619 2011-10-20  Bruno Haible  <bruno@clisp.org>
7620
7621         unlockpt: Detect invalid argument.
7622         * lib/unlockpt.c: Include <fcntl.h>.
7623         (unlockpt): Check whether fd is valid, using fcntl().
7624         * modules/unlockpt (Depends-on): Add fcntl-h.
7625
7626 2011-10-20  Bruno Haible  <bruno@clisp.org>
7627
7628         openpty: Avoid compilation error on AIX 6.1.
7629         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
7630
7631 2011-10-20  Bruno Haible  <bruno@clisp.org>
7632
7633         posix_openpt: Support for OpenBSD.
7634         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
7635         (posix_openpt) [OpenBSD]: New code.
7636         * lib/grantpt.c: Include <fcntl.h>.
7637         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
7638         * modules/grantpt (Depends-on): Add fcntl-h.
7639
7640 2011-10-20  Bruno Haible  <bruno@clisp.org>
7641
7642         posix_openpt test: Coding style.
7643         * tests/test-posix_openpt.c: Use GNU coding style.
7644
7645 2011-10-20  Bruno Haible  <bruno@clisp.org>
7646
7647         grantpt: Support --avoid=pt_chown.
7648         * modules/grantpt (Files): Add lib/pty-private.h.
7649
7650 2011-10-20  Bruno Haible  <bruno@clisp.org>
7651
7652         posix_openpt: Fix autoconf macro.
7653         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
7654         unneeded check for _getpty.
7655
7656 2011-10-20  Bruno Haible  <bruno@clisp.org>
7657
7658         openpty: Update comments.
7659         * lib/openpty.c: Add comments about Minix.
7660
7661 2011-10-19  Eric Blake  <eblake@redhat.com>
7662
7663         openpty: relax license
7664         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
7665
7666         pt_chown: use configmake to simplify build
7667         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
7668
7669         ptsname and others: relax license
7670         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
7671         * modules/unlockpt (License): Likewise.
7672         * modules/pt_chown (License): Likewise.
7673         * modules/ptsname (License): Likewise.
7674         * modules/ttyname_r (License): Likewise.
7675
7676 2011-10-19  Jim Meyering  <meyering@redhat.com>
7677
7678         posix_openpt: remove spurious #endif
7679         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
7680
7681 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
7682
7683         maint.mk: Respect $(build_aux) in web-manual rule.
7684         * top/maint.mk (web-manual): Find gen-announce script in user's
7685         $(build_aux) directory instead of hard-coding 'build-aux'.
7686
7687 2011-10-19  Bruno Haible  <bruno@clisp.org>
7688
7689         posix_openpt: Fix compilation error.
7690         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
7691         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
7692         Mention the openpty module as an alternative.
7693
7694 2011-10-19  Bruno Haible  <bruno@clisp.org>
7695
7696         Support for old NeXTstep 3.3 frexp().
7697         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
7698         execution time of the test to 5 seconds.
7699         Reported by Daniel Richard G. <skunk@iskunk.org>.
7700
7701 2011-10-19  Bruno Haible  <bruno@clisp.org>
7702
7703         Support for old NeXTstep 3.3 sed.
7704         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
7705         part, use /.../, not \|...|. Escape periods in the header file name.
7706         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
7707         Reported by Daniel Richard G. <skunk@iskunk.org>.
7708
7709 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
7710
7711         Support for old NeXTstep 3.3 gcc.
7712         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
7713         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
7714         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
7715         * lib/spawn.in.h (_Restrict_arr_): Likewise.
7716         * lib/regex.h (_Restrict_arr_): Likewise.
7717         * lib/regex_internal.h (re_token_t): Likewise.
7718         * lib/regexec.c (check_node_accept_bytes): Likewise.
7719         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
7720
7721 2011-10-18  Eric Blake  <eblake@redhat.com>
7722
7723         posix_openpt: new module
7724         * modules/posix_openpt: New module.
7725         * m4/posix_openpt.m4: New file.
7726         * lib/posix_openpt.c: Likewise.
7727         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
7728         (gl_STDLIB_H_DEFAULTS): Set defaults.
7729         * modules/stdlib (Makefile.am): Substitute macros.
7730         * lib/stdlib.in.h (posix_openpt): Declare.
7731         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
7732         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
7733         * modules/posix_openpt-tests: New test module.
7734         * tests/test-posix_openpt.c: New test.
7735
7736 2011-10-15  Bruno Haible  <bruno@clisp.org>
7737
7738         xstrtoll: Fix compilation failure.
7739         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
7740         from lib/strtol.c.
7741         * doc/posix-headers/limits.texi: Mention missing numerical limits on
7742         some platforms.
7743         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7744
7745 2011-10-15  Bruno Haible  <bruno@clisp.org>
7746
7747         vasnprintf: Optimize bit search operation.
7748         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
7749         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
7750         gl_DOUBLE_EXPONENT_LOCATION.
7751         * modules/vasnprintf (Files): Add m4/exponentd.m4.
7752         * modules/unistdio/u8-vasnprintf (Files): Likewise.
7753         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
7754         * modules/unistdio/u16-vasnprintf (Files): Likewise.
7755         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
7756         * modules/unistdio/u32-vasnprintf (Files): Likewise.
7757         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
7758         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
7759         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
7760
7761 2011-10-15  Bruno Haible  <bruno@clisp.org>
7762
7763         vasnprintf: Fix comments.
7764         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
7765
7766 2011-10-14  Bruno Haible  <bruno@clisp.org>
7767
7768         Tests for module 'integer_length_ll'.
7769         * modules/integer_length_ll-tests: New file.
7770         * tests/test-integer_length_ll.c: New file.
7771
7772         New module 'integer_length_ll'.
7773         * lib/integer_length_ll.c: New file.
7774         * modules/integer_length_ll: New file.
7775
7776 2011-10-14  Bruno Haible  <bruno@clisp.org>
7777
7778         Tests for module 'integer_length_l'.
7779         * modules/integer_length_l-tests: New file.
7780         * tests/test-integer_length_l.c: New file.
7781
7782         New module 'integer_length_l'.
7783         * lib/integer_length_l.c: New file.
7784         * modules/integer_length_l: New file.
7785
7786 2011-10-14  Bruno Haible  <bruno@clisp.org>
7787
7788         Tests for module 'integer_length'.
7789         * modules/integer_length-tests: New file.
7790         * tests/test-integer_length.c: New file.
7791
7792         New module 'integer_length'.
7793         * lib/integer_length.h: New file.
7794         * lib/integer_length.c: New file.
7795         * modules/integer_length: New file.
7796
7797 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
7798
7799         popen: Fix dependency conditions.
7800         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
7801
7802 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
7803
7804         perror: Fix autoconf test.
7805         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
7806         <stdlib.h> and <string.h>.
7807
7808 2011-10-14  Bruno Haible  <bruno@clisp.org>
7809
7810         ffsl: Optimize on 64-bit platforms.
7811         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
7812         unrolling.
7813
7814 2011-10-13  Bruno Haible  <bruno@clisp.org>
7815
7816         ffsl: Optimize on 32-bit platforms.
7817         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
7818         use ffs() without a loop.
7819
7820         ffsl, ffsll: Optimize for GCC.
7821         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
7822         * lib/ffsl.c (GCC_BUILTIN): New macro.
7823         * lib/ffsll.c (GCC_BUILTIN): Likewise.
7824
7825 2011-10-13  Bruno Haible  <bruno@clisp.org>
7826
7827         ffs, bcopy, memset: Support symbol renaming via config.h.
7828         * lib/ffs.c: Include <config.h>.
7829         * lib/bcopy.c: Likewise.
7830         * lib/memset.c: Likewise.
7831
7832 2011-10-10  Bruno Haible  <bruno@clisp.org>
7833
7834         atanl: Simplify for platforms where 'long double' == 'double'.
7835         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
7836         alternative implementation.
7837         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7838         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7839         * modules/atanl (Depends-on): Add atan. Update conditions.
7840
7841 2011-10-10  Bruno Haible  <bruno@clisp.org>
7842
7843         acosl: Simplify for platforms where 'long double' == 'double'.
7844         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
7845         alternative implementation.
7846         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7847         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7848         * modules/acosl (Depends-on): Add acos. Update conditions.
7849
7850 2011-10-10  Bruno Haible  <bruno@clisp.org>
7851
7852         asinl: Simplify for platforms where 'long double' == 'double'.
7853         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
7854         alternative implementation.
7855         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7856         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7857         * modules/asinl (Depends-on): Add asin. Update conditions.
7858
7859 2011-10-10  Bruno Haible  <bruno@clisp.org>
7860
7861         tanl: Simplify for platforms where 'long double' == 'double'.
7862         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
7863         implementation.
7864         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7865         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7866         * modules/tanl (Depends-on): Add tan. Update conditions.
7867         (configure.ac): Don't compile trigl.c if
7868         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7869
7870 2011-10-10  Bruno Haible  <bruno@clisp.org>
7871
7872         cosl: Simplify for platforms where 'long double' == 'double'.
7873         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
7874         implementation.
7875         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7876         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7877         * modules/cosl (Depends-on): Add cos. Update conditions.
7878         (configure.ac): Don't compile sincosl.c and trigl.c if
7879         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7880
7881 2011-10-10  Bruno Haible  <bruno@clisp.org>
7882
7883         sinl: Simplify for platforms where 'long double' == 'double'.
7884         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
7885         implementation.
7886         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7887         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7888         * modules/sinl (Depends-on): Add sin. Update conditions.
7889         (configure.ac): Don't compile sincosl.c and trigl.c if
7890         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7891
7892 2011-10-10  Bruno Haible  <bruno@clisp.org>
7893
7894         logl: Simplify for platforms where 'long double' == 'double'.
7895         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
7896         implementation.
7897         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7898         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7899         * modules/logl (Depends-on): Add log. Update conditions.
7900
7901 2011-10-10  Bruno Haible  <bruno@clisp.org>
7902
7903         expl: Simplify for platforms where 'long double' == 'double'.
7904         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
7905         implementation.
7906         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7907         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7908         * modules/expl (Depends-on): Add exp. Update conditions.
7909
7910 2011-10-10  Bruno Haible  <bruno@clisp.org>
7911
7912         sqrtl: Simplify for platforms where 'long double' == 'double'.
7913         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
7914         alternative implementation.
7915         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7916         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7917         * modules/sqrtl (Depends-on): Update conditions.
7918
7919 2011-10-10  Bruno Haible  <bruno@clisp.org>
7920
7921         ldexpl: Simplify for platforms where 'long double' == 'double'.
7922         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
7923         alternative implementation.
7924         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7925         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7926         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
7927
7928 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
7929
7930         ffsll: set correct witness
7931         * modules/ffsll (configure.ac): Fix typo.
7932
7933 2011-10-10  Bruno Haible  <bruno@clisp.org>
7934
7935         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
7936         * lib/printf-frexpl.c: Include <config.h>.
7937         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
7938         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
7939         second time.
7940         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
7941         gl_LONG_DOUBLE_VS_DOUBLE.
7942         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
7943         conditions.
7944
7945 2011-10-10  Bruno Haible  <bruno@clisp.org>
7946
7947         frexpl: Simplify for platforms where 'long double' == 'double'.
7948         * lib/frexpl.c: Include <config.h>.
7949         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
7950         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
7951         time.
7952         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7953         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7954         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
7955         * modules/frexpl (Depends-on): Add frexp. Update conditions.
7956         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
7957         conditions.
7958
7959 2011-10-10  Jim Meyering  <meyering@redhat.com>
7960
7961         test-renameat: don't leave behind a temporary file
7962         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
7963           ERROR: files left in build directory after distclean:
7964           ./gltests/test-renameat.too
7965           make[1]: *** [distcleancheck] Error 1
7966         Reported by Tom G. Christensen.
7967
7968 2011-10-09  Bruno Haible  <bruno@clisp.org>
7969
7970         rint: Determine RINT_LIBM correctly on AIX 7.
7971         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
7972         directly, not only through a function pointer. Also accept an optional
7973         4th argument with extra code.
7974         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
7975         rintf() call by gcc when optimizing.
7976
7977         mathfunc.m4: Refactor.
7978         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
7979         m4 variable.
7980
7981 2011-10-09  Bruno Haible  <bruno@clisp.org>
7982
7983         rintl: Simplify for platforms where 'long double' == 'double'.
7984         * lib/rintl.c: Include <config.h>.
7985         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
7986         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
7987         time.
7988         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7989         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7990         * modules/rintl (Depends-on): Add rint. Update conditions.
7991
7992 2011-10-09  Bruno Haible  <bruno@clisp.org>
7993
7994         roundl: Simplify for platforms where 'long double' == 'double'.
7995         * lib/roundl.c: Include <config.h>.
7996         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
7997         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
7998         time.
7999         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8000         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8001         * modules/roundl (Depends-on): Add round. Update conditions.
8002
8003 2011-10-09  Bruno Haible  <bruno@clisp.org>
8004
8005         truncl: Simplify for platforms where 'long double' == 'double'.
8006         * lib/truncl.c: Include <config.h>.
8007         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
8008         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
8009         time.
8010         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8011         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8012         * modules/truncl (Depends-on): Add trunc. Update conditions.
8013
8014 2011-10-09  Bruno Haible  <bruno@clisp.org>
8015
8016         ceill: Simplify for platforms where 'long double' == 'double'.
8017         * lib/ceill.c: Include <config.h>.
8018         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
8019         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
8020         time.
8021         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8022         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8023         * modules/ceill (Depends-on): Add ceil. Update conditions.
8024
8025 2011-10-09  Bruno Haible  <bruno@clisp.org>
8026
8027         floorl: Simplify for platforms where 'long double' == 'double'.
8028         * lib/floorl.c: Include <config.h>.
8029         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
8030         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
8031         time.
8032         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8033         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8034         * modules/floorl (Depends-on): Add floor. Update conditions.
8035
8036 2011-10-09  Bruno Haible  <bruno@clisp.org>
8037
8038         rint: Fix ordering constraints.
8039         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
8040         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
8041         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
8042
8043 2011-10-09  Bruno Haible  <bruno@clisp.org>
8044
8045         copysignl: Simplify for platforms where 'long double' == 'double'.
8046         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
8047         alternative.
8048         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8049         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8050         * modules/copysignl (Depends-on): Add copysign. Update conditions.
8051
8052 2011-10-09  Bruno Haible  <bruno@clisp.org>
8053
8054         Tests for module 'rintl'.
8055         * modules/rintl-tests: New file.
8056         * tests/test-rintl.c: New file.
8057
8058         New module 'rintl'.
8059         * lib/math.in.h (rintl): New declaration.
8060         * lib/rintl.c: New file.
8061         * m4/rintl.m4: New file.
8062         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
8063         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
8064         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
8065         * modules/rintl: New file.
8066         * tests/test-math-c++.cc: Check the declaration of rintl.
8067         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
8068         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
8069         * doc/posix-functions/rintl.texi: Mention the new module.
8070
8071 2011-10-09  Bruno Haible  <bruno@clisp.org>
8072
8073         Tests for module 'rintf'.
8074         * modules/rintf-tests: New file.
8075         * tests/test-rintf.c: New file.
8076
8077         New module 'rintf'.
8078         * lib/math.in.h (rintf): New declaration.
8079         * lib/rintf.c: New file.
8080         * m4/rintf.m4: New file.
8081         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
8082         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
8083         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
8084         * modules/rintf: New file.
8085         * tests/test-math-c++.cc: Check the declaration of rintf.
8086         * doc/posix-functions/rintf.texi: Mention the new module.
8087
8088 2011-10-09  Bruno Haible  <bruno@clisp.org>
8089
8090         rint: Support for MSVC.
8091         * lib/math.in.h (rint): New declaration.
8092         * lib/rint.c: New file.
8093         * m4/rint.m4: New file.
8094         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
8095         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
8096         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
8097         * modules/rint (Description): Fix.
8098         (Files): Add lib/rint.c, m4/rint.m4.
8099         (Depends-on): Add math.
8100         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
8101         gl_MATH_MODULE_INDICATOR.
8102         * tests/test-math-c++.cc: Check the declaration of rint.
8103         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
8104         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
8105         * doc/posix-functions/rint.texi: Mention the replacement provided by
8106         the module.
8107
8108         rint tests: More tests.
8109         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
8110         minus-zero.h, infinity.h, nan.h.
8111         (main): Skip the test if the current rounding mode is not standard. Add
8112         tests for negative numbers, minus zero, infinity, NaN.
8113         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
8114         tests/nan.h.
8115         (Depends-on): Add isnand-nolibm.
8116
8117 2011-10-09  Bruno Haible  <bruno@clisp.org>
8118
8119         Tests for module 'copysignl'.
8120         * modules/copysignl-tests: New file.
8121         * tests/test-copysignl.c: New file.
8122
8123         New module 'copysignl'.
8124         * lib/math.in.h (copysignl): New declaration.
8125         * lib/copysignl.c: New file.
8126         * m4/copysignl.m4: New file.
8127         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
8128         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
8129         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
8130         HAVE_COPYSIGNL.
8131         * modules/copysignl: New file.
8132         * tests/test-math-c++.cc: Check the declaration of copysignl.
8133         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
8134         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
8135         * doc/posix-functions/copysignl.texi: Mention the new module.
8136
8137 2011-10-09  Bruno Haible  <bruno@clisp.org>
8138
8139         Tests for module 'copysignf'.
8140         * modules/copysignf-tests: New file.
8141         * tests/test-copysignf.c: New file.
8142
8143         New module 'copysignf'.
8144         * lib/math.in.h (copysignf): New declaration.
8145         * lib/copysignf.c: New file.
8146         * m4/copysignf.m4: New file.
8147         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
8148         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
8149         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
8150         HAVE_COPYSIGNF.
8151         * modules/copysignf: New file.
8152         * tests/test-math-c++.cc: Check the declaration of copysignf.
8153         * doc/posix-functions/copysignf.texi: Mention the new module.
8154
8155 2011-10-09  Bruno Haible  <bruno@clisp.org>
8156
8157         Ensure that HAVE_* variables are set to 1 before they are set to 0.
8158         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
8159         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
8160         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
8161         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
8162         gl_SIGNAL_H_DEFAULTS.
8163
8164 2011-10-09  Bruno Haible  <bruno@clisp.org>
8165
8166         poll: Make macro safer.
8167         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
8168         ac_cv_header_poll_h is not set.
8169
8170 2011-10-09  Bruno Haible  <bruno@clisp.org>
8171
8172         copysign: Provide replacement.
8173         * lib/math.in.h (copysign): New declaration.
8174         * lib/copysign.c: New file.
8175         * m4/copysign.m4: New file.
8176         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
8177         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
8178         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
8179         HAVE_COPYSIGN.
8180         * modules/copysign (Description): Clarify.
8181         (Files): Add lib/copysign.c, m4/copysign.m4.
8182         (Depends-on): Add math, signbit.
8183         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
8184         gl_MATH_MODULE_INDICATOR.
8185         * tests/test-math-c++.cc: Check the declaration of copysign.
8186         * doc/posix-functions/copysign.texi: Mention the effects of the module
8187         on Minix and MSVC.
8188
8189 2011-10-09  Bruno Haible  <bruno@clisp.org>
8190
8191         isinf: Ensure macro on AIX 5.1.
8192         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
8193         macro.
8194         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
8195
8196 2011-10-09  Bruno Haible  <bruno@clisp.org>
8197
8198         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
8199         * modules/snprintf-posix-tests (configure.ac): Require
8200         gl_LONG_DOUBLE_VS_DOUBLE.
8201         * modules/sprintf-posix-tests (configure.ac): Likewise.
8202         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
8203         * modules/vasprintf-posix-tests (configure.ac): Likewise.
8204         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
8205         * modules/vsprintf-posix-tests (configure.ac): Likewise.
8206         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
8207         tests on platforms where 'long double' is the same as 'double'.
8208         * tests/test-sprintf-posix.h (test_function): Likewise.
8209         * tests/test-vasnprintf-posix.c (test_function): Likewise.
8210         * tests/test-vasprintf-posix.c (test_function): Likewise.
8211
8212         *printf: Fix for platforms where 'long double' == 'double'.
8213         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
8214         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
8215         * modules/dprintf-posix (Files): Add m4/math_h.m4.
8216         * modules/fprintf-posix (Files): Likewise.
8217         * modules/obstack-printf-posix (Files): Likewise.
8218         * modules/snprintf-posix (Files): Likewise.
8219         * modules/sprintf-posix (Files): Likewise.
8220         * modules/vasnprintf (Files): Likewise.
8221         * modules/vasnprintf-posix (Files): Likewise.
8222         * modules/vasprintf-posix (Files): Likewise.
8223         * modules/vdprintf-posix (Files): Likewise.
8224         * modules/vfprintf-posix (Files): Likewise.
8225         * modules/vsnprintf-posix (Files): Likewise.
8226         * modules/vsprintf-posix (Files): Likewise.
8227         * modules/unistdio/u8-vasnprintf (Files): Likewise.
8228         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
8229         * modules/unistdio/u16-vasnprintf (Files): Likewise.
8230         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
8231         * modules/unistdio/u32-vasnprintf (Files): Likewise.
8232         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
8233         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
8234
8235         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
8236         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
8237         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8238         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
8239         'long double'.
8240         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
8241
8242         isinf: Fix for platforms where 'long double' == 'double'.
8243         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
8244         Don't blindly assume 80-bit 'long double'.
8245
8246         isfinite: Fix for platforms where 'long double' == 'double'.
8247         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
8248         Don't blindly assume 80-bit 'long double'.
8249
8250         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
8251         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
8252         * modules/isfinite-tests (configure.ac): Require
8253         gl_LONG_DOUBLE_VS_DOUBLE.
8254         * modules/isinf-tests (configure.ac): Likewise.
8255         * modules/isnan-tests (configure.ac): Likewise.
8256         * modules/isnanl-tests (configure.ac): Likewise.
8257         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
8258         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
8259         tests on platforms where 'long double' is the same as 'double'.
8260         * tests/test-isinf.c (test_isinfl): Likewise.
8261         * tests/test-isnan.c (test_long_double): Likewise.
8262         * tests/test-isnanl.h (main): Likewise.
8263
8264 2011-10-08  Bruno Haible  <bruno@clisp.org>
8265
8266         Tests for module 'tanhf'.
8267         * modules/tanhf-tests: New file.
8268         * tests/test-tanhf.c: New file.
8269
8270         New module 'tanhf'.
8271         * lib/math.in.h (tanhf): New declaration.
8272         * lib/tanhf.c: New file.
8273         * m4/tanhf.m4: New file.
8274         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
8275         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
8276         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
8277         * modules/tanhf: New file.
8278         * tests/test-math-c++.cc: Check the declaration of tanhf.
8279         * doc/posix-functions/tanhf.texi: Mention the new module.
8280
8281         tanh: Use a .m4 file.
8282         * m4/tanh.m4: New file.
8283         * modules/tanh (Files): Add it.
8284         (configure.ac): Just invoke gl_FUNC_TANH.
8285
8286 2011-10-08  Bruno Haible  <bruno@clisp.org>
8287
8288         Tests for module 'coshf'.
8289         * modules/coshf-tests: New file.
8290         * tests/test-coshf.c: New file.
8291
8292         New module 'coshf'.
8293         * lib/math.in.h (coshf): New declaration.
8294         * lib/coshf.c: New file.
8295         * m4/coshf.m4: New file.
8296         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
8297         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
8298         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
8299         * modules/coshf: New file.
8300         * tests/test-math-c++.cc: Check the declaration of coshf.
8301         * doc/posix-functions/coshf.texi: Mention the new module.
8302
8303         cosh: Use a .m4 file.
8304         * m4/cosh.m4: New file.
8305         * modules/cosh (Files): Add it.
8306         (configure.ac): Just invoke gl_FUNC_COSH.
8307
8308 2011-10-08  Bruno Haible  <bruno@clisp.org>
8309
8310         Tests for module 'sinhf'.
8311         * modules/sinhf-tests: New file.
8312         * tests/test-sinhf.c: New file.
8313
8314         New module 'sinhf'.
8315         * lib/math.in.h (sinhf): New declaration.
8316         * lib/sinhf.c: New file.
8317         * m4/sinhf.m4: New file.
8318         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
8319         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
8320         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
8321         * modules/sinhf: New file.
8322         * tests/test-math-c++.cc: Check the declaration of sinhf.
8323         * doc/posix-functions/sinhf.texi: Mention the new module.
8324
8325         sinh: Use a .m4 file.
8326         * m4/sinh.m4: New file.
8327         * modules/sinh (Files): Add it.
8328         (configure.ac): Just invoke gl_FUNC_SINH.
8329
8330 2011-10-08  Bruno Haible  <bruno@clisp.org>
8331
8332         Tests for module 'atan2f'.
8333         * modules/atan2f-tests: New file.
8334         * tests/test-atan2f.c: New file.
8335
8336         New module 'atan2f'.
8337         * lib/math.in.h (atan2f): New declaration.
8338         * lib/atan2f.c: New file.
8339         * m4/atan2f.m4: New file.
8340         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
8341         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
8342         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
8343         * modules/atan2f: New file.
8344         * tests/test-math-c++.cc: Check the declaration of atan2f.
8345         * doc/posix-functions/atan2f.texi: Mention the new module.
8346
8347         atan2: Use a .m4 file.
8348         * m4/atan2.m4: New file.
8349         * modules/atan2 (Files): Add it.
8350         (configure.ac): Just invoke gl_FUNC_ATAN2.
8351
8352 2011-10-08  Bruno Haible  <bruno@clisp.org>
8353
8354         Tests for module 'atanf'.
8355         * modules/atanf-tests: New file.
8356         * tests/test-atanf.c: New file.
8357
8358         New module 'atanf'.
8359         * lib/math.in.h (atanf): New declaration.
8360         * lib/atanf.c: New file.
8361         * m4/atanf.m4: New file.
8362         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
8363         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
8364         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
8365         * modules/atanf: New file.
8366         * tests/test-math-c++.cc: Check the declaration of atanf.
8367         * doc/posix-functions/atanf.texi: Mention the new module.
8368
8369         atan: Use a .m4 file.
8370         * m4/atan.m4: New file.
8371         * modules/atan (Files): Add it.
8372         (configure.ac): Just invoke gl_FUNC_ATAN.
8373
8374 2011-10-08  Bruno Haible  <bruno@clisp.org>
8375
8376         Tests for module 'acosf'.
8377         * modules/acosf-tests: New file.
8378         * tests/test-acosf.c: New file.
8379
8380         New module 'acosf'.
8381         * lib/math.in.h (acosf): New declaration.
8382         * lib/acosf.c: New file.
8383         * m4/acosf.m4: New file.
8384         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
8385         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
8386         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
8387         * modules/acosf: New file.
8388         * tests/test-math-c++.cc: Check the declaration of acosf.
8389         * doc/posix-functions/acosf.texi: Mention the new module.
8390
8391         acos: Use a .m4 file.
8392         * m4/acos.m4: New file.
8393         * modules/acos (Files): Add it.
8394         (configure.ac): Just invoke gl_FUNC_ACOS.
8395
8396 2011-10-08  Bruno Haible  <bruno@clisp.org>
8397
8398         Tests for module 'asinf'.
8399         * modules/asinf-tests: New file.
8400         * tests/test-asinf.c: New file.
8401
8402         New module 'asinf'.
8403         * lib/math.in.h (asinf): New declaration.
8404         * lib/asinf.c: New file.
8405         * m4/asinf.m4: New file.
8406         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
8407         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
8408         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
8409         * modules/asinf: New file.
8410         * tests/test-math-c++.cc: Check the declaration of asinf.
8411         * doc/posix-functions/asinf.texi: Mention the new module.
8412
8413         asin: Use a .m4 file.
8414         * m4/asin.m4: New file.
8415         * modules/asin (Files): Add it.
8416         (configure.ac): Just invoke gl_FUNC_ASIN.
8417
8418 2011-10-08  Bruno Haible  <bruno@clisp.org>
8419
8420         Tests for module 'tanf'.
8421         * modules/tanf-tests: New file.
8422         * tests/test-tanf.c: New file.
8423
8424         New module 'tanf'.
8425         * lib/math.in.h (tanf): New declaration.
8426         * lib/tanf.c: New file.
8427         * m4/tanf.m4: New file.
8428         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
8429         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
8430         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
8431         * modules/tanf: New file.
8432         * tests/test-math-c++.cc: Check the declaration of tanf.
8433         * doc/posix-functions/tanf.texi: Mention the new module.
8434
8435         tan: Use a .m4 file.
8436         * m4/tan.m4: New file.
8437         * modules/tan (Files): Add it.
8438         (configure.ac): Just invoke gl_FUNC_TAN.
8439
8440 2011-10-08  Bruno Haible  <bruno@clisp.org>
8441
8442         Tests for module 'cosf'.
8443         * modules/cosf-tests: New file.
8444         * tests/test-cosf.c: New file.
8445
8446         New module 'cosf'.
8447         * lib/math.in.h (cosf): New declaration.
8448         * lib/cosf.c: New file.
8449         * m4/cosf.m4: New file.
8450         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
8451         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
8452         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
8453         * modules/cosf: New file.
8454         * tests/test-math-c++.cc: Check the declaration of cosf.
8455         * doc/posix-functions/cosf.texi: Mention the new module.
8456
8457         cos: Use a .m4 file.
8458         * m4/cos.m4: New file.
8459         * modules/cos (Files): Add it.
8460         (configure.ac): Just invoke gl_FUNC_COS.
8461
8462 2011-10-08  Bruno Haible  <bruno@clisp.org>
8463
8464         Tests for module 'sinf'.
8465         * modules/sinf-tests: New file.
8466         * tests/test-sinf.c: New file.
8467
8468         New module 'sinf'.
8469         * lib/math.in.h (sinf): New declaration.
8470         * lib/sinf.c: New file.
8471         * m4/sinf.m4: New file.
8472         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
8473         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
8474         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
8475         * modules/sinf: New file.
8476         * tests/test-math-c++.cc: Check the declaration of sinf.
8477         * doc/posix-functions/sinf.texi: Mention the new module.
8478
8479         sin: Use a .m4 file.
8480         * m4/sin.m4: New file.
8481         * modules/sin (Files): Add it.
8482         (configure.ac): Just invoke gl_FUNC_SIN.
8483
8484 2011-10-08  Bruno Haible  <bruno@clisp.org>
8485
8486         Tests for module 'powf'.
8487         * modules/powf-tests: New file.
8488         * tests/test-powf.c: New file.
8489
8490         New module 'powf'.
8491         * lib/math.in.h (powf): New declaration.
8492         * lib/powf.c: New file.
8493         * m4/powf.m4: New file.
8494         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
8495         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
8496         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
8497         * modules/powf: New file.
8498         * tests/test-math-c++.cc: Check the declaration of powf.
8499         * doc/posix-functions/powf.texi: Mention the new module.
8500
8501         pow: Use a .m4 file.
8502         * m4/pow.m4: New file.
8503         * modules/pow (Files): Add it.
8504         (configure.ac): Just invoke gl_FUNC_POW.
8505
8506 2011-10-08  Bruno Haible  <bruno@clisp.org>
8507
8508         Tests for module 'log10f'.
8509         * modules/log10f-tests: New file.
8510         * tests/test-log10f.c: New file.
8511
8512         New module 'log10f'.
8513         * lib/math.in.h (log10f): New declaration.
8514         * lib/log10f.c: New file.
8515         * m4/log10f.m4: New file.
8516         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
8517         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
8518         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
8519         * modules/log10f: New file.
8520         * tests/test-math-c++.cc: Check the declaration of log10f.
8521         * doc/posix-functions/log10f.texi: Mention the new module.
8522
8523         log10: Use a .m4 file.
8524         * m4/log10.m4: New file.
8525         * modules/log10 (Files): Add it.
8526         (configure.ac): Just invoke gl_FUNC_LOG10.
8527
8528 2011-10-08  Bruno Haible  <bruno@clisp.org>
8529
8530         Tests for module 'logf'.
8531         * modules/logf-tests: New file.
8532         * tests/test-logf.c: New file.
8533
8534         New module 'logf'.
8535         * lib/math.in.h (logf): New declaration.
8536         * lib/logf.c: New file.
8537         * m4/logf.m4: New file.
8538         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
8539         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
8540         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
8541         * modules/logf: New file.
8542         * tests/test-math-c++.cc: Check the declaration of logf.
8543         * doc/posix-functions/logf.texi: Mention the new module.
8544
8545         log: Use a .m4 file.
8546         * m4/log.m4: New file.
8547         * modules/log (Files): Add it.
8548         (configure.ac): Just invoke gl_FUNC_LOG.
8549
8550 2011-10-08  Bruno Haible  <bruno@clisp.org>
8551
8552         Tests for module 'expf'.
8553         * modules/expf-tests: New file.
8554         * tests/test-expf.c: New file.
8555
8556         New module 'expf'.
8557         * lib/math.in.h (expf): New declaration.
8558         * lib/expf.c: New file.
8559         * m4/expf.m4: New file.
8560         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
8561         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
8562         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
8563         * modules/expf: New file.
8564         * tests/test-math-c++.cc: Check the declaration of expf.
8565         * doc/posix-functions/expf.texi: Mention the new module.
8566
8567         exp: Use a .m4 file.
8568         * m4/exp.m4: New file.
8569         * modules/exp (Files): Add it.
8570         (configure.ac): Just invoke gl_FUNC_EXP.
8571
8572 2011-10-08  Bruno Haible  <bruno@clisp.org>
8573
8574         Tests for module 'sqrtf'.
8575         * modules/sqrtf-tests: New file.
8576         * tests/test-sqrtf.c: New file.
8577
8578         New module 'sqrtf'.
8579         * lib/math.in.h (sqrtf): New declaration.
8580         * lib/sqrtf.c: New file.
8581         * m4/sqrtf.m4: New file.
8582         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
8583         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
8584         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
8585         * modules/sqrtf: New file.
8586         * tests/test-math-c++.cc: Check the declaration of sqrtf.
8587         * doc/posix-functions/sqrtf.texi: Mention the new module.
8588
8589 2011-10-08  Bruno Haible  <bruno@clisp.org>
8590
8591         Tests: Avoid link failures w.r.t. libintl.
8592         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
8593         $(LIBINTL).
8594         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
8595         $(LIBINTL).
8596         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
8597         against $(LIBINTL).
8598         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
8599         $(LIBINTL).
8600         * modules/openat-tests (Makefile.am): Link test-fchmodat against
8601         $(LIBINTL).
8602         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
8603
8604 2011-10-08  Bruno Haible  <bruno@clisp.org>
8605
8606         pow tests: Defeat compiler optimizations.
8607         * tests/test-pow.c (main): Assign arguments to x and y before use.
8608
8609 2011-10-08  Bruno Haible  <bruno@clisp.org>
8610
8611         gnulib-tool: Improve last commit.
8612         * gnulib-tool (func_modules_transitive_closure): Simplify code.
8613         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
8614         ignore dependencies that are not among the modules list.
8615
8616 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
8617
8618         gnulib-tool: don't follow dependencies to avoided modules
8619         This fixes a bug that is related to the previous one.
8620         * gnulib-tool (func_modules_transitive_closure)
8621         (func_emit_autoconf_snippets):
8622         Check whether a dependency is acceptable before using it.
8623         (--extract-dependencies): Report an error if --avoid is also used,
8624         since this combination of options is not yet supported.
8625
8626         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
8627         Problem reported by Peter Dyballa in
8628         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
8629         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
8630         when echoing "$condition".
8631
8632 2011-10-07  Bruno Haible  <bruno@clisp.org>
8633
8634         Fix documentation about math functions on MacOS X.
8635         * doc/posix-functions/exp2.texi: Don't say the function is missing on
8636         MacOS X 10.5.
8637         * doc/posix-functions/fdim.texi: Likewise.
8638         * doc/posix-functions/feclearexcept.texi: Likewise.
8639         * doc/posix-functions/fegetenv.texi: Likewise.
8640         * doc/posix-functions/fegetround.texi: Likewise.
8641         * doc/posix-functions/feholdexcept.texi: Likewise.
8642         * doc/posix-functions/feraiseexcept.texi: Likewise.
8643         * doc/posix-functions/fesetenv.texi: Likewise.
8644         * doc/posix-functions/fesetround.texi: Likewise.
8645         * doc/posix-functions/fetestexcept.texi: Likewise.
8646         * doc/posix-functions/feupdateenv.texi: Likewise.
8647         * doc/posix-functions/fmax.texi: Likewise.
8648         * doc/posix-functions/fmin.texi: Likewise.
8649         * doc/posix-functions/log2.texi: Likewise.
8650         * doc/posix-functions/modff.texi: Likewise.
8651         * doc/posix-functions/nan.texi: Likewise.
8652         * doc/posix-functions/nanf.texi: Likewise.
8653         * doc/posix-functions/nextafterf.texi: Likewise.
8654         * doc/posix-functions/remquo.texi: Likewise.
8655
8656 2011-10-07  Bruno Haible  <bruno@clisp.org>
8657
8658         modff: Drop assumption about library that defines modff.
8659         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
8660         AC_CHECK_FUNCS.
8661         * modules/modff (Files): Add m4/mathfunc.m4.
8662
8663 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
8664
8665         raise tests: Avoid a GCC warning.
8666         * tests/test-raise.c (handler): Use _Noreturn.
8667
8668 2011-10-07  Bruno Haible  <bruno@clisp.org>
8669
8670         Tests for module 'ldexpf'.
8671         * modules/ldexpf-tests: New file.
8672         * tests/test-ldexpf.c: New file.
8673
8674         New module 'ldexpf'.
8675         * lib/math.in.h (ldexpf): New declaration.
8676         * lib/ldexpf.c: New file.
8677         * m4/ldexpf.m4: New file.
8678         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
8679         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
8680         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
8681         * modules/ldexpf: New file.
8682         * tests/test-math-c++.cc: Check the declaration of ldexpf.
8683         * doc/posix-functions/ldexpf.texi: Mention the new module.
8684
8685 2011-10-06  Bruno Haible  <bruno@clisp.org>
8686
8687         frexpf: Work around problems on IRIX and mingw.
8688         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
8689         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
8690         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
8691         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
8692         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
8693         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
8694         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
8695
8696 2011-10-06  Bruno Haible  <bruno@clisp.org>
8697
8698         fabsf: Drop assumption about library that defines fabsf.
8699         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
8700         AC_CHECK_FUNCS.
8701         * modules/fabsf (Files): Add m4/mathfunc.m4.
8702
8703 2011-10-06  Bruno Haible  <bruno@clisp.org>
8704
8705         frexpf: Drop assumption about library that defines frexpf.
8706         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
8707         'int *', 'float *', 'long double *', 'float', 'long double'.
8708         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
8709         AC_CHECK_FUNCS.
8710         * modules/frexpf (Files): Add m4/mathfunc.m4.
8711
8712         Tests for module 'frexpf'.
8713         * modules/frexpf-tests: New file.
8714         * tests/test-frexpf.c: New file.
8715
8716         New module 'frexpf'.
8717         * lib/math.in.h (frexpf): New declaration.
8718         * lib/frexpf.c: New file.
8719         * m4/frexpf.m4: New file.
8720         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
8721         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
8722         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
8723         * modules/frexpf: New file.
8724         * tests/test-math-c++.cc: Check the declaration of frexpf.
8725         * doc/posix-functions/frexpf.texi: Mention the new module.
8726
8727 2011-10-06  Bruno Haible  <bruno@clisp.org>
8728
8729         math: Sort function declarations of math.in.h.
8730         * lib/math.in.h (frexp, logb): Move declarations.
8731
8732 2011-10-05  Bruno Haible  <bruno@clisp.org>
8733
8734         Tests for module 'modff'.
8735         * modules/modff-tests: New file.
8736         * tests/test-modff.c: New file.
8737
8738         New module 'modff'.
8739         * lib/math.in.h (modff): New declaration.
8740         * lib/modff.c: New file.
8741         * m4/modff.m4: New file.
8742         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
8743         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
8744         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
8745         * modules/modff: New file.
8746         * tests/test-math-c++.cc: Check the declaration of modff.
8747         * doc/posix-functions/modff.texi: Mention the new module.
8748
8749         modf tests: Make test sharper.
8750         * tests/test-modf.c (main): Strengthen upper bound.
8751
8752         modf: Use a .m4 file.
8753         * m4/modf.m4: New file.
8754         * modules/modf (Files): Add it.
8755         (configure.ac): Just invoke gl_FUNC_MODF.
8756
8757 2011-10-05  Bruno Haible  <bruno@clisp.org>
8758
8759         Tests for module 'fmodf'.
8760         * modules/fmodf-tests: New file.
8761         * tests/test-fmodf.c: New file.
8762
8763         New module 'fmodf'.
8764         * lib/math.in.h (fmodf): New declaration.
8765         * lib/fmodf.c: New file.
8766         * m4/fmodf.m4: New file.
8767         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
8768         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
8769         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
8770         * modules/fmodf: New file.
8771         * tests/test-math-c++.cc: Check the declaration of fmodf.
8772         * doc/posix-functions/fmodf.texi: Mention the new module.
8773
8774         fmod: Use a .m4 file.
8775         * m4/fmod.m4: New file.
8776         * modules/fmod (Files): Add it.
8777         (configure.ac): Just invoke gl_FUNC_FMOD.
8778
8779 2011-10-05  Bruno Haible  <bruno@clisp.org>
8780
8781         Tests for module 'fabsf'.
8782         * modules/fabsf-tests: New file.
8783         * tests/test-fabsf.c: New file.
8784
8785         New module 'fabsf'.
8786         * lib/math.in.h (fabsf): New declaration.
8787         * lib/fabsf.c: New file.
8788         * m4/fabsf.m4: New file.
8789         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
8790         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
8791         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
8792         * modules/fabsf: New file.
8793         * tests/test-math-c++.cc: Check the declaration of fabsf.
8794         * doc/posix-functions/fabsf.texi: Mention the new module.
8795
8796         fabs: Use a .m4 file.
8797         * m4/fabs.m4: New file.
8798         * modules/fabs (Files): Add it.
8799         (configure.ac): Just invoke gl_FUNC_FABS.
8800
8801 2011-10-05  Jim Meyering  <meyering@redhat.com>
8802
8803         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
8804         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
8805         ls -lL regression introduced in coreutils-8.12, it does so at the
8806         cost of an additional stat call in the common case.  Besides, now
8807         that the kernel change that prompted commit 95f7c57f has been reverted
8808         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
8809         we have no use for commit 95f7c57f, "file-has-acl: use
8810         acl_extended_file_nofollow if available".
8811
8812 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
8813
8814         file-has-acl: revert unintended change in behavior of ls -L
8815         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
8816         derived from...
8817         (file_has_acl): ...code here.  Call it.
8818         This problem was introduced with 2011-07-22 commit 95f7c57f,
8819         "file-has-acl: use acl_extended_file_nofollow if available".
8820         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
8821
8822 2011-10-03  Bruno Haible  <bruno@clisp.org>
8823
8824         poll: Avoid link errors on MSVC.
8825         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
8826         * modules/poll (Depends-on): Add sockets.
8827         (Link): New section.
8828         * NEWS: Mention the change.
8829         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
8830         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
8831         $(LIB_POLL) instead of $(LIBSOCKET).
8832
8833 2011-10-03  Bruno Haible  <bruno@clisp.org>
8834
8835         sys_select tests: Fix link error on MSVC 9.
8836         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
8837         with $(LIB_SELECT) instead of $(LIBSOCKET).
8838
8839 2011-10-03  Bruno Haible  <bruno@clisp.org>
8840
8841         sys_select: Fix compilation error on mingw.
8842         * lib/sys_select.in.h: On native Windows, include <io.h>.
8843
8844 2011-10-03  Bruno Haible  <bruno@clisp.org>
8845
8846         wmemset: Support for MSVC.
8847         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
8848         whether wmemset() exists.
8849
8850 2011-10-03  Bruno Haible  <bruno@clisp.org>
8851
8852         wmemmove: Support for MSVC.
8853         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
8854         whether wmemmove() exists.
8855
8856 2011-10-03  Bruno Haible  <bruno@clisp.org>
8857
8858         wmemcpy: Support for MSVC.
8859         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
8860         whether wmemcpy() exists.
8861
8862 2011-10-03  Bruno Haible  <bruno@clisp.org>
8863
8864         wmemcmp: Support for MSVC.
8865         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
8866         whether wmemcmp() exists.
8867
8868 2011-10-03  Bruno Haible  <bruno@clisp.org>
8869
8870         wmemchr: Support for MSVC.
8871         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
8872         whether wmemchr() exists.
8873
8874 2011-10-03  Bruno Haible  <bruno@clisp.org>
8875
8876         glthread/*, strsignal: Support for MSVC.
8877         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
8878         including <winsock.h> on MSVC 9.
8879         * lib/glthread/lock.h: Likewise.
8880         * lib/glthread/thread.h: Likewise.
8881         * lib/glthread/tls.h: Likewise.
8882         * lib/glthread/yield.h: Likewise.
8883         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
8884         if HAVE_UNISTD_H is false.
8885         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
8886
8887 2011-10-03  Bruno Haible  <bruno@clisp.org>
8888
8889         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
8890         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
8891         Set to 100000.
8892
8893 2011-10-03  Bruno Haible  <bruno@clisp.org>
8894
8895         acl: Fix specification.
8896         * lib/file-has-acl.c (file_has_acl): Fix specification.
8897
8898 2011-10-03  Bruno Haible  <bruno@clisp.org>
8899
8900         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
8901         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
8902         (compute_curr_prefix, shared_library_fullname,
8903         find_shared_library_fullname, get_shared_library_fullname, relocate):
8904         Use it together with PIC && INSTALLDIR.
8905         Reported by <jojelino@gmail.com>
8906         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
8907
8908 2011-10-01  Jim Meyering  <meyering@redhat.com>
8909
8910         maint.mk: adjust a release-related rule not to require use of gzip
8911         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
8912         Instead, check each file in $(DIST_ARCHIVES).  This is better for
8913         projects that build only .tar.xz files.  Also fix an erroneous test.
8914
8915         test-linkat: don't leave behind a temporary file
8916         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
8917         Otherwise, coreutils' "make distcheck" would fail with this:
8918           Only in /c/cu/tests/torture/coreutils/test/\
8919             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
8920           make[2]: *** [my-distcheck] Error 1
8921
8922         float, math: add omitted file
8923         * lib/itold.c: Add file, required for yesterday's float change.
8924
8925 2011-10-01  Bruno Haible  <bruno@clisp.org>
8926
8927         isinf: Fix for OpenBSD/x86.
8928         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
8929         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
8930         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
8931
8932 2011-10-01  Bruno Haible  <bruno@clisp.org>
8933
8934         isfinite: Fix syntax error in configure test.
8935         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
8936
8937         isfinite: Fix typo.
8938         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
8939         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
8940
8941 2011-10-01  Bruno Haible  <bruno@clisp.org>
8942
8943         nonblocking tests: Fix test failure on Linux/IA-64.
8944         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
8945         Set to 270000.
8946
8947 2011-10-01  Bruno Haible  <bruno@clisp.org>
8948
8949         mkfifoat tests: Fix a test failure on mingw.
8950         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
8951         with error ENOSYS.
8952
8953 2011-09-30  Bruno Haible  <bruno@clisp.org>
8954
8955         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
8956         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
8957         'long double'. Set REPLACE_ITOLD.
8958         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
8959         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
8960         * lib/itold.c: New file.
8961         * modules/float (Files): Add lib/itold.c.
8962         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
8963         (Makefile.am): Substitute REPLACE_ITOLD.
8964         * modules/math (Depends-on): Add float.
8965         (Makefile.am): Substitute REPLACE_ITOLD.
8966         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
8967         * doc/posix-headers/math.texi: Likewise.
8968         * doc/posix-functions/logl.texi: Likewise.
8969
8970 2011-09-30  Bruno Haible  <bruno@clisp.org>
8971
8972         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
8973         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
8974         Set to 140000.
8975
8976 2011-09-30  Bruno Haible  <bruno@clisp.org>
8977
8978         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
8979         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
8980         invocation, say "right after AC_PROG_CC_STDC", not "right after
8981         AC_PROG_CC".
8982         Reported by Gary V. Vaughan <gary@gnu.org>.
8983
8984 2011-09-30  Bruno Haible  <bruno@clisp.org>
8985
8986         Centralize C99 requirement.
8987         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
8988         * modules/stdarg (configure.ac-early): Invoke it instead of
8989         AC_PROG_CC_STDC.
8990         Reported by Gary V. Vaughan and Paul Eggert.
8991
8992 2011-09-29  Bruno Haible  <bruno@clisp.org>
8993
8994         float: Fix LDBL_MAX value on Linux/PowerPC.
8995         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
8996         on Linux/PowerPC.
8997         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
8998         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
8999         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
9000         platform.
9001         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
9002
9003 2011-09-29  Bruno Haible  <bruno@clisp.org>
9004
9005         doc: Improve doc about gl_EARLY.
9006         * doc/gnulib-tool.texi (Initial import): Mention where to place an
9007         AC_PROG_CC_STDC invocation.
9008         Reported by Gary V. Vaughan <gary@gnu.org>.
9009
9010 2011-09-28  Bruno Haible  <bruno@clisp.org>
9011
9012         fgetc, fputc, fread, fwrite tests: Fix link error.
9013         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
9014         on non-MSVC platforms.
9015         * tests/test-fputc.c (main): Likewise.
9016         * tests/test-fread.c (main): Likewise.
9017         * tests/test-fwrite.c (main): Likewise.
9018         Reported by Jim Meyering.
9019
9020 2011-09-27  Bruno Haible  <bruno@clisp.org>
9021
9022         fputc, fwrite tests: Avoid test failure on MSVC.
9023         * tests/test-fgetc.c: Include msvc-inval.h.
9024         (main): Invoke gl_msvc_inval_ensure_handler.
9025         * tests/test-fputc.c: Include msvc-inval.h.
9026         (main): Invoke gl_msvc_inval_ensure_handler.
9027         * tests/test-fread.c: Include msvc-inval.h.
9028         (main): Invoke gl_msvc_inval_ensure_handler.
9029         * tests/test-fwrite.c: Include msvc-inval.h.
9030         (main): Invoke gl_msvc_inval_ensure_handler.
9031         * modules/fgetc-tests (Depends-on): Add msvc-inval.
9032         * modules/fputc-tests (Depends-on): Likewise.
9033         * modules/fread-tests (Depends-on): Likewise.
9034         * modules/fwrite-tests (Depends-on): Likewise.
9035
9036 2011-09-27  Bruno Haible  <bruno@clisp.org>
9037
9038         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
9039         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
9040         (raise): Remove older, duplicated declaration.
9041         (_gl_raise_SIGPIPE): New declaration.
9042         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
9043         (rpl_raise): Remove function.
9044         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
9045         a gnulib-defined SIGPIPE here.
9046         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
9047         'sigprocmask' has detected missing signal-blocking and the module
9048         'sigpipe' is enabled.
9049         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
9050
9051 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
9052
9053         base64-tests: avoid memory leak
9054         * tests/test-base64.c (main): Plug memory leak.
9055
9056         base32: new module
9057         * modules/base32: New module.
9058         * lib/base32.c: New file.
9059         * lib/base32.h: Likewise.
9060         * m4/base32.m4: Likewise.
9061         * modules/base32-tests: New test.
9062         * tests/test-base32.c: Likewise.
9063         * MODULES.html.sh (Misc): Mention it.
9064
9065 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
9066
9067         gnulib: use more-standard license notice wording
9068         * gnulib-tool (func_emit_copyright_notice): When emitting a
9069         license notice into a file, use the standard wording as suggested
9070         by the current information for GNU maintainers, except say "file"
9071         rather than "program".  The new wording gives a license version
9072         number, which addresses an issue raised by Glenn Morris in
9073         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
9074         * m4/onceonly.m4: Use that same wording here, too.
9075
9076         dup2: minor simplification
9077         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
9078         as lib/dup2.c no longer uses 'inline'.
9079
9080 2011-09-25  Bruno Haible  <bruno@clisp.org>
9081
9082         strings: Fix compilation error on MSVC.
9083         * lib/strings.in.h: Include <stddef.h> for size_t.
9084
9085 2011-09-25  Bruno Haible  <bruno@clisp.org>
9086
9087         fflush et al.: Document limitation on MSVC.
9088         * doc/posix-functions/fflush.texi: Document possible crash in handling
9089         mode other than DEFAULT_HANDLING.
9090         * doc/posix-functions/fgetc.texi: Likewise.
9091         * doc/posix-functions/fputc.texi: Likewise.
9092         * doc/posix-functions/fread.texi: Likewise.
9093         * doc/posix-functions/fwrite.texi: Likewise.
9094
9095 2011-09-25  Bruno Haible  <bruno@clisp.org>
9096
9097         msvc-inval: Allow three invalid parameter handling modes.
9098         * lib/msvc-inval.h: Don't include <stdlib.h> here.
9099         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
9100         macros.
9101         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
9102         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
9103         SANE_LIBRARY_HANDLING as a no-op.
9104         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
9105         <stdlib.h>.
9106         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
9107
9108 2011-09-25  Bruno Haible  <bruno@clisp.org>
9109
9110         msvc-inval: Make handler multithread-safe.
9111         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
9112         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
9113         declarations.
9114         (gl_msvc_inval_current): New declaration.
9115         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
9116         Operate on the structure returned by gl_msvc_inval_current().
9117         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
9118         Remove varaiables.
9119         (tls_index, tls_initialized): New variables.
9120         (not_per_thread): New variable.
9121         (gl_msvc_inval_current): New function.
9122         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
9123         returned by gl_msvc_inval_current().
9124
9125 2011-09-25  Bruno Haible  <bruno@clisp.org>
9126
9127         msvc-inval: Install handler globally.
9128         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
9129         !_MSC_VER.
9130         (gl_msvc_invalid_parameter_handler): Remove declaration.
9131         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
9132         declarations.
9133         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
9134         Install the handler globally, don't uninstall it.
9135         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
9136         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
9137         currently valid, call RaiseException instead.
9138         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
9139         for !_MSC_VER.
9140
9141 2011-09-25  Bruno Haible  <bruno@clisp.org>
9142
9143         strerror_r-posix: Fix for MSVC 9.
9144         * lib/strerror_r.c (local_snprintf): New function.
9145         (snprintf): Define to local_snprintf, not to _snprintf.
9146
9147 2011-09-25  Bruno Haible  <bruno@clisp.org>
9148
9149         ftruncate: Support for MSVC 9.
9150         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
9151         (chsize_nothrow): New function.
9152         (chsize): Redefine as a macro.
9153         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
9154         * modules/ftruncate (Depends-on): Add msvc-inval.
9155
9156 2011-09-25  Bruno Haible  <bruno@clisp.org>
9157
9158         New module 'fstat'.
9159         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
9160         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
9161         * lib/fchdir.c (rpl_fstat): Remove function.
9162         * m4/fstat.m4: New file.
9163         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
9164         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
9165         declared.
9166         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
9167         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
9168         * modules/fstat: New file.
9169         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
9170         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
9171         is set.
9172         * doc/posix-functions/fstat.texi: Mention the new module and the
9173         problem on MSVC.
9174         * NEWS: Mention the change.
9175         * modules/acl (Depends-on): Add fstat.
9176         * modules/chdir-safer (Depends-on): Likewise.
9177         * modules/chown (Depends-on): Likewise.
9178         * modules/copy-file (Depends-on): Likewise.
9179         * modules/fchdir (Depends-on): Likewise.
9180         * modules/fdopendir (Depends-on): Likewise.
9181         * modules/fopen (Depends-on): Likewise.
9182         * modules/fts (Depends-on): Likewise.
9183         * modules/getcwd (Depends-on): Likewise.
9184         * modules/isapipe (Depends-on): Likewise.
9185         * modules/linkat (Depends-on): Likewise.
9186         * modules/lseek (Depends-on): Likewise.
9187         * modules/mkdir-p (Depends-on): Likewise.
9188         * modules/open (Depends-on): Likewise.
9189         * modules/openat (Depends-on): Likewise.
9190         * modules/read-file (Depends-on): Likewise.
9191         * modules/renameat (Depends-on): Likewise.
9192         * modules/utimens (Depends-on): Likewise.
9193
9194 2011-09-25  Bruno Haible  <bruno@clisp.org>
9195
9196         linkat: Fix compilation on MSVC 9.
9197         * lib/linkat.c: Don't include <stdint.h>.
9198
9199 2011-09-25  Bruno Haible  <bruno@clisp.org>
9200
9201         fclose: Support for MSVC 9.
9202         * lib/fclose.c: Include msvc-inval.h.
9203         (fclose_nothrow): New function.
9204         (rpl_fclose): Use it.
9205         * modules/fclose (Depends-on): Add msvc-inval.
9206         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
9207
9208 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
9209
9210         dup2: minor simplifications
9211         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
9212         that it's a performance win.
9213         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
9214         ! defined __CYGWIN__)" to "ifdef F_GETFL".
9215
9216 2011-09-24  Jim Meyering  <meyering@redhat.com>
9217
9218         test-futimens: avoid a warning from gcc -Wshadow
9219         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
9220         to avoid a shadowing warning.
9221
9222 2011-09-24  Bruno Haible  <bruno@clisp.org>
9223
9224         fdopen: Support for MSVC 9.
9225         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
9226         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
9227         * lib/fdopen.c: Include msvc-inval.h.
9228         (fdopen_nothrow): New function.
9229         (rpl_fdopen): Use it.
9230         * modules/fdopen (Depends-on): Add msvc-inval.
9231         * modules/fclose-tests (Depends-on): Add fdopen.
9232         * modules/fflush-tests (Depends-on): Likewise.
9233         * modules/fgetc-tests (Depends-on): Likewise.
9234         * modules/fputc-tests (Depends-on): Likewise.
9235         * modules/fread-tests (Depends-on): Likewise.
9236         * modules/freopen-tests (Depends-on): Likewise.
9237         * modules/fseeko-tests (Depends-on): Likewise.
9238         * modules/ftello-tests (Depends-on): Likewise.
9239         * modules/fwrite-tests  (Depends-on): Likewise.
9240         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
9241
9242 2011-09-24  Bruno Haible  <bruno@clisp.org>
9243
9244         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
9245         * modules/fgetc-tests (Depends-on): Add unistd.
9246         * modules/fputc-tests (Depends-on): Likewise.
9247         * modules/fread-tests (Depends-on): Likewise.
9248         * modules/fwrite-tests (Depends-on): Likewise.
9249
9250 2011-09-24  Bruno Haible  <bruno@clisp.org>
9251
9252         dup: Simplify autoconf test.
9253         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
9254         on gl_MSVC_INVAL's result.
9255
9256 2011-09-24  Bruno Haible  <bruno@clisp.org>
9257
9258         Tests for function fwrite().
9259         * modules/fwrite-tests: New file.
9260         * tests/test-fwrite.c: New file.
9261         * modules/stdio-tests (Depends-on): Add fwrite-tests.
9262
9263         Tests for function fread().
9264         * modules/fread-tests: New file.
9265         * tests/test-fread.c: New file.
9266         * modules/stdio-tests (Depends-on): Add fread-tests.
9267
9268         Activate fputc tests.
9269         * modules/stdio-tests (Depends-on): Add fputc-tests.
9270
9271         Enhance fgetc, fputc tests.
9272         * tests/test-fgetc.c (main): Also test the stream's error indicator.
9273         * tests/test-fputc.c (main): Likewise.
9274
9275 2011-09-24  Bruno Haible  <bruno@clisp.org>
9276
9277         write: Support for MSVC 9.
9278         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
9279         is not 1.
9280         * lib/write.c (write_nothrow): New function.
9281         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
9282         not 1. Use write_nothrow.
9283         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
9284         invalid parameter handler.
9285         (gl_PREREQ_WRITE): New macro.
9286         * modules/write (Depends-on): Add msvc-inval.
9287         (configure.ac): Invoke gl_PREREQ_WRITE.
9288         * doc/posix-functions/write.texi: Mention the problem on MSVC.
9289
9290 2011-09-24  Bruno Haible  <bruno@clisp.org>
9291
9292         read: Fix last commit.
9293         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
9294
9295 2011-09-24  Bruno Haible  <bruno@clisp.org>
9296
9297         dup2: Fix last commit.
9298         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
9299         (rpl_dup2): Disable fcntl workaround on native Windows.
9300
9301         sigprocmask: Make code safer.
9302         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
9303         section that changes macro definitions for this compilation unit.
9304
9305 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
9306
9307         dup2: clarify by coalescing Windows-specific material
9308         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
9309         "msvc-nothrow.h"' to the Windows-specific section, so that the
9310         Emacs source need not contain these include files.
9311         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
9312         Windows-specific fixes into this function rather than just the
9313         nothrow fix, as this shortens and clarifies the code.  Always
9314         define as a function, as that's a bit cleaner than having it be
9315         sometimes a function and sometimes a macro.
9316         (rpl_dup2): Move the Windows-specific stuff out of here and into
9317         ms_windows_dup2.  Don't protect the Haiku-related fix with
9318         "#if !defined __linux__", as the same code also works around
9319         a Linux kernel bug, and it doesn't add any system calls on any
9320         platform.  Add comment about FreeBSD 6.1.
9321
9322         sigprocmask: move #include directive
9323         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
9324         Windows-specific section, so that the Emacs source need not
9325         contain msvc-inval.h.
9326
9327 2011-09-23  Bruno Haible  <bruno@clisp.org>
9328
9329         read: Support for MSVC 9.
9330         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
9331         is not 1.
9332         * lib/read.c (read_nothrow): New function.
9333         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
9334         read_nothrow.
9335         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
9336         invalid parameter handler.
9337         (gl_PREREQ_READ): New macro.
9338         * modules/read (Depends-on): Add msvc-inval.
9339         (configure.ac): Invoke gl_PREREQ_READ.
9340         * doc/posix-functions/read.texi: Mention the problem on MSVC.
9341
9342 2011-09-23  Bruno Haible  <bruno@clisp.org>
9343
9344         close: Support for MSVC 9.
9345         * lib/close.c: Include <errno.h>, msvc-inval.h.
9346         (close_nothrow): New function.
9347         (rpl_close): Use it.
9348         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
9349         invalid parameter handler.
9350         * modules/close (Depends-on): Add msvc-inval.
9351         * modules/dup2-tests (Depends-on): Add close.
9352         * modules/dup3-tests (Depends-on): Likewise.
9353         * modules/fcntl-tests (Depends-on): Likewise.
9354         * modules/spawn-pipe-tests (Depends-on): Likewise.
9355         * modules/unistd-safer-tests (Depends-on): Likewise.
9356         * doc/posix-functions/close.texi: Mention the problem on MSVC.
9357
9358 2011-09-23  Bruno Haible  <bruno@clisp.org>
9359
9360         New module 'dup'.
9361         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
9362         Allow replacement.
9363         * lib/dup.c: New file.
9364         * lib/fchdir.c (rpl_dup): Remove function.
9365         * m4/dup.m4: New file.
9366         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
9367         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
9368         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
9369         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
9370         * modules/dup: New file.
9371         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
9372         'dup' module is in use.
9373         * modules/fdopendir (Depends-on): Add dup.
9374         * modules/fdutimensat-tests (Depends-on): Likewise.
9375         * modules/fts (Depends-on): Likewise.
9376         * modules/futimens-tests (Depends-on): Likewise.
9377         * modules/posix_spawnp-tests (Depends-on): Likewise.
9378         * modules/unistd-safer-tests (Depends-on): Likewise.
9379         * modules/utimens-tests (Depends-on): Likewise.
9380         * doc/posix-functions/dup.texi: Mention the new module and the problem
9381         on MSVC.
9382
9383 2011-09-23  Bruno Haible  <bruno@clisp.org>
9384
9385         getdtablesize: Support for MSVC 9.
9386         * lib/getdtablesize.c: Include msvc-inval.h.
9387         (_setmaxstdio_nothrow): New function.
9388         (_setmaxstdio): Redefine it.
9389         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
9390         * modules/getdtablesize (Depends-on): Add msvc-inval.
9391         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
9392
9393 2011-09-23  Bruno Haible  <bruno@clisp.org>
9394
9395         signal-h: Rename from signal.
9396         * modules/signal-h: Renamed from modules/signal.
9397         * modules/pthread_sigmask (Depends-on): Update.
9398         * modules/raise (Depends-on): Likewise.
9399         * modules/sigaction (Depends-on): Likewise.
9400         * modules/sigpipe (Depends-on): Likewise.
9401         * modules/sigprocmask (Depends-on): Likewise.
9402         * modules/sys_select (Depends-on): Likewise.
9403         * modules/signal-h-tests: Renamed from modules/signal-tests.
9404         (Files, Depends-on, Makefile.am): Update.
9405         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
9406         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
9407         (Files, Makefile.am): Update.
9408         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
9409         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
9410         * modules/signal: New placeholder file.
9411         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
9412         * doc/posix-headers/signal.texi: Update.
9413         * NEWS: Mention the change.
9414
9415 2011-09-23  Bruno Haible  <bruno@clisp.org>
9416
9417         sigprocmask: Avoid crashes through signal() on MSVC 9.
9418         * lib/sigprocmask.c: Include msvc-inval.h.
9419         (signal_nothrow): New function.
9420         (signal): Redefine it.
9421         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
9422         * modules/sigprocmask (Depends-on): Add msvc-inval.
9423         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
9424
9425 2011-09-23  Bruno Haible  <bruno@clisp.org>
9426
9427         Tests for module 'raise'.
9428         * modules/raise-tests: New file.
9429         * tests/test-raise.c: New file.
9430
9431         raise: Support for MSVC.
9432         * lib/signal.in.h (raise): New declaration.
9433         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
9434         for native Windows platforms.
9435         * m4/raise.m4: New file.
9436         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
9437         HAVE_RAISE, REPLACE_RAISE.
9438         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
9439         REPLACE_RAISE.
9440         * modules/raise (Status, Notice): Remove fields.
9441         (Files): Add m4/raise.m4.
9442         (Depends-on): Add signal, msvc-inval.
9443         (configure.ac): Use the common idioms.
9444         (Maintainer): Add me.
9445         * tests/test-signal-c++.cc: Check the signature of raise.
9446         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
9447
9448 2011-09-23  Bruno Haible  <bruno@clisp.org>
9449
9450         pipe2: Fix compilation on pre-C99 compilers.
9451         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
9452
9453 2011-09-23  Bruno Haible  <bruno@clisp.org>
9454
9455         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
9456         * lib/msvc-nothrow.h: New file.
9457         * lib/msvc-nothrow.c: New file.
9458         * m4/msvc-nothrow.m4: New file.
9459         * modules/msvc-nothrow: New file.
9460         * lib/dup2.c: Include msvc-nothrow.h.
9461         (rpl_dup2): No need to protect _get_osfhandle call here.
9462         * lib/accept4.c: Include msvc-nothrow.h.
9463         * lib/error.c: Likewise.
9464         * lib/fcntl.c: Likewise.
9465         * lib/lseek.c: Likewise.
9466         * lib/nonblocking.c: Likewise.
9467         * lib/poll.c: Likewise.
9468         * lib/read.c: Likewise.
9469         * lib/select.c: Likewise.
9470         * lib/sockets.h: Likewise.
9471         * lib/sockets.c: Likewise.
9472         * lib/stdio-read.c: Likewise.
9473         * lib/stdio-write.c: Likewise.
9474         * lib/write.c: Likewise.
9475         * lib/w32sock.h: Likewise.
9476         * lib/w32spawn.h: Likewise.
9477         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
9478         * lib/fsync.c: Likewise.
9479         * lib/isapipe.c: Likewise.
9480         * modules/dup2 (Depends-on): Add msvc-nothrow.
9481         * modules/accept4 (Depends-on): Likewise.
9482         * modules/error (Depends-on): Likewise.
9483         * modules/fcntl (Depends-on): Likewise.
9484         * modules/lseek (Depends-on): Likewise.
9485         * modules/nonblocking (Depends-on): Likewise.
9486         * modules/poll (Depends-on): Likewise.
9487         * modules/read (Depends-on): Likewise.
9488         * modules/select (Depends-on): Likewise.
9489         * modules/sockets (Depends-on): Likewise.
9490         * modules/sigpipe (Depends-on): Likewise.
9491         * modules/write (Depends-on): Likewise.
9492         * modules/accept (Depends-on): Likewise.
9493         * modules/bind (Depends-on): Likewise.
9494         * modules/connect (Depends-on): Likewise.
9495         * modules/gethostname (Depends-on): Likewise.
9496         * modules/getpeername (Depends-on): Likewise.
9497         * modules/getsockname (Depends-on): Likewise.
9498         * modules/getsockopt (Depends-on): Likewise.
9499         * modules/ioctl (Depends-on): Likewise.
9500         * modules/listen (Depends-on): Likewise.
9501         * modules/recv (Depends-on): Likewise.
9502         * modules/recvfrom (Depends-on): Likewise.
9503         * modules/send (Depends-on): Likewise.
9504         * modules/sendto (Depends-on): Likewise.
9505         * modules/setsockopt (Depends-on): Likewise.
9506         * modules/shutdown (Depends-on): Likewise.
9507         * modules/socket (Depends-on): Likewise.
9508         * modules/execute (Depends-on): Likewise.
9509         * modules/spawn-pipe (Depends-on): Likewise.
9510         * modules/flock (Depends-on): Likewise.
9511         * modules/fsync (Depends-on): Likewise.
9512         * modules/isapipe (Depends-on): Likewise.
9513         * tests/test-cloexec.c: Include msvc-nothrow.h.
9514         * tests/test-dup-safer.c: Likewise.
9515         * tests/test-dup2.c: Likewise.
9516         * tests/test-dup3.c: Likewise.
9517         * tests/test-fcntl.c: Likewise.
9518         * tests/test-pipe.c: Likewise.
9519         * tests/test-pipe2.c: Likewise.
9520         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
9521         * modules/unistd-safer-tests (Depends-on): Likewise.
9522         * modules/dup2-tests (Depends-on): Likewise.
9523         * modules/dup3-tests (Depends-on): Likewise.
9524         * modules/fcntl-tests (Depends-on): Likewise.
9525         * modules/pipe-posix-tests (Depends-on): Likewise.
9526         * modules/pipe2-tests (Depends-on): Likewise.
9527
9528 2011-09-23  Bruno Haible  <bruno@clisp.org>
9529
9530         dup2: Make code more maintainable.
9531         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
9532         (rpl_dup2): Use it.
9533         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
9534         * modules/dup2 (configure.ac): Invoke it.
9535         Reported by Paul Eggert.
9536
9537 2011-09-23  Bruno Haible  <bruno@clisp.org>
9538
9539         msvc-inval: Fix compilation error.
9540         * lib/msvc-inval.h: Include <excpt.h>.
9541
9542 2011-09-23  Bruno Haible  <bruno@clisp.org>
9543
9544         mkdir: Tweak for MSVC 9.
9545         * lib/sys_stat.in.h: Update comments.
9546         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
9547
9548         Tests for module 'chdir'.
9549         * modules/chdir-tests: New file.
9550         * tests/test-chdir.c: New file.
9551
9552         New module 'chdir'.
9553         * modules/chdir: New file.
9554         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
9555         (chdir): New declaration.
9556         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
9557         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
9558         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
9559         * tests/test-unistd-c++.cc: Check signature of chdir.
9560         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
9561         * modules/chdir-long (Depends-on): Add chdir.
9562         * modules/fchdir (Depends-on): Likewise.
9563         * modules/rename (Depends-on): Likewise.
9564         * modules/savewd (Depends-on): Likewise.
9565
9566         rmdir: Support for mingw, MSVC 9.
9567         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
9568         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
9569
9570         getcwd: Tweak for MSVC 9.
9571         * lib/unistd.in.h: Update comments.
9572         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
9573
9574 2011-09-22  Bruno Haible  <bruno@clisp.org>
9575
9576         strerror_r-posix: Avoid a link error on MSVC.
9577         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
9578         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
9579
9580 2011-09-22  Bruno Haible  <bruno@clisp.org>
9581
9582         select: Avoid link errors on MSVC.
9583         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
9584         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
9585         * modules/pselect (Link): Likewise.
9586         * NEWS: Mention the change.
9587         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
9588         test-select-stdin against $(LIB_SELECT).
9589         * modules/pselect-tests (Makefile.am): Link test-pselect against
9590         $(LIB_SELECT).
9591
9592 2011-09-22  Bruno Haible  <bruno@clisp.org>
9593
9594         select: Avoid compilation error on MSVC.
9595         * lib/select.c: Don't include <stdbool.h>.
9596
9597 2011-09-21  Bruno Haible  <bruno@clisp.org>
9598
9599         Consolidate all uses of PATH_MAX in *.m4 files.
9600         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
9601         macros.
9602         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
9603         and gl_PATHMAX_SNIPPET.
9604         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
9605         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
9606         * modules/chdir-long (Files): Add m4/pathmax.m4.
9607         * modules/getcwd (Files): Likewise.
9608
9609 2011-09-21  Bruno Haible  <bruno@clisp.org>
9610
9611         ftruncate: Un-deprecate, concentrate on Win32 support.
9612         * modules/ftruncate (Status, Notice): Remove sections.
9613         (Depends-on): Add largefile.
9614         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
9615         non-mingw platforms.
9616         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
9617         include <io.h>.
9618         * modules/perror-tests (Depends-on): Add ftruncate.
9619         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
9620         'ftruncate' module.
9621
9622 2011-09-21  Bruno Haible  <bruno@clisp.org>
9623
9624         Add dependencies to new dirent related modules.
9625         * modules/opendir (Depends-on): Add closedir.
9626         * modules/getcwd (Depends-on): Add opendir, closedir.
9627         * modules/dirent-safer-tests (Depends-on): Likewise.
9628         * modules/fdopendir-tests (Depends-on): Likewise.
9629         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
9630         * modules/renameat-tests (Depends-on): Likewise.
9631
9632 2011-09-21  Bruno Haible  <bruno@clisp.org>
9633
9634         opendir: Avoid compilation error on mingw.
9635         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
9636         * modules/opendir (Depends-on): Add unistd.
9637
9638 2011-09-21  Bruno Haible  <bruno@clisp.org>
9639
9640         ftruncate tests: Avoid a test failure on mingw.
9641         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
9642
9643 2011-09-21  Bruno Haible  <bruno@clisp.org>
9644
9645         select tests: Avoid test failures on OSF/1 5.1 and mingw.
9646         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
9647         native Windows.
9648
9649 2011-09-21  Bruno Haible  <bruno@clisp.org>
9650
9651         New module 'fdopen'.
9652         * lib/stdio.in.h (fdopen): New declaration.
9653         * lib/fdopen.c: New file.
9654         * m4/fdopen.m4: New file.
9655         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
9656         REPLACE_FDOPEN.
9657         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
9658         REPLACE_FDOPEN.
9659         * modules/fdopen: New file.
9660         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
9661         * tests/test-stdio-c++.cc: Check signature of fdopen.
9662         * doc/posix-functions/fdopen.texi: Mention the new module.
9663
9664 2011-09-21  Bruno Haible  <bruno@clisp.org>
9665
9666         unlockpt tests: Avoid test failure on NetBSD 5.1.
9667         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
9668         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
9669
9670 2011-09-21  Bruno Haible  <bruno@clisp.org>
9671
9672         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
9673         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
9674         * tests/test-getlogin_r.c (main): Likewise.
9675
9676 2011-09-20  Bruno Haible  <bruno@clisp.org>
9677
9678         time tests: Don't require pid_t.
9679         * doc/posix-headers/time.texi: Revert last change.
9680         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
9681         * tests/test-time.c: Comment out the check for pid_t.
9682
9683 2011-09-20  Bruno Haible  <bruno@clisp.org>
9684
9685         fsync tests: Avoid a test failure on mingw.
9686         * tests/test-fsync.c (main): Allow a failure with EIO.
9687
9688 2011-09-20  Bruno Haible  <bruno@clisp.org>
9689
9690         euidaccess: Update comments.
9691         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
9692
9693 2011-09-20  Bruno Haible  <bruno@clisp.org>
9694
9695         Ensure EBADF returns for socket functions on mingw.
9696         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
9697         descriptor is invalid.
9698         * lib/bind.c (rpl_bind): Likewise.
9699         * lib/connect.c (rpl_connect): Likewise.
9700         * lib/getpeername.c (rpl_getpeername): Likewise.
9701         * lib/getsockname.c (rpl_getsockname): Likewise.
9702         * lib/getsockopt.c (rpl_getsockopt): Likewise.
9703         * lib/listen.c (rpl_listen): Likewise.
9704         * lib/recv.c (rpl_recv): Likewise.
9705         * lib/recvfrom.c (rpl_recvfrom): Likewise.
9706         * lib/send.c (rpl_send): Likewise.
9707         * lib/sendto.c (rpl_sendto): Likewise.
9708         * lib/setsockopt.c (rpl_setsockopt): Likewise.
9709         * lib/shutdown.c (rpl_shutdown): Likewise.
9710
9711 2011-09-20  Bruno Haible  <bruno@clisp.org>
9712
9713         select tests: EBADF tests.
9714         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
9715         test_bad_fd): New functions.
9716         (test_function): Invoke also test_bad_fd.
9717
9718 2011-09-20  Bruno Haible  <bruno@clisp.org>
9719
9720         Tests for module 'posix_spawn_file_actions_addopen.
9721         * modules/posix_spawn_file_actions_addopen-tests: New file.
9722         * tests/test-posix_spawn_file_actions_addopen.c: New file.
9723
9724         Tests for module 'posix_spawn_file_actions_adddup2'.
9725         * modules/posix_spawn_file_actions_adddup2-tests: New file.
9726         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
9727
9728         Tests for module 'posix_spawn_file_actions_addclose'.
9729         * modules/posix_spawn_file_actions_addclose-tests: New file.
9730         * tests/test-posix_spawn_file_actions_addclose.c: New file.
9731
9732 2011-09-20  Bruno Haible  <bruno@clisp.org>
9733
9734         Tests for module 'unlockpt'.
9735         * modules/unlockpt-tests: New file.
9736         * tests/test-unlockpt.c: New file.
9737         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
9738
9739         Tests for module 'grantpt'.
9740         * modules/grantpt-tests: New file.
9741         * tests/test-grantpt.c: New file.
9742         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
9743
9744 2011-09-20  Bruno Haible  <bruno@clisp.org>
9745
9746         freopen tests: EBADF tests.
9747         * tests/test-freopen.c: Include errno.h, unistd.h.
9748         (main): Add tests for EBADF, commented out for the moment.
9749
9750         fclose tests: EBADF tests.
9751         * tests/test-fclose.c (main): Add tests for EBADF.
9752
9753         fflush tests: EBADF tests.
9754         * tests/test-fflush.c: Include errno.h, macros.h.
9755         (main): Add tests for EBADF.
9756
9757         ftello tests: EBADF tests.
9758         * tests/test-ftello4.sh: New file.
9759         * tests/test-ftello4.c: New file.
9760         * modules/ftello-tests (Files): Add them.
9761         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
9762
9763         fseeko tests: EBADF tests.
9764         * tests/test-fseeko4.sh: New file.
9765         * tests/test-fseeko4.c: New file.
9766         * modules/fseeko-tests (Files): Add them.
9767         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
9768
9769         Tests for function fputc().
9770         * modules/fputc-tests: New file.
9771         * tests/test-fputc.c: New file.
9772         * modules/stdio-tests (Depends-on): Add fputc-tests.
9773
9774         Tests for function fgetc().
9775         * modules/fgetc-tests: New file.
9776         * tests/test-fgetc.c: New file.
9777         * modules/stdio-tests (Depends-on): Add fgetc-tests.
9778
9779         Tests for function fdopen().
9780         * modules/fdopen-tests: New file.
9781         * tests/test-fdopen.c: New file.
9782         * modules/stdio-tests (Depends-on): Add fdopen-tests.
9783
9784         Tests for module 'vdprintf'.
9785         * modules/vdprintf-tests: New file.
9786         * tests/test-vdprintf.c: New file.
9787
9788         Tests for module 'dprintf'.
9789         * modules/dprintf-tests: New file.
9790         * tests/test-dprintf.c: New file.
9791
9792 2011-09-20  Bruno Haible  <bruno@clisp.org>
9793
9794         Tests for module 'ioctl'.
9795         * modules/ioctl-tests: New file.
9796         * tests/test-ioctl.c: New file.
9797
9798 2011-09-20  Bruno Haible  <bruno@clisp.org>
9799
9800         fcntl tests: EBADF tests.
9801         * tests/test-fcntl.c (main): Add more tests for EBADF.
9802
9803 2011-09-20  Bruno Haible  <bruno@clisp.org>
9804
9805         utimensat tests: EBADF tests.
9806         * tests/test-utimensat.c (main): Add tests for EBADF.
9807
9808         renameat tests: EBADF tests.
9809         * tests/test-renameat.c (main): Add tests for EBADF.
9810
9811         mkfifoat tests: EBADF tests.
9812         * tests/test-mkfifoat.c (main): Add tests for EBADF.
9813
9814         readlinkat tests: EBADF tests.
9815         * tests/test-readlinkat.c (main): Add tests for EBADF.
9816
9817         symlinkat tests: EBADF tests.
9818         * tests/test-symlinkat.c (main): Add tests for EBADF.
9819
9820         linkat tests: EBADF tests.
9821         * tests/test-linkat.c (main): Add tests for EBADF.
9822
9823         Tests for module 'faccessat'.
9824         * modules/faccessat-tests: New file.
9825         * tests/test-faccessat.c: New file.
9826
9827         fdopendir tests: EBADF tests.
9828         * tests/test-fdopendir.c (main): Add more tests for EBADF.
9829
9830         openat tests: EBADF tests.
9831         * tests/test-fchownat.c (main): Add tests for EBADF.
9832         * tests/test-fstatat.c (main): Likewise.
9833         * tests/test-mkdirat.c (main): Likewise.
9834         * tests/test-openat.c (main): Likewise.
9835         * tests/test-unlinkat.c (main): Likewise.
9836         * tests/test-fchmodat.c: New file.
9837         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
9838         (Makefile.am): Also run 'test-fchmodat'.
9839
9840 2011-09-20  Bruno Haible  <bruno@clisp.org>
9841
9842         utimens, futimens, fdutimensat tests: EBADF tests.
9843         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
9844
9845         Tests for function fstat().
9846         * modules/fstat-tests: New file.
9847         * tests/test-fstat.c: New file.
9848         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
9849
9850 2011-09-20  Bruno Haible  <bruno@clisp.org>
9851
9852         test-ttyname_r tests: EBADF tests.
9853         * tests/test-ttyname_r.c (main): Add tests for EBADF.
9854
9855         Tests for module 'isatty'.
9856         * modules/isatty-tests: New file.
9857         * tests/test-isatty.c: New file.
9858
9859         Tests for module 'write'.
9860         * modules/write-tests: New file.
9861         * tests/test-write.c: New file.
9862
9863         Tests for module 'read'.
9864         * modules/read-tests: New file.
9865         * tests/test-read.c: New file.
9866
9867         pwrite tests: EBADF tests.
9868         * tests/test-pwrite.c (main): Add tests for EBADF.
9869
9870         pread tests: EBADF tests.
9871         * tests/test-pread.c (main): Add tests for EBADF.
9872
9873         lseek tests: EBADF tests.
9874         * tests/test-lseek.c (main): Add more tests for EBADF.
9875
9876         Tests for module 'ftruncate'.
9877         * modules/ftruncate-tests: New file.
9878         * tests/test-ftruncate.sh: New file.
9879         * tests/test-ftruncate.c: New file.
9880
9881         fsync tests: EBADF tests.
9882         * tests/test-fsync.c (main): Add more tests for EBADF.
9883
9884         fdatasync tests: EBADF tests.
9885         * tests/test-fdatasync.c (main): Add more tests for EBADF.
9886
9887         Tests for module 'fchown'.
9888         * modules/fchown-tests: New file.
9889         * tests/test-fchown.c: New file.
9890
9891         Tests for module 'fchmod'.
9892         * modules/fchmod-tests: New file.
9893         * tests/test-fchmod.c: New file.
9894
9895         fchdir tests: EBADF tests.
9896         * tests/test-fchdir.c (main): Add more tests for EBADF.
9897
9898         dup2 tests: EBADF tests.
9899         * tests/test-dup2.c (main): Add more tests for EBADF.
9900
9901         Tests for module 'dup'.
9902         * modules/dup-tests: New file.
9903         * tests/test-dup.c: New file.
9904
9905         Tests for module 'close'.
9906         * modules/close-tests: New file.
9907         * tests/test-close.c: New file.
9908
9909 2011-09-20  Bruno Haible  <bruno@clisp.org>
9910
9911         Tests for module 'shutdown'.
9912         * modules/shutdown-tests: New file.
9913         * tests/test-shutdown.c: New file.
9914
9915         Tests for module 'setsockopt'.
9916         * modules/setsockopt-tests: New file.
9917         * tests/test-setsockopt.c: New file.
9918
9919         Tests for module 'sendto'.
9920         * modules/sendto-tests: New file.
9921         * tests/test-sendto.c: New file.
9922
9923         Tests for module 'send'.
9924         * modules/send-tests: New file.
9925         * tests/test-send.c: New file.
9926
9927         Tests for module 'recvfrom'.
9928         * modules/recvfrom-tests: New file.
9929         * tests/test-recvfrom.c: New file.
9930
9931         Tests for module 'recv'.
9932         * modules/recv-tests: New file.
9933         * tests/test-recv.c: New file.
9934
9935         Tests for module 'listen'.
9936         * modules/listen-tests: New file.
9937         * tests/test-listen.c: New file.
9938
9939         Tests for module 'getsockopt'.
9940         * modules/getsockopt-tests: New file.
9941         * tests/test-getsockopt.c: New file.
9942
9943         Tests for module 'getsockname'.
9944         * modules/getsockname-tests: New file.
9945         * tests/test-getsockname.c: New file.
9946
9947         Tests for module 'getpeername'.
9948         * modules/getpeername-tests: New file.
9949         * tests/test-getpeername.c: New file.
9950
9951         Tests for module 'connect'.
9952         * modules/connect-tests: New file.
9953         * tests/test-connect.c: New file.
9954
9955         Tests for module 'bind'.
9956         * modules/bind-tests: New file.
9957         * tests/test-bind.c: New file.
9958
9959         accept4 tests: Fix for native Windows.
9960         * tests/test-accept4.c: Include sockets.h.
9961         (main): Invoke gl_sockets_startup.
9962         * modules/accept4-tests (Depends-on): Add sockets.
9963
9964         accept tests: Fix for native Windows.
9965         * tests/test-accept.c: Include sockets.h.
9966         (main): Invoke gl_sockets_startup.
9967         * modules/accept-tests (Depends-on): Add sockets.
9968
9969 2011-09-19  Bruno Haible  <bruno@clisp.org>
9970
9971         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
9972         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
9973         do...while(0).
9974         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
9975         Suggested by Paul Eggert.
9976
9977 2011-09-19  Bruno Haible  <bruno@clisp.org>
9978
9979         sched: Ensure pid_t is defined.
9980         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
9981         not define pid_t.
9982         * lib/sched.in.h: Include <sys/types.h>.
9983         * doc/posix-headers/sched.texi: Mention the pid_t problem.
9984         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9985
9986 2011-09-19  Bruno Haible  <bruno@clisp.org>
9987
9988         msvc-inval: Ensure the entire expansion is a single statement.
9989         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
9990         of braces.
9991
9992 2011-09-19  Jim Meyering  <meyering@redhat.com>
9993
9994         tests: use printf, not echo in init.sh's warn_ function
9995         * tests/init.sh (warn_): Use printf, not echo.  The latter would
9996         misbehave when given strings containing a backslash or starting
9997         with e.g., -n.  James Youngman suggested setting IFS.
9998
9999 2011-09-19  Eric Blake  <eblake@redhat.com>
10000
10001         futimens: enhance test
10002         * tests/test-futimens.h (test_futimens): Also check for EBADF on
10003         closed non-negative fd.
10004
10005         date: accept 'hence' as opposite of 'ago'
10006         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
10007         * tests/test-parse-datetime.c (main): Enhance test.
10008         Suggested by Jesse Wilson.
10009
10010 2011-09-19  Jim Meyering  <meyering@redhat.com>
10011
10012         getcwd: don't fail in a deep directory on a system without openat
10013         Before this change, getcwd would fail when called from a directory
10014         of depth PATH_MAX / 3 or greater.  That was due to the fact that
10015         the non-openat implementation used "..", "../..", "../../..", etc.
10016         to access ancestor directories.  With too many, that string would
10017         be longer than PATH_MAX.
10018         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
10019         using gnulib's openat replacement.
10020         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
10021         we're using the replacement function.
10022
10023 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
10024
10025         maint.mk: avoid warnings from perl about missing files
10026         * top/maint.mk (def_sym_regex): Ignore files listed in
10027         $(gl_other_headers_) that do not exist, say because a project
10028         does not use a corresponding module.
10029
10030 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
10031
10032         stat: use pathmax.h only if needed
10033         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
10034         This is better for Emacs, which does not have a mingw port and
10035         therefore can avoid the pathmax module.
10036
10037         utimens: remove dependency on dup2
10038         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
10039         to work around the Linux kernel bug.
10040         * modules/utimens (Depends-on): Remove dup2.
10041
10042 2011-09-18  Bruno Haible  <bruno@clisp.org>
10043
10044         inet_ntop, inet_pton: Look for it also in libresolv.
10045         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
10046         libnsl, search for it in libresolv.
10047         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
10048         Needed on Solaris 7.
10049
10050 2011-09-18  Bruno Haible  <bruno@clisp.org>
10051
10052         accept, accept4 tests: Avoid link error on Solaris.
10053         * modules/accept-tests (Makefile.am): Link test-accept against
10054         $(LIBSOCKET).
10055         * modules/accept4-tests (Makefile.am): Link test-accept4 against
10056         $(LIBSOCKET).
10057
10058         accept4: Avoid link error on Solaris.
10059         * modules/accept4 (Link): New section.
10060
10061         socket functions: Avoid link errors on Solaris.
10062         * modules/accept (Depends-on): Add socketlib.
10063         (Link): New section.
10064         * modules/bind (Depends-on): Add socketlib.
10065         (Link): New section.
10066         * modules/connect (Depends-on): Add socketlib.
10067         (Link): New section.
10068         * modules/getpeername (Depends-on): Add socketlib.
10069         (Link): New section.
10070         * modules/getsockname (Depends-on): Add socketlib.
10071         (Link): New section.
10072         * modules/getsockopt (Depends-on): Add socketlib.
10073         (Link): New section.
10074         * modules/listen (Depends-on): Add socketlib.
10075         (Link): New section.
10076         * modules/recv (Depends-on): Add socketlib.
10077         (Link): New section.
10078         * modules/recvfrom (Depends-on): Add socketlib.
10079         (Link): New section.
10080         * modules/send (Depends-on): Add socketlib.
10081         (Link): New section.
10082         * modules/sendto (Depends-on): Add socketlib.
10083         (Link): New section.
10084         * modules/setsockopt (Depends-on): Add socketlib.
10085         (Link): New section.
10086         * modules/shutdown (Depends-on): Add socketlib.
10087         (Link): New section.
10088         * modules/socket (Depends-on): Add socketlib.
10089         (Link): New section.
10090
10091 2011-09-18  Bruno Haible  <bruno@clisp.org>
10092
10093         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
10094         * tests/test-ptsname.c (main): Terminate the test if it takes longer
10095         than 5 seconds.
10096         * modules/ptsname-tests (configure.ac): Test for alarm.
10097
10098 2011-09-18  Bruno Haible  <bruno@clisp.org>
10099
10100         posix_spawn_file_actions_add*: Fix module dependencies.
10101         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
10102         posix_spawn_file_actions_init.
10103         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
10104         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
10105
10106 2011-09-18  Bruno Haible  <bruno@clisp.org>
10107
10108         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
10109         * tests/test-rename.h (test_rename): Allow error code EEXIST.
10110         * tests/test-renameat.c (main): Likewise.
10111
10112 2011-09-18  Bruno Haible  <bruno@clisp.org>
10113
10114         Tests for module 'accept4'.
10115         * modules/accept4-tests: New file.
10116         * tests/test-accept4.c: New file.
10117
10118 2011-09-18  Bruno Haible  <bruno@clisp.org>
10119
10120         Tests for module 'accept'.
10121         * modules/accept-tests: New file.
10122         * tests/test-accept.c: New file.
10123
10124 2011-09-18  Bruno Haible  <bruno@clisp.org>
10125
10126         dup2: Support for MSVC.
10127         * lib/dup2.c: Include msvc-inval.h.
10128         (rpl_dup2): Handle invalid parameter notifications during dup2 and
10129         _get_osfhandle calls.
10130         * modules/dup2 (Depends-on): Add msvc-inval.
10131         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
10132
10133         New module 'msvc-inval'.
10134         * lib/msvc-inval.h: New file.
10135         * lib/msvc-inval.c: New file.
10136         * m4/msvc-inval.m4: New file.
10137         * modules/msvc-inval: New file.
10138
10139 2011-09-17  Bruno Haible  <bruno@clisp.org>
10140
10141         Tests for module 'pclose'.
10142         * modules/pclose-tests: New file.
10143
10144         New module 'pclose'.
10145         * lib/stdio.in.h (pclose): New declaration.
10146         * lib/pclose.c: New file.
10147         * m4/pclose.m4: New file.
10148         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
10149         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
10150         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
10151         * modules/pclose: New file.
10152         * modules/popen-tests (Depends-on): Add pclose.
10153         * modules/popen-safer-tests (Depends-on): Likewise.
10154         * doc/posix-functions/pclose.texi: Mention the new module.
10155
10156 2011-09-17  Bruno Haible  <bruno@clisp.org>
10157
10158         popen: Support for MSVC.
10159         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
10160         * lib/popen.c (popen): Provide alternate definition for native Windows.
10161         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
10162         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
10163         * modules/popen (Depends-on, configure.ac): Update condition.
10164         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
10165         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
10166         fixed.
10167
10168 2011-09-17  Bruno Haible  <bruno@clisp.org>
10169
10170         isnanl, isnand, isnanf: Work around MSVC bug.
10171         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
10172
10173 2011-09-17  Bruno Haible  <bruno@clisp.org>
10174
10175         sys_socket tests: Fix recent mistake.
10176         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
10177
10178 2011-09-17  Bruno Haible  <bruno@clisp.org>
10179
10180         putenv: Support for MSVC.
10181         * modules/putenv (Depends-on): Add environ.
10182         * lib/putenv.c (environ): Disable declaration.
10183         * lib/unistd.in.h: Update comment.
10184
10185 2011-09-17  Bruno Haible  <bruno@clisp.org>
10186
10187         math: Avoid macro redefinition warnings on MSVC.
10188         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
10189         Undefine before redefining.
10190
10191 2011-09-17  Bruno Haible  <bruno@clisp.org>
10192
10193         doc: Mention functions which are declared as macros.
10194         * doc/posix-functions/*[fl].texi: Mention that some functions are
10195         defined as macros with arguments only.
10196
10197 2011-09-17  Bruno Haible  <bruno@clisp.org>
10198
10199         Add dependencies to new dirent related modules.
10200         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
10201         * modules/fts (Depends-on): Likewise.
10202         * modules/glob (Depends-on): Likewise.
10203         * modules/savedir (Depends-on): Likewise.
10204         * modules/scandir (Depends-on): Likewise.
10205         * modules/dirent-safer (Depends-on): Add opendir, closedir.
10206         * modules/fdopendir (Depends-on): Add opendir.
10207
10208 2011-09-17  Bruno Haible  <bruno@clisp.org>
10209
10210         inet_pton: Support for MSVC on Windows Vista or newer.
10211         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
10212         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
10213         HAVE_DECL_INET_PTON is defined.
10214         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
10215         On platforms with <winsock2.h>, test whether inet_pton is declared in
10216         <ws2tcpip.h>. If so, arrange to replace it.
10217         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
10218         REPLACE_INET_PTON.
10219         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
10220         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
10221         (Depends-on, configure.ac): Update condition.
10222         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
10223
10224 2011-09-17  Bruno Haible  <bruno@clisp.org>
10225
10226         inet_ntop: Support for MSVC on Windows Vista or newer.
10227         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
10228         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
10229         HAVE_DECL_INET_NTOP is defined.
10230         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
10231         On platforms with <winsock2.h>, test whether inet_ntop is declared in
10232         <ws2tcpip.h>. If so, arrange to replace it.
10233         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
10234         REPLACE_INET_NTOP.
10235         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
10236         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
10237         (Depends-on, configure.ac): Update condition.
10238         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
10239
10240 2011-09-16  Eric Blake  <eblake@redhat.com>
10241
10242         test-fsync: yet another enhancement
10243         * tests/test-fsync.c (main): Also test behavior on read-only text
10244         file.
10245
10246 2011-09-16  Bruno Haible  <bruno@clisp.org>
10247
10248         Enhance fsync, fdatasync tests.
10249         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
10250         * tests/test-fdatasync.c (main): Likewise.
10251
10252 2011-09-16  Bruno Haible  <bruno@clisp.org>
10253
10254         Support for MSVC compiler: Ensure mode_t gets defined.
10255         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
10256         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
10257         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
10258         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
10259         * tests/test-fcntl-h.c: Check that mode_t is defined.
10260         * tests/test-sys_stat.c: Likewise.
10261         * tests/test-sys_types.c: Likewise.
10262         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
10263         * doc/posix-headers/sys_stat.texi: Likewise.
10264         * doc/posix-headers/sys_types.texi: Likewise.
10265
10266 2011-09-16  Bruno Haible  <bruno@clisp.org>
10267
10268         sys_stat: Support for MSVC.
10269         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
10270         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
10271         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
10272         MSVC.
10273
10274 2011-09-16  Bruno Haible  <bruno@clisp.org>
10275
10276         Support for MSVC compiler: Ensure off_t gets defined.
10277         * lib/unistd.in.h: Include <sys/types.h>.
10278         * tests/test-fcntl-h.c: Check that off_t is defined.
10279         * tests/test-sys_stat.c: Likewise.
10280         * tests/test-sys_types.c: Likewise.
10281
10282 2011-09-16  Eric Blake  <eblake@redhat.com>
10283
10284         fdatasync: port to Solaris
10285         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
10286         * modules/fdatasync (Link): Document it.
10287         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
10288
10289         fdatasync: port to MacOS X 10.7
10290         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
10291         declared.
10292         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
10293         * modules/unistd (Makefile.am): Substitute it.
10294         * lib/unistd.in.h (fdatasync): Declare on MacOS.
10295         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
10296
10297         fdatasync: minor improvements
10298         * modules/fdatasync (Depends-on): Add condition for fsync.
10299         * lib/fdatasync.c (fdatasync): Add comment.
10300         * tests/test-unistd-c++.cc: Test fdatasync.
10301
10302         unistd: update refs to newer POSIX
10303         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
10304         Suggested by Bruno Haible.
10305
10306         fdatasync: new module
10307         * modules/fsync (Description): Document difference to fdatasync.
10308         * modules/fdatasync: New module.
10309         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
10310         * lib/fdatasync.c (fdatasync): Likewise.
10311         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
10312         defaults.
10313         * modules/unistd (Makefile.am): Set witnesses.
10314         * lib/unistd.in.h (fdatasync): Declare.
10315         * MODULES.html.sh: Document it.
10316         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
10317         * modules/fdatasync-tests: New test.
10318         * tests/test-fdatasync.c: Likewise.
10319
10320 2011-09-16  Eric Blake  <eblake@redhat.com>
10321
10322         test-fsync: enhance tests
10323         * modules/fsync-tests (Depends-on): Add errno, for mingw.
10324         * tests/test-fsync.c (main): Enhance test.
10325
10326 2011-09-15  Bruno Haible  <bruno@clisp.org>
10327
10328         Support for MSVC compiler: Ensure ssize_t gets defined.
10329         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
10330         * doc/posix-headers/stdio.texi: Likewise.
10331         * modules/stdio (Depends-on): Add ssize_t.
10332         * modules/sys_socket (Depends-on): Likewise.
10333         * modules/sys_types (Depends-on): Likewise.
10334         * modules/sys_uio (Depends-on): Likewise.
10335         * modules/unistd (Depends-on): Likewise.
10336         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
10337         * tests/test-sys_types.c: Check that ssize_t is defined.
10338
10339 2011-09-14  Bruno Haible  <bruno@clisp.org>
10340
10341         Avoid using #, the m4 comment starter character, near brackets.
10342         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
10343         delimiter character in sed expressions.
10344         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
10345         Suggested by Eric Blake.
10346
10347         Properly quote AC_CHECK_DECLS' 4th argument.
10348         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
10349         argument.
10350         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
10351         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
10352         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
10353         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
10354         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
10355         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
10356         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
10357         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
10358         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
10359         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
10360         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
10361         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
10362         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
10363         * m4/isinf.m4 (gl_ISINF): Likewise.
10364         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
10365         * m4/readutmp.m4 (gl_READUTMP): Likewise.
10366         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
10367         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
10368         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
10369         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
10370         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
10371         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
10372         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
10373         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
10374         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
10375         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
10376         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
10377         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
10378         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
10379         Reported by Eric Blake.
10380
10381         Properly quote AC_CHECK_DECL's 4th argument.
10382         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
10383         argument.
10384         * m4/argp.m4 (gl_ARGP): Likewise.
10385         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
10386         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
10387         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
10388         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
10389         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
10390         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
10391         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
10392         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
10393         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
10394         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
10395         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
10396         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
10397         Reported by Eric Blake.
10398
10399 2011-09-14  Eric Blake  <eblake@redhat.com>
10400
10401         opendir: avoid compile warning
10402         * lib/opendir.c (includes): Always include errno.h.
10403         Reported by Tatsuro MATSUOKA.
10404
10405 2011-09-14  Jim Meyering  <meyering@redhat.com>
10406
10407         maint.mk: sc_tight_scope: propagate failure from sub-make
10408         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
10409         Reported by Martin von Gagern.
10410
10411 2011-09-13  Bruno Haible  <bruno@clisp.org>
10412
10413         tempname: Support for MSVC.
10414         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
10415         MSVC.
10416         * modules/tempname (Depends-on): Add fcntl-h.
10417
10418 2011-09-13  Bruno Haible  <bruno@clisp.org>
10419
10420         sys_time: Support for MSVC.
10421         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
10422         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
10423         include <winsock2.h>.
10424         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
10425         function declarations that collide with POSIX.
10426         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
10427         (Makefile.am): Substitute HAVE_WINSOCK2_H.
10428
10429 2011-09-13  Bruno Haible  <bruno@clisp.org>
10430
10431         stat: Support for MSVC.
10432         * lib/stat.c: Include pathmax.h.
10433         * modules/stat (Depends-on): Add pathmax.
10434
10435         pathmax: Support for native Windows.
10436         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
10437
10438 2011-09-12  Bruno Haible  <bruno@clisp.org>
10439
10440         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
10441         * lib/dirent.in.h (struct dirent): New type.
10442         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
10443         DT_WHT): New macros.
10444         (DIR): New type.
10445         (opendir, closedir): Declare only if the module 'opendir' is enabled.
10446         (readdir, rewinddir): New declarations.
10447         * lib/dirent-private.h: New file.
10448         * lib/opendir.c: New file.
10449         * lib/readdir.c: New file.
10450         * lib/rewinddir.c: New file.
10451         * lib/closedir.c: New file.
10452         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
10453         * m4/opendir.m4: New file.
10454         * m4/readdir.m4: New file.
10455         * m4/rewinddir.m4: New file.
10456         * m4/closedir.m4: New file.
10457         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
10458         REPLACE_CLOSEDIR here.
10459         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
10460         readdir, rewinddir are declared.
10461         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
10462         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
10463         HAVE_REWINDDIR, HAVE_CLOSEDIR.
10464         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
10465         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
10466         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
10467         * modules/opendir: New file.
10468         * modules/readdir: New file.
10469         * modules/rewinddir: New file.
10470         * modules/closedir: New file.
10471         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
10472         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
10473         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
10474         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
10475         * NEWS: Mention the 'fchdir' change.
10476
10477 2011-09-11  Bruno Haible  <bruno@clisp.org>
10478
10479         asm-underscore.m4: Support for MSVC.
10480         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
10481         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
10482
10483 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
10484
10485         Doc about crypt functions.
10486         * doc/posix-functions/crypt.texi: Expand range of glibc versions
10487         needing for _GNU_SOURCE to get crypt.
10488         * doc/posix-functions/encrypt.texi: Likewise.
10489         * doc/posix-functions/setkey.texi: Likewise.
10490
10491 2011-09-11  Bruno Haible  <bruno@clisp.org>
10492
10493         doc: Update regarding MSVC 9.
10494         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
10495         tested".
10496         * doc/posix-functions/*.texi: Update with info about MSVC 9.
10497         * doc/posix-headers/*.texi: Likewise.
10498         * doc/pastposix-functions/*.texi: Likewise.
10499         * doc/glibc-functions/*.texi: Likewise.
10500         * doc/glibc-headers/*.texi: Likewise.
10501
10502 2011-09-11  Bruno Haible  <bruno@clisp.org>
10503
10504         unistd et al.: Don't assume <unistd.h> exists.
10505         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
10506         does not exist.
10507         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
10508         exist. But include <stdlib.h>.
10509         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
10510         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
10511         symlink() does not exist.
10512         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
10513         include <io.h> instead.
10514         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
10515         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
10516         include <direct.h> instead.
10517         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
10518         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
10519         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
10520         <io.h> instead.
10521         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
10522         correctly if the system does not have hard links.
10523         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
10524         <direct.h> instead.
10525         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
10526         it when looking for function declarations.
10527         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
10528         <direct.h> and <io.h> instead.
10529         * doc/posix-headers/unistd.texi: More details about MSVC problem.
10530
10531 2011-09-11  Bruno Haible  <bruno@clisp.org>
10532
10533         strcase: Support for MSVC.
10534         * modules/strcase (Status, Notice): Remove obsoletion mark.
10535         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
10536         * doc/posix-functions/strncasecmp.texi: Likewise.
10537
10538         strings: Don't assume <strings.h> exists.
10539         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
10540         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
10541         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
10542         * doc/posix-headers/strings.texi: Mention the MSVC problem.
10543
10544 2011-09-11  Bruno Haible  <bruno@clisp.org>
10545
10546         dirent: Don't assume <dirent.h> exists.
10547         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
10548         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
10549         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
10550         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
10551
10552 2011-09-11  Bruno Haible  <bruno@clisp.org>
10553
10554         Fix wint_t on MSVC.
10555         * lib/wchar.in.h (wint_t): On MSVC, override it.
10556         * lib/wctype.in.h (wint_t): Likewise.
10557         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
10558         MSVC.
10559         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
10560         * doc/posix-headers/wctype.texi: Likewise.
10561
10562 2011-09-11  Bruno Haible  <bruno@clisp.org>
10563
10564         sys_types: Fix typo.
10565         * lib/sys_types.in.h: Fix typo in comment.
10566         Reported by Paul Eggert.
10567
10568         Support for MSVC compiler: Ensure size_t gets defined.
10569         * modules/strings (Depends-on): Add 'sys_types'.
10570         * modules/sys_uio (Depends-on): Likewise.
10571         * lib/sys_uio.in.h: Update comment.
10572
10573         C++ tests for module 'sys_types'.
10574         * modules/sys_types-c++-tests: New file.
10575         * tests/test-sys_types-c++.cc: New file.
10576
10577         Tests for module 'sys_types'.
10578         * modules/sys_types-tests: New file.
10579         * tests/test-sys_types.c: New file.
10580
10581         New module 'sys_types'.
10582         * lib/sys_types.in.h: New file.
10583         * m4/sys_types_h.m4: New file.
10584         * modules/sys_types: New file.
10585         * doc/posix-headers/sys_types.texi: Mention the new module and the
10586         size_t problem on MSVC 9.
10587
10588 2011-09-11  Bruno Haible  <bruno@clisp.org>
10589
10590         Support for MSVC compiler: Avoid division by a literal 0.
10591         * lib/math.in.h (NAN): Define through a function call also on MSVC.
10592         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
10593         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
10594         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
10595         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
10596         * tests/infinity.h: New file.
10597         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
10598         on MSVC.
10599         * tests/test-ceilf1.c: Include infinity.h.
10600         (main): Use Infinityf.
10601         * tests/test-ceil1.c: Include infinity.h.
10602         (main): Use Infinityd.
10603         * tests/test-ceill.c: Include infinity.h.
10604         (main): Use Infinityl.
10605         * tests/test-dprintf-posix.c: Include infinity.h.
10606         (test_function): Use Infinityd.
10607         * tests/test-floorf1.c: Include infinity.h.
10608         (main): Use Infinityf.
10609         * tests/test-floor1.c: Include infinity.h.
10610         (main): Use Infinityd.
10611         * tests/test-floorl.c: Include infinity.h.
10612         (main): Use Infinityl.
10613         * tests/test-fprintf-posix.c: Include infinity.h.
10614         (test_function): Use Infinityd.
10615         * tests/test-frexp.c: Include infinity.h.
10616         (main): Use Infinityd.
10617         * tests/test-frexpl.c: Include infinity.h.
10618         (main): Use Infinityl.
10619         * tests/test-isfinite.c: Include infinity.h.
10620         (test_isfinitef): Use Infinityf.
10621         (test_isfinited): Use Infinityd.
10622         (test_isfinitel): Use Infinityl.
10623         * tests/test-isinf.c: Include infinity.h.
10624         (test_isinff): Use Infinityf.
10625         (test_isinfd): Use Infinityd.
10626         (test_isinfl): Use Infinityl.
10627         * tests/test-isnan.c: Include infinity.h.
10628         (test_float): Use Infinityf.
10629         (test_double): Use Infinityd.
10630         (test_long_double): Use Infinityl.
10631         * tests/test-isnanf.h: Include infinity.h.
10632         (main): Use Infinityf.
10633         * tests/test-isnand.h: Include infinity.h.
10634         (main): Use Infinityd.
10635         * tests/test-isnanl.h: Include infinity.h.
10636         (main): Use Infinityl.
10637         * tests/test-ldexpl.c: Include infinity.h.
10638         (main): Use Infinityl.
10639         * tests/test-printf-posix.h: Include infinity.h.
10640         (test_function): Use Infinityd.
10641         * tests/test-roundf1.c: Include infinity.h.
10642         (main): Use Infinityf.
10643         * tests/test-round1.c: Include infinity.h.
10644         (main): Use Infinityd.
10645         * tests/test-roundl.c: Include infinity.h.
10646         (main): Use Infinityl.
10647         * tests/test-signbit.c: Include infinity.h.
10648         (test_signbitf): Use Infinityf.
10649         (test_signbitd): Use Infinityd.
10650         (test_signbitl): Use Infinityl.
10651         * tests/test-snprintf-posix.h: Include infinity.h.
10652         (test_function): Use Infinityd, Infinityl.
10653         * tests/test-sprintf-posix.h: Include infinity.h.
10654         (test_function): Use Infinityd, Infinityl.
10655         * tests/test-truncf1.c: Include infinity.h.
10656         (main): Use Infinityf.
10657         * tests/test-trunc1.c: Include infinity.h.
10658         (main): Use Infinityd.
10659         * tests/test-truncl.c: Include infinity.h.
10660         (main): Use Infinityl.
10661         * tests/test-vasnprintf-posix.c: Include infinity.h.
10662         (test_function): Use Infinityd, Infinityl.
10663         * tests/test-vasprintf-posix.c: Include infinity.h.
10664         (test_function): Use Infinityd, Infinityl.
10665         * modules/ceilf-tests (Files): Add tests/infinity.h.
10666         * modules/ceil-tests (Files): Likewise.
10667         * modules/ceill-tests (Files): Likewise.
10668         * modules/dprintf-posix-tests (Files): Likewise.
10669         * modules/floorf-tests (Files): Likewise.
10670         * modules/floor-tests (Files): Likewise.
10671         * modules/floorl-tests (Files): Likewise.
10672         * modules/fprintf-posix-tests (Files): Likewise.
10673         * modules/frexp-tests (Files): Likewise.
10674         * modules/frexp-nolibm-tests (Files): Likewise.
10675         * modules/frexpl-tests (Files): Likewise.
10676         * modules/frexpl-nolibm-tests (Files): Likewise.
10677         * modules/isfinite-tests (Files): Likewise.
10678         * modules/isinf-tests (Files): Likewise.
10679         * modules/isnan-tests (Files): Likewise.
10680         * modules/isnanf-tests (Files): Likewise.
10681         * modules/isnanf-nolibm-tests (Files): Likewise.
10682         * modules/isnand-tests (Files): Likewise.
10683         * modules/isnand-nolibm-tests (Files): Likewise.
10684         * modules/isnanl-tests (Files): Likewise.
10685         * modules/isnanl-nolibm-tests (Files): Likewise.
10686         * modules/ldexpl-tests (Files): Likewise.
10687         * modules/printf-posix-tests (Files): Likewise.
10688         * modules/roundf-tests (Files): Likewise.
10689         * modules/round-tests (Files): Likewise.
10690         * modules/roundl-tests (Files): Likewise.
10691         * modules/signbit-tests (Files): Likewise.
10692         * modules/snprintf-posix-tests (Files): Likewise.
10693         * modules/sprintf-posix-tests (Files): Likewise.
10694         * modules/truncf-tests (Files): Likewise.
10695         * modules/trunc-tests (Files): Likewise.
10696         * modules/truncl-tests (Files): Likewise.
10697         * modules/vasnprintf-posix-tests (Files): Likewise.
10698         * modules/vasprintf-posix-tests (Files): Likewise.
10699         * modules/vdprintf-posix-tests (Files): Likewise.
10700         * modules/vfprintf-posix-tests (Files): Likewise.
10701         * modules/vprintf-posix-tests (Files): Likewise.
10702         * modules/vsnprintf-posix-tests (Files): Likewise.
10703         * modules/vsprintf-posix-tests (Files): Likewise.
10704         * modules/xprintf-posix-tests (Files): Likewise.
10705
10706 2011-09-11  Bruno Haible  <bruno@clisp.org>
10707
10708         Ensure pid_t gets defined.
10709         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
10710         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
10711         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
10712         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
10713         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
10714         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
10715         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
10716         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
10717         * tests/test-fcntl-h.c: Check that pid_t is defined.
10718         * tests/test-sched.c: Likewise.
10719         * tests/test-termios.c: Likewise.
10720         * tests/test-time.c: Likewise.
10721         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
10722         * doc/posix-headers/signal.texi: Likewise.
10723         * doc/posix-headers/sys_types.texi: Likewise.
10724         * doc/posix-headers/time.texi: Likewise.
10725
10726 2011-09-11  Bruno Haible  <bruno@clisp.org>
10727
10728         acl: Fix compilation on Solaris 10 (older version).
10729         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
10730         of ACE_EVERYONE.
10731         * lib/set-mode-acl.c (qset_acl): Likewise.
10732         Reported by Christian Jullien <eligis@orange.fr>.
10733
10734 2011-09-10  Bruno Haible  <bruno@clisp.org>
10735
10736         iconv, unsetenv: Add support for MSVC compiler.
10737         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
10738         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
10739
10740 2011-09-10  Bruno Haible  <bruno@clisp.org>
10741
10742         *printf: Add support for MSVC compiler.
10743         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
10744         handles the exception caused by the %n directive. When cross-compiling,
10745         guess no on native Windows.
10746         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
10747         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
10748         emulate it through vsnprintf.
10749         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
10750         * doc/posix-functions/dprintf.texi: Update documentation regarding
10751         MSVC 9.
10752         * doc/posix-functions/fprintf.texi: Likewise.
10753         * doc/posix-functions/printf.texi: Likewise.
10754         * doc/posix-functions/snprintf.texi: Likewise.
10755         * doc/posix-functions/sprintf.texi: Likewise.
10756         * doc/posix-functions/swprintf.texi: Likewise.
10757         * doc/posix-functions/vdprintf.texi: Likewise.
10758         * doc/posix-functions/vfprintf.texi: Likewise.
10759         * doc/posix-functions/vprintf.texi: Likewise.
10760         * doc/posix-functions/vsnprintf.texi: Likewise.
10761         * doc/posix-functions/vsprintf.texi: Likewise.
10762         * doc/glibc-functions/asprintf.texi: Likewise.
10763         * doc/glibc-functions/obstack_printf.texi: Likewise.
10764         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
10765         * doc/glibc-functions/vasprintf.texi: Likewise.
10766
10767 2011-09-10  Bruno Haible  <bruno@clisp.org>
10768
10769         nocrash: Add support for native Windows.
10770         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
10771
10772 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
10773             Bruno Haible  <bruno@clisp.org>
10774
10775         absolute-header, include-next: Add support for MSVC compiler.
10776         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
10777         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
10778         directory separator in #line directives.
10779         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
10780         recognize also backslash as directory separator in #line directives.
10781
10782 2011-09-08  Jim Meyering  <meyering@redhat.com>
10783
10784         maint.mk: mark the post-release commit log with "maint: " prefix
10785         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
10786         one-line commit-log summary.
10787
10788 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
10789             Bruno Haible  <bruno@clisp.org>
10790
10791         Doc about crypt functions.
10792         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
10793         systems.
10794         * doc/posix-functions/encrypt.texi: Likewise.
10795         * doc/posix-functions/setkey.texi: Likewise.
10796
10797 2011-09-08  Simon Josefsson  <simon@josefsson.org>
10798
10799         * lib/gc.h: Fix copyright header.
10800
10801 2011-09-07  Bruno Haible  <bruno@clisp.org>
10802
10803         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
10804         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
10805         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
10806
10807 2011-09-07  Bruno Haible  <bruno@clisp.org>
10808
10809         openat: Work around compilation error with OSF/1 5.1 DTK cc.
10810         * lib/fopen.c: Use different syntax for include of <stdio.h>.
10811         * lib/freopen.c: Likewise.
10812         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
10813         * lib/lstat.c: Likewise.
10814         * lib/stat.c: Likewise.
10815         * lib/open.c: Use different syntax for include of <fcntl.h>.
10816         * lib/openat.c: Include fcntl.h again, explicitly.
10817
10818 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
10819
10820         parse-datetime: document the newly accepted format
10821         * doc/parse-datetime.texi (Combined date and time of day items):
10822         New section.
10823
10824 2011-09-06  Bruno Haible  <bruno@clisp.org>
10825
10826         acl: Fix a test failure on newer Solaris 10 with ZFS.
10827         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
10828         ENOSYS as no ACL.
10829         Reported by Jim Meyering.
10830
10831 2011-09-06  Bruno Haible  <bruno@clisp.org>
10832
10833         acl: Update for AIX >= 5.3 with NFS.
10834         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
10835         ENOSYS as no ACL.
10836
10837         acl: Fix a test failure on AIX >= 5.3 with NFS.
10838         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
10839         as no ACL.
10840
10841 2011-09-06  Bruno Haible  <bruno@clisp.org>
10842
10843         acl: Fix a test failure on IRIX 6.5 with NFS.
10844         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
10845         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
10846         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
10847         * lib/copy-acl.c (qcopy_acl): Likewise.
10848
10849 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
10850
10851         openat: port to AIX 7.1 with large files
10852         AIX 7.1 does a "#define openat open64at" if large files are in use,
10853         so we can't simply #undef openat.  Use the orig_openat trick (similar
10854         to orig_open in lib/open.c) to work around the problem.  Problem
10855         reported by Kevin Brott for GNU tar, in the thread containing
10856         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
10857         * lib/openat.c (__need_system_fcntl_h): Define first.
10858         Include <fcntl.h> and <sys/types.h> before undefining.
10859         (orig_openat) [HAVE_OPENAT]: New inline function.
10860         (openat) [HAVE_OPENAT]: Do not undef.
10861         (rpl_openat): Use orig_openat, not openat.
10862
10863 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
10864             Bruno Haible  <bruno@clisp.org>
10865
10866         acl: Avoid errors on NonStop Kernel.
10867         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
10868         ENOTSUP errors.
10869
10870 2011-09-05  Bruno Haible  <bruno@clisp.org>
10871
10872         acl: Clean up Solaris code.
10873         * lib/acl-internal.h: Remove no-op #if.
10874         * lib/file-has-acl.c: Likewise.
10875         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
10876         * lib/copy-acl.c (qcopy_acl): Likewise.
10877
10878 2011-09-05  Bruno Haible  <bruno@clisp.org>
10879
10880         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
10881         binaries built on the original Solaris 10.
10882         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
10883         trivial.
10884
10885 2011-09-05  Bruno Haible  <bruno@clisp.org>
10886
10887         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
10888         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
10889         10.
10890         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
10891         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
10892         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
10893         instead of acl_get, facl_get, acl_set, facl_set.
10894
10895 2011-09-05  Bruno Haible  <bruno@clisp.org>
10896
10897         copy-file: Try unit tests on more file systems.
10898         * tests/test-copy-file-1.sh: New file.
10899         * tests/test-copy-file-2.sh: New file.
10900         * modules/copy-file-tests (Files): Add them.
10901         (Makefile.am): Add them to TESTS.
10902
10903         acl: Try unit tests on more file systems.
10904         * tests/test-file-has-acl-1.sh: New file.
10905         * tests/test-file-has-acl-2.sh: New file.
10906         * tests/test-set-mode-acl-1.sh: New file.
10907         * tests/test-set-mode-acl-2.sh: New file.
10908         * tests/test-copy-acl-1.sh: New file.
10909         * tests/test-copy-acl-2.sh: New file.
10910         * modules/acl-tests (Files): Add them.
10911         (Makefile.am): Add them to TESTS.
10912
10913 2011-09-04  Bruno Haible  <bruno@clisp.org>
10914
10915         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
10916         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
10917         10.
10918         (OLD_ALLOW, OLD_DENY): New macros.
10919         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
10920         ACE_ACCESS_ALLOWED_ACE_TYPE.
10921         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
10922         ACE_ACCESS_DENIED_ACE_TYPE.
10923         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
10924         (NEW_ACE_EXECUTE): Fix value.
10925         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
10926         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
10927         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
10928         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
10929         NEW_ACE_SYNCHRONIZE): New macros.
10930         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
10931         instead of acl_fromtext, acl_set, facl_set.
10932         Fixes a coreutils/tests/cp/perm failure.
10933
10934 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
10935
10936         openat: test for fstatat (..., 0) bug
10937         Further testing with tar suggests that fstatat (..., 0)
10938         does not work in general, on AIX 7.1; see
10939         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
10940         So, give up entirely on AIX 7.1's fstatat, and fall back on our
10941         replacement fstatat (which is what older AIX releases were using
10942         anyway).
10943         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
10944         use is now changed to orig_fstatat.  This was probably the right
10945         thing to do anyway.
10946         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
10947         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
10948         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
10949         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
10950         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
10951         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
10952         if the bug is found.
10953
10954         openat: test for fstatat (AT_FDCWD, ..., 0) bug
10955         This tests for another fstatat bug on AIX 7.1:
10956         fstatat (AT_FDCWD, ..., 0) does not work.  See
10957         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
10958         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
10959         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
10960         (rpl_fstatat): Adjust so that it works around either (or both)
10961         bugs if present.
10962         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
10963
10964 2011-09-03  Karl Berry  <karl@gnu.org>
10965
10966         * doc/regex.texi (Character Class Operators): Avoid literal ":"
10967         in index entries.
10968
10969 2011-09-02  Bruno Haible  <bruno@clisp.org>
10970
10971         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
10972         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
10973         values of AR, ARFLAGS, RANLIB.
10974         Reported by John W. Eaton <jwe@gnu.org> for Octave.
10975
10976 2011-09-02  Bruno Haible  <bruno@clisp.org>
10977
10978         Find 'ar' program that fits with --host argument.
10979         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
10980
10981 2011-09-02  Bruno Haible  <bruno@clisp.org>
10982
10983         tests: init.sh: Support any non-GNU diff.
10984         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
10985         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
10986         Solaris 8.
10987
10988 2011-09-02  Bruno Haible  <bruno@clisp.org>
10989
10990         tests: init.sh: work also with any non-GNU diff that supports -u
10991         * tests/init.sh: Relax check for diff -u support.
10992         Rather than checking for GNU diff via --version, simply check
10993         for support for -u itself.  Useful at least on OpenBSD 4.9,
10994         AIX 7.1, IRIX 6.5, and Solaris 10.
10995
10996 2011-09-01  Bruno Haible  <bruno@clisp.org>
10997
10998         strtoimax, strtoumax: Document problem on HP-UX 11.
10999         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
11000         * doc/posix-functions/strtoumax.texi: Likewise.
11001
11002 2011-09-01  Bruno Haible  <bruno@clisp.org>
11003
11004         strtoumax: Avoid link error on OSF/1 with DTK cc.
11005         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
11006         defined as a function.
11007         * modules/strtoumax (Depends-on, configure.ac): Test only whether
11008         strtoumax is defined, not whether it is declared.
11009
11010 2011-09-01  Bruno Haible  <bruno@clisp.org>
11011
11012         strtoimax: Avoid link error on OSF/1 with DTK cc.
11013         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
11014         defined as a function.
11015         * modules/strtoimax (Depends-on, configure.ac): Test only whether
11016         strtoimax is defined, not whether it is declared.
11017
11018 2011-09-01  Bruno Haible  <bruno@clisp.org>
11019
11020         imaxdiv: Avoid link error on OSF/1 with DTK cc.
11021         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
11022         as a function.
11023         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
11024         whether it is declared.
11025
11026 2011-09-01  Bruno Haible  <bruno@clisp.org>
11027
11028         imaxabs: Avoid link error on OSF/1 with DTK cc.
11029         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
11030         as a function.
11031         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
11032         whether it is declared.
11033
11034 2011-09-01  Bruno Haible  <bruno@clisp.org>
11035
11036         Tests for module 'strtoumax'.
11037         * modules/strtoumax-tests: New file.
11038         * tests/test-strtoumax.c: New file.
11039
11040         Tests for module 'strtoimax'.
11041         * modules/strtoimax-tests: New file.
11042         * tests/test-strtoimax.c: New file.
11043
11044         Tests for module 'imaxdiv'.
11045         * modules/imaxdiv-tests: New file.
11046         * tests/test-imaxdiv.c: New file.
11047
11048         Tests for module 'imaxabs'.
11049         * modules/imaxabs-tests: New file.
11050         * tests/test-imaxabs.c: New file.
11051
11052 2011-09-01  Bruno Haible  <bruno@clisp.org>
11053
11054         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
11055         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
11056         pthread_create.
11057
11058 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
11059
11060         openat: work around AIX 7.1 fstatat issue
11061         This should fix the problem that was not properly fixed
11062         in the previous change, dated 2011-08-30.
11063         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
11064         __need_system_stat_h defined.
11065         (orig_fstatat) [HAVE_FSTATAT]: New function.
11066         (rpl_fstatat): Go back to the old way of doing things,
11067         except call orig_fstatat instead of fstatat.
11068         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
11069         Remove unnecessary check whether fstatat fills in st_size etc.
11070
11071 2011-09-01  Bruno Haible  <bruno@clisp.org>
11072
11073         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
11074         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
11075         just include the system's header.
11076
11077 2011-08-31  Jim Meyering  <meyering@redhat.com>
11078
11079         tests: avoid spurious assertion failure in test-float.c on ppc64
11080         * tests/test-float.c (test_long_double): Comment out an assertion,
11081         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
11082         with gcc-4.4.4.
11083
11084         maint: indent with spaces, not TABs
11085         I need to get in the habit of running gnulib's "make check".
11086         Both of these would have been caught.
11087         * m4/largefile.m4: Indent with spaces, not TABs.
11088         * lib/parse-datetime.y (iso_8601_time): Likewise.
11089         Spotted by Pádraig Brady.
11090
11091         test-parse-datetime.c: accommodate a relatively strict gcc warning
11092         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
11093         to avoid a warning from gcc's -Werror=missing-declarations.
11094         Insert a few spaces-before-funcall-parenthesis.
11095
11096 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
11097
11098         parse-datetime: accept ISO 8601 date and time rep with "T" separator
11099         The parser now accepts ISO 8601 date-time strings with "T" as the
11100         separator.  It has long parsed dates like "2004-02-29 16:21:42"
11101         with a space between the date and time strings.  Now it also parses
11102         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
11103         variants like "2004-02-29T16:21:42.333-07:00"
11104         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
11105         of day representation using the 'T' separator character.
11106         * doc/parse-datetime.texi (General date syntax): replace use of
11107         deprecated --iso-8601 option with --rfc-3339 in example of date
11108         command output formats that can be parsed.
11109         * tests/test-parse-datetime.c (tm_diff): New function, taken from
11110         lib/parse-datetime.y.
11111         (gmt_offset): New function.
11112         (main): Add additional test cases to validate ISO8601 extended
11113         date and time of day parsing.
11114
11115 2011-08-31  Bruno Haible  <bruno@clisp.org>
11116
11117         freopen: Documentation.
11118         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
11119         name.
11120         Reported by Claudio Bley <claudio.bley@gmail.com>.
11121
11122 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
11123
11124         freopen: Don't crash if the filename argument is NULL.
11125         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
11126         NULL.
11127
11128 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
11129
11130         openat: work around AIX 7.1 fstatat bug
11131         Problem reported by Kevin Brott for GNU tar, in the thread containing
11132         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
11133         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
11134         FSTATAT_ST_SIZE_ETC_BROKEN.
11135         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
11136         rpl_fstatat.
11137         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
11138         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
11139         AC_CHECK_FUNCS_ONCE for fstatat.
11140         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
11141         fchmodat, mkdirat, openat and unlinkat.
11142
11143 2011-08-30  Bruno Haible  <bruno@clisp.org>
11144
11145         Avoid endless recursions if config.h includes some header files.
11146         * lib/fopen.c (__need_FILE): Define already before including config.h.
11147         * lib/freopen.c (__need_FILE): Likewise.
11148         * lib/open.c (__need_system_fcntl_h): Likewise.
11149         * lib/stat.c (__need_system_sys_stat_h): Likewise.
11150         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
11151         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
11152
11153 2011-08-25  Karl Berry  <karl@gnu.org>
11154
11155         * config/srclist.txt (ylwrap): new try.
11156         * build-aux/ylwrap: new file.
11157
11158 2011-08-23  Bruno Haible  <bruno@clisp.org>
11159
11160         tmpdir: Use a good default directory on native Windows.
11161         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
11162         (P_tmpdir): Default to _P_tmpdir on native Windows.
11163         (path_search): On native Windows, try the value returned by GetTempPath
11164         before trying P_tmpdir.
11165         * modules/tmpdir (Depends-on): Add pathmax.
11166         Suggested by John Darrington <john@darrington.wattle.id.au>.
11167
11168 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
11169
11170         doc: fix typo in README-release
11171         * top/README-release: Capitalize first word of a sentence.
11172
11173 2011-08-19  Jim Meyering  <meyering@redhat.com>
11174
11175         fts: do not exhaust memory when processing million-entry directories
11176         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
11177         directory would require about 256*N bytes of memory.  Thus, it was
11178         easy to construct a directory too large to be processed by any of
11179         those tools.  With this change, fts' maximum memory utilization is
11180         now limited to around 30MB.
11181         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
11182         (fts_read): When we've processed the final entry (i.e., when
11183         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
11184         using the parent entry to read any remaining entries.  Dispatch
11185         depending on what fts_build returns:
11186         - NULL+stop, aka failure: stop
11187         - NULL otherwise: move up in the dir hierarchy
11188         - non-NULL: handle this new entry
11189         (fts_build): Declare and use new local, continue_readdir.
11190         Prepare to be called from fts_read, when the entries
11191         from a partially-read directory have just been exhausted.
11192         In that case, we'll skip the opendir and instead use the parent's
11193         fts_dirp and derive dir_fd from that.
11194         Finally, in the readdir loop, if we read max_entries entries,
11195         exit the loop ensuring *not* to call closedir.  This is required
11196         so that fts_dirp can be reused on a subsequent call.
11197         Prompted by Ben England's report of memory exhaustion in find
11198         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
11199
11200         maint: fts: move decl of `dp' down into while loop; split a long line
11201         * lib/fts.c (fts_build): No semantic change.
11202
11203         fts: add/use new struct member, fts_dirp
11204         We are about to use this to manage any directory with
11205         too many entries to read all of them into memory at once.
11206         To do that, we'll need to save the DIR* pointer in each
11207         affected FTSENT struct.
11208         * lib/fts_.h: Include <dirent.h>.
11209         (struct FTSENT) [fts_dirp]: New member.
11210         * lib/fts.c (closedir_and_clear): Define.
11211         Use it in place of closedir so that we are sure to
11212         clear the new fts_dirp member when done with it.
11213         (fts_alloc): Initialize the new member.
11214         (fts_lfree): Free, if needed.
11215
11216         maint: fts: give __opendir2 a new parameter and rename
11217         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
11218         than surreptitiously using sole caller's "dir_fd".
11219         (fts_opendir): Rename from __opendir2.
11220
11221         maint: fts.c: remove __opendir2's now-unused parameter, oflag
11222         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
11223
11224         maint: fts.c: correct off-by-one indentation
11225         * lib/fts.c (fts_build): Correct indentation, change style
11226         of a couple of block comments, and bracing style.
11227
11228         maint: fts.c: move __opendir2 #define "up" out of function body
11229         * lib/fts.c (__opendir2): Move "up".  No semantic change.
11230
11231         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
11232         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
11233         out for a long time and besides was useful only on BSD systems.
11234
11235 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
11236
11237         regex: port to Stratus OpenVOS
11238         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
11239         define to empty, rather than attempting nonportable optimizations.
11240         Problem reported by Paul Green in:
11241         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
11242         and fix suggested by Eric Blake in:
11243         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
11244
11245 2011-08-17  Eric Blake  <eblake@redhat.com>
11246
11247         getcwd: fix test failures on mingw
11248         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
11249         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
11250         test if long directory cannot be created, and allow mingw errno.
11251
11252         getcwd-lgpl: fix m4 to match relaxed test for BSD
11253         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
11254         (gl_FUNC_GETCWD_SIGNATURE): New macro.
11255         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
11256         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
11257         signature problem.
11258
11259         getcwd: fix compilation on mingw64
11260         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
11261         getcwd.
11262         Reported by Marc-André Lureau.
11263
11264         pipe2: silence compiler warning
11265         * lib/pipe2.c (pipe2): Hide label if it is not used.
11266
11267 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
11268
11269         relocatable-prog: fix link error
11270         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
11271         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
11272         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
11273         into modules/relocatable-lib without noticing that
11274         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
11275         also needs to build relocatable.c.
11276
11277 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
11278
11279         getaddrinfo: fix sh typo in gai_strerrorA decl checking
11280         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
11281         shell code: it contained a 'break' that was not in a loop.
11282         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
11283         via a shell-language loop; this may have been true in old Autoconf
11284         versions, but it's not true in Autoconf 2.68.  I found this bug
11285         when testing coreutils git on Solaris 8, whose shell complains
11286         about the syntax error.
11287
11288 2011-08-12  Simon Josefsson  <simon@josefsson.org>
11289
11290         * lib/base64.c: Fix comment to reference RFC 4648.
11291         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
11292         <gvtulder@gmail.com>.
11293
11294 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
11295
11296         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
11297
11298         po/Makefile.in.in: fix make -q problem
11299         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
11300         rule, since there's no file named 'check-macro-version' and its
11301         use as a file breaks make -q.
11302         (all): Don't depend on check-macro-version.
11303         (CHECK_MACRO_VERSION): New macro.
11304         (stamp-po): Use it.
11305
11306         configmake: fix make -q problem
11307         * modules/configmake (configmake.h): Update configmake.h's time stamp
11308         even if the file does not change.  Otherwise, 'make -q' fails.
11309         Problem reported by Simon Josefsson in
11310         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
11311
11312 2011-08-11  Jim Meyering  <meyering@redhat.com>
11313
11314         git-version-gen: correct the advice in a comment
11315         * build-aux/git-version-gen: Correct comment.
11316         Don't recommend to list .tarball-version in .gitignore.
11317
11318 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
11319
11320         base64: fix off-by-one buffer size bug
11321         Problem and (trivial) fix reported by Gijs van Tulder in
11322         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
11323         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
11324         * tests/test-base64.c (main): Catch the bug.
11325
11326 2011-08-10  Eric Blake  <eblake@redhat.com>
11327
11328         closein: correct comments
11329         * lib/closein.c (close_stdin): Improve comments.
11330
11331 2011-08-09  Bruno Haible  <bruno@clisp.org>
11332
11333         More tests for 'fseeko'.
11334         * tests/test-fseeko3.c: New file, from Eric Blake.
11335         * tests/test-fseeko3.sh: New file.
11336         * modules/fseeko-tests (Files): Add them.
11337         (TESTS): Add test-fseeko3.sh.
11338         (check_PROGRAMS): Add test-fseeko3.
11339
11340 2011-08-09  Eric Blake  <eblake@redhat.com>
11341
11342         fseeko: remove unneeded hack
11343         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
11344
11345         fseeko: fix bug on glibc
11346         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
11347         Reported by John W. Eaton.
11348
11349 2011-08-08  Bruno Haible  <bruno@clisp.org>
11350
11351         unictype/base: Fix interoperability with preinstalled libunistring.
11352         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
11353         Reported by Simon Josefsson.
11354
11355 2011-08-08  Bruno Haible  <bruno@clisp.org>
11356
11357         iswblank: Detect declaration correctly.
11358         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
11359         AC_CHECK_DECLS invocation.
11360
11361 2011-08-08  Bruno Haible  <bruno@clisp.org>
11362
11363         tcgetsid: Detect declaration correctly.
11364         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
11365         AC_CHECK_DECLS invocation.
11366         Reported by Simon Josefsson.
11367
11368 2011-08-08  Eric Blake  <eblake@redhat.com>
11369
11370         largefile: fix typo that regressed large file support
11371         * modules/largefile (configure.ac-early): Fix section name.
11372
11373 2011-08-06  Karl Berry  <karl@gnu.org>
11374
11375         * MODULES.html.sh (func_all_files): _Noreturn is no longer
11376         a separate module.
11377
11378 2011-08-05  Simon Josefsson  <simon@josefsson.org>
11379
11380         openat: Fix warnings and commens when building unlinkat.c on Hurd.
11381         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
11382         get prototype for free.
11383
11384 2011-08-04  Bruno Haible  <bruno@clisp.org>
11385
11386         Tests for module 'pathmax'.
11387         * modules/pathmax-tests: New file.
11388         * tests/test-pathmax.c: New file.
11389
11390         canonicalize-lgpl: Support larger filenames on the Hurd.
11391         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
11392         Reported by Paul Eggert.
11393
11394         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
11395         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
11396         * lib/chdir-long.h: Include pathmax.h.
11397         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
11398         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
11399         (PATH_MAX): Remove code that is done by pathmax.h.
11400         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
11401         * lib/tmpfile.c: Add a comment.
11402         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
11403         * modules/chdir-long (Depends-on): Add pathmax.
11404         * modules/getcwd (Depends-on): Add pathmax.
11405         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
11406         is not defined.
11407         * doc/posix-headers/limits.texi: Mention the pathmax module.
11408         * NEWS: Mention the change.
11409
11410 2011-08-02  Bruno Haible  <bruno@clisp.org>
11411
11412         pthread_sigmask: Actually use results of gl_THREADLIB.
11413         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
11414         gl_THREADLIB, not gl_[]THREADLIB.
11415         Reported by Eric Blake.
11416
11417 2011-08-02  Jim Meyering  <meyering@redhat.com>
11418
11419         maint.mk: relax the default _gl_TS_function_match regexp
11420         * top/maint.mk (_gl_TS_function_match): Don't require at least one
11421         space between function name and "(" in an "extern" declaration.
11422         That would fail to match a decl with no space there: extern void foo();
11423
11424 2011-07-31  Iain Nicol  <iain@thenicols.net>
11425
11426         git-version-gen: document that EXTRA_DIST must include .version
11427         * build-aux/git-version-gen: In the how-to-use comment, document
11428         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
11429         will fail when run from an unpacked distribution tarball.
11430
11431 2011-08-01  Bruno Haible  <bruno@clisp.org>
11432
11433         wctype-h: Fix last change.
11434         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
11435         REPLACE_TOWLOWER to 0.
11436         Reported by Sam Steingold <sds@gnu.org>.
11437
11438 2011-07-31  Bruno Haible  <bruno@clisp.org>
11439
11440         frexpl: Update autoconf test.
11441         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
11442         according to changes of 2011-06-20.
11443
11444 2011-07-31  Bruno Haible  <bruno@clisp.org>
11445
11446         sys_utsname: Add support for Minix.
11447         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
11448         <sys/utsname.h>.
11449         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
11450         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
11451
11452 2011-07-31  Bruno Haible  <bruno@clisp.org>
11453
11454         strings: Add support for Minix.
11455         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
11456         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
11457         * doc/posix-headers/strings.texi: Document the Minix problem.
11458
11459 2011-07-31  Bruno Haible  <bruno@clisp.org>
11460
11461         wctype-h: Add support for Minix.
11462         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
11463         REPLACE_TOWLOWER.
11464         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
11465         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
11466         REPLACE_ISWCNTRL.
11467
11468 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
11469
11470         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
11471         This is a performance improvement for 64-bit hosts: it causes the
11472         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
11473
11474 2011-07-31  Bruno Haible  <bruno@clisp.org>
11475
11476         stdioext: Add support for Minix.
11477         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
11478         * lib/fpurge.c (fpurge): Likewise.
11479         * lib/freadahead.c (freadahead): Likewise.
11480         * lib/freadable.c (freadable): Likewise.
11481         * lib/freading.c (freading): Likewise.
11482         * lib/freadptr.c (freadptr): Likewise.
11483         * lib/freadseek.c (freadptrinc): Likewise.
11484         * lib/fseeko.c (rpl_fseeko): Likewise.
11485         * lib/fseterr.c (fseterr): Likewise.
11486         * lib/fwritable.c (fwritable): Likewise.
11487         * lib/fwriting.c (fwriting): Likewise.
11488         * lib/fflush.c (clear_ungetc_buffer): Update comment.
11489         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
11490
11491 2011-07-31  Bruno Haible  <bruno@clisp.org>
11492
11493         errno: Port to Minix.
11494         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
11495         ECONNABORTED are defined.
11496         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
11497         GNULIB_defined_ECONNABORTED): New macros.
11498         * lib/strerror-override.h (strerror_override): Test also
11499         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
11500         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
11501         ECONNABORTED.
11502         * doc/posix-headers/errno.texi: Mention the Minix problem.
11503
11504 2011-07-31  Bruno Haible  <bruno@clisp.org>
11505
11506         Work around declaration collisions on Minix.
11507         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
11508         defined, set REPLACE_MBSINIT.
11509         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
11510         defined, set REPLACE_MBRTOWC.
11511         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
11512         set REPLACE_MBRLEN.
11513         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
11514         defined, set REPLACE_MBSRTOWCS.
11515         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
11516         defined, set REPLACE_WCRTOMB.
11517         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
11518         defined, set REPLACE_WCSRTOMBS.
11519
11520 2011-07-31  Bruno Haible  <bruno@clisp.org>
11521
11522         Add support for Minix with ACK compiler.
11523         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
11524         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
11525         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
11526
11527 2011-07-31  Bruno Haible  <bruno@clisp.org>
11528
11529         Documentation about Minix.
11530         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
11531         * doc/glibc-headers/*.texi: Likewise.
11532         * doc/posix-functions/*.texi: Likewise.
11533         * doc/glibc-functions/*.texi: Likewise.
11534
11535 2011-07-31  Bruno Haible  <bruno@clisp.org>
11536
11537         snippet/warn-on-use: Fix indentation.
11538         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
11539
11540 2011-07-25  Jim Meyering  <meyering@redhat.com>
11541
11542         tests: test-update-copyright.sh: remove unnecessary "rm" commands
11543         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
11544         commands.
11545
11546 2011-07-27  Jim Meyering  <meyering@redhat.com>
11547
11548         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
11549         * top/maint.mk (gl_extract_significant_defines_): Now that
11550         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
11551         gnulib/lib/signal.in.h, and now that we recommend to
11552         define-if-undefined those two symbols in application code,
11553         we must filter them out of the "significant" list.
11554         This avoids a "make syntax-check" failure in coreutils.
11555
11556 2011-07-26  Eric Blake  <eblake@redhat.com>
11557
11558         warnings: add comments about previous patch
11559         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
11560         * m4/include_next.m4: Likewise.
11561         * m4/warn-on-use.m4: Likewise.
11562         * m4/warnings.m4: Likewise, and simplify use.
11563         Suggested by Stefano Lattarini.
11564
11565         include-next, warnings: support older autoconf
11566         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
11567         AS_VAR_PUSHDEF in a way that works with older autoconf.
11568         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
11569         Reported by Daniel P. Berrange.
11570
11571 2011-07-25  Bruno Haible  <bruno@clisp.org>
11572
11573         fseek, ftell: Fix doc.
11574         * doc/posix-functions/fseek.texi: Reword statement about
11575         AC_SYS_LARGEFILE.
11576         * doc/posix-functions/ftell.texi: Likewise.
11577
11578 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
11579             Bruno Haible  <bruno@clisp.org>
11580
11581         Add dependencies to the 'largefile' module.
11582         * modules/fopen (Depends-on): Add 'largefile'.
11583         * modules/freopen (Depends-on): Likewise.
11584         * modules/fseeko (Depends-on): Likewise.
11585         * modules/ftello (Depends-on): Likewise.
11586         * modules/glob (Depends-on): Likewise.
11587         * modules/lseek (Depends-on): Likewise.
11588         * modules/lstat (Depends-on): Likewise.
11589         * modules/mkostemp (Depends-on): Likewise.
11590         * modules/mkostemps (Depends-on): Likewise.
11591         * modules/mkstemp (Depends-on): Likewise.
11592         * modules/mkstemps (Depends-on): Likewise.
11593         * modules/open (Depends-on): Likewise.
11594         * modules/openat (Depends-on): Likewise.
11595         * modules/pread (Depends-on): Likewise.
11596         * modules/pwrite (Depends-on): Likewise.
11597         * modules/scandir (Depends-on): Likewise.
11598         * modules/stat (Depends-on): Likewise.
11599         * modules/tmpfile (Depends-on): Likewise.
11600         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
11601         since the containing module now depends on the largefile module.
11602         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
11603         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
11604         off_t is fixed by gnulib.
11605         * doc/posix-functions/freopen.texi: Likewise.
11606         * doc/posix-functions/fseeko.texi: Likewise.
11607         * doc/posix-functions/fstatat.texi: Likewise.
11608         * doc/posix-functions/ftello.texi: Likewise.
11609         * doc/posix-functions/glob.texi: Likewise.
11610         * doc/posix-functions/lseek.texi: Likewise.
11611         * doc/posix-functions/lstat.texi: Likewise.
11612         * doc/posix-functions/mkstemp.texi: Likewise.
11613         * doc/posix-functions/open.texi: Likewise.
11614         * doc/posix-functions/openat.texi: Likewise.
11615         * doc/posix-functions/pread.texi: Likewise.
11616         * doc/posix-functions/pwrite.texi: Likewise.
11617         * doc/posix-functions/scandir.texi: Likewise.
11618         * doc/posix-functions/stat.texi: Likewise.
11619         * doc/posix-functions/tmpfile.texi: Likewise.
11620         * doc/glibc-functions/mkostemp.texi: Likewise.
11621         * doc/glibc-functions/mkostemps.texi: Likewise.
11622         * doc/glibc-functions/mkstemps.texi: Likewise.
11623
11624 2011-07-25  Bruno Haible  <bruno@clisp.org>
11625
11626         fcntl: Move AC_LIBOBJ invocation to module description.
11627         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
11628         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
11629
11630         fcntl: Remove call-in from fchdir.m4.
11631         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
11632         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
11633
11634         dup3: Remove potential call-in from fchdir.m4.
11635         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
11636         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
11637
11638         dup2: Move AC_LIBOBJ invocation to module description.
11639         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
11640         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
11641         Don't invoke AC_LIBOBJ.
11642         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
11643
11644         dup2: Remove call-in from fchdir.m4.
11645         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
11646         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
11647
11648         fclose: Move AC_LIBOBJ invocation to module description.
11649         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
11650         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
11651         to 1.
11652         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
11653
11654         fclose: Remove call-in from close.m4.
11655         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
11656         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
11657
11658         close: Move AC_LIBOBJ invocation to module description.
11659         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
11660         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
11661         1.
11662         * modules/close (configure.ac): Invoke AC_LIBOBJ.
11663
11664         close: Remove call-in from fchdir.m4.
11665         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
11666         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
11667
11668         open: Move AC_LIBOBJ invocation to module description.
11669         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
11670         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
11671         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
11672
11673         open: Remove call-in from fchdir.m4.
11674         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
11675         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
11676
11677         fchdir: Start to remove gl_REPLACE_* idiom.
11678         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
11679         (gl_FUNC_FCHDIR): Invoke it.
11680
11681 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
11682
11683         * lib/ftell.c (ftell): Comment out cast.
11684
11685         close: use gl_REPLACE_FCLOSE only if defined
11686         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
11687         is defined.  The close module doesn't depend on the fclose module
11688         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
11689         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
11690         I reproduced the problem with "./gnulib-tool --test close sys_socket".
11691
11692 2011-07-24  Jim Meyering  <meyering@redhat.com>
11693
11694         test-select.h: avoid warning when using gcc's -Wmissing-declarations
11695         * tests/test-select.h (test_function): Declare as "static".
11696
11697 2011-07-24  Bruno Haible  <bruno@clisp.org>
11698
11699         doc: Mention the effects of AC_SYS_LARGEFILE.
11700         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
11701         on this function.
11702         * doc/posix-functions/aio_error.texi: Likewise.
11703         * doc/posix-functions/aio_fsync.texi: Likewise.
11704         * doc/posix-functions/aio_read.texi: Likewise.
11705         * doc/posix-functions/aio_return.texi: Likewise.
11706         * doc/posix-functions/aio_suspend.texi: Likewise.
11707         * doc/posix-functions/aio_write.texi: Likewise.
11708         * doc/posix-functions/fgetpos.texi: Likewise.
11709         * doc/posix-functions/fopen.texi: Likewise.
11710         * doc/posix-functions/freopen.texi: Likewise.
11711         * doc/posix-functions/fsetpos.texi: Likewise.
11712         * doc/posix-functions/fstatvfs.texi: Likewise.
11713         * doc/posix-functions/ftruncate.texi: Likewise.
11714         * doc/posix-functions/ftw.texi: Likewise.
11715         * doc/posix-functions/getrlimit.texi: Likewise.
11716         * doc/posix-functions/glob.texi: Likewise.
11717         * doc/posix-functions/lio_listio.texi: Likewise.
11718         * doc/posix-functions/lockf.texi: Likewise.
11719         * doc/posix-functions/mkstemp.texi: Likewise.
11720         * doc/posix-functions/mmap.texi: Likewise.
11721         * doc/posix-functions/nftw.texi: Likewise.
11722         * doc/posix-functions/openat.texi: Likewise.
11723         * doc/posix-functions/opendir.texi: Likewise.
11724         * doc/posix-functions/posix_fadvise.texi: Likewise.
11725         * doc/posix-functions/posix_fallocate.texi: Likewise.
11726         * doc/posix-functions/pread.texi: Likewise.
11727         * doc/posix-functions/pwrite.texi: Likewise.
11728         * doc/posix-functions/readdir.texi: Likewise.
11729         * doc/posix-functions/readdir_r.texi: Likewise.
11730         * doc/posix-functions/rewinddir.texi: Likewise.
11731         * doc/posix-functions/scandir.texi: Likewise.
11732         * doc/posix-functions/seekdir.texi: Likewise.
11733         * doc/posix-functions/setrlimit.texi: Likewise.
11734         * doc/posix-functions/statvfs.texi: Likewise.
11735         * doc/posix-functions/telldir.texi: Likewise.
11736         * doc/posix-functions/tmpfile.texi: Likewise.
11737         * doc/posix-functions/truncate.texi: Likewise.
11738         * doc/glibc-functions/fallocate.texi: Likewise.
11739         * doc/glibc-functions/fstatfs.texi: Likewise.
11740         * doc/glibc-functions/fts_children.texi: Likewise.
11741         * doc/glibc-functions/fts_read.texi: Likewise.
11742         * doc/glibc-functions/getdirentries.texi: Likewise.
11743         * doc/glibc-functions/mkostemp.texi: Likewise.
11744         * doc/glibc-functions/mkostemps.texi: Likewise.
11745         * doc/glibc-functions/mkstemps.texi: Likewise.
11746         * doc/glibc-functions/preadv.texi: Likewise.
11747         * doc/glibc-functions/pwritev.texi: Likewise.
11748         * doc/glibc-functions/sendfile.texi: Likewise.
11749         * doc/glibc-functions/statfs.texi: Likewise.
11750
11751 2011-07-24  Bruno Haible  <bruno@clisp.org>
11752
11753         doc: Fix typo.
11754         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
11755
11756 2011-07-24  Bruno Haible  <bruno@clisp.org>
11757
11758         doc: Mention fsusage.
11759         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
11760
11761 2011-07-24  Bruno Haible  <bruno@clisp.org>
11762
11763         doc: Mention new glibc headers and functions.
11764         * doc/glibc-headers/gshadow.texi: New file.
11765         * doc/glibc-functions/endsgent.texi: New file.
11766         * doc/glibc-functions/fgetsgent.texi: New file.
11767         * doc/glibc-functions/fgetsgent_r.texi: New file.
11768         * doc/glibc-functions/getsgent.texi: New file.
11769         * doc/glibc-functions/getsgent_r.texi: New file.
11770         * doc/glibc-functions/getsgnam.texi: New file.
11771         * doc/glibc-functions/getsgnam_r.texi: New file.
11772         * doc/glibc-functions/putsgent.texi: New file.
11773         * doc/glibc-functions/setsgent.texi: New file.
11774         * doc/glibc-functions/sgetsgent.texi: New file.
11775         * doc/glibc-functions/sgetsgent_r.texi: New file.
11776         * doc/glibc-functions/malloc_info.texi: New file.
11777         * doc/glibc-functions/preadv.texi: New file.
11778         * doc/glibc-functions/pwritev.texi: New file.
11779         * doc/glibc-functions/register_printf_modifier.texi: New file.
11780         * doc/glibc-functions/register_printf_specifier.texi: New file.
11781         * doc/glibc-functions/register_printf_type.texi: New file.
11782         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
11783         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
11784         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
11785         * doc/glibc-functions/pthread_getname_np.texi: New file.
11786         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
11787         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
11788         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
11789         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
11790         * doc/glibc-functions/pthread_setname_np.texi: New file.
11791         * doc/glibc-functions/pthread_sigqueue.texi: New file.
11792         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
11793         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
11794         * doc/glibc-functions/qsort_r.texi: New file.
11795         * doc/glibc-functions/quick_exit.texi: New file.
11796         * doc/glibc-functions/syncfs.texi: New file.
11797         * doc/gnulib.texi: Include them.
11798         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
11799         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
11800         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
11801         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
11802         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
11803         * doc/glibc-functions/execvpe.texi: Likewise.
11804
11805 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
11806
11807         ftell: don't include <unistd.h>
11808         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
11809         guaranteed to define off_t, and the ftell module depends on the
11810         stdio module.
11811
11812         ftell: do not assume wraparound signed arithmetic
11813         * lib/ftell.c: Include <limits.h>.
11814         (ftell): Don't assume wraparound signed arithmetic.
11815
11816 2011-07-24  Bruno Haible  <bruno@clisp.org>
11817
11818         close: No longer depend on module 'fclose'.
11819         * modules/close (Depends-on): Remove fclose.
11820         * NEWS: Mention the change.
11821         Suggested by Sam Steingold <sds@gnu.org>.
11822
11823 2011-07-24  Bruno Haible  <bruno@clisp.org>
11824
11825         fsusage: Enable large volume support on AIX >= 5.2.
11826         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
11827         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
11828         instead of STAT_STATVFS.
11829         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
11830
11831         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
11832         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
11833         f_blocks field only on MacOS X.
11834
11835         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
11836         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
11837         * modules/fsusage (Depends-on): Add largefile.
11838
11839 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
11840
11841         * README: Modernize discussion of signed integers.
11842         Assuming overflow wraparound is no longer safe.
11843         Mention ones' complement and signed magnitude.
11844
11845 2011-07-22  Bruno Haible  <bruno@clisp.org>
11846
11847         select tests, pselect tests: Refactor.
11848         * tests/test-select.h: New file, extracted from tests/test-select.c.
11849         (select_fn): New type.
11850         (test, do_select, do_select_nowait, do_select_wait, test_tty,
11851         test_connect_first, test_accept_first, test_pair, test_socket_pair,
11852         test_pipe): Add my_select argument.
11853         (test_function): Renamed from main. Add my_select argument.
11854         * tests/test-select.c: Move most code to tests/test-select.h. Include
11855         test-select.h.
11856         * modules/select-tests (Files): Add tests/test-select.h.
11857         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
11858         (my_select, main): New functions.
11859         * modules/pselect-tests (Files): Add tests/test-select.h,
11860         tests/macros.h, tests/signature.h.
11861         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
11862         (configure.ac): Check for <sys/wait.h>.
11863
11864 2011-07-22  Bruno Haible  <bruno@clisp.org>
11865
11866         sys_select tests: Check the signature of FD_*.
11867         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
11868         signature tests from here...
11869         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
11870         here.
11871         * modules/sys_select-tests (Files): Add tests/signature.h.
11872
11873 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
11874
11875         largefile: new module, replacing large-inode
11876         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
11877         * MODULES.html.sh: Add largefile, remove large-inode.
11878         * modules/largefile, m4/largefile.m4: New files.
11879         * modules/large-inode, m4/large-inode.m4: Remove.
11880
11881         fsusage: port to MacOS X 10.7 with 4 TiB file systems
11882         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
11883         implementations that use only 32 bits to count blocks.
11884         On typical hosts with 1024-byte blocks, this fails with file
11885         systems as small as 4 TiB.  Problem reported by Herb Wartens
11886         <http://debbugs.gnu.org/9140> and this should also fix a similar
11887         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
11888
11889         large-inode: New module
11890         * MODULES.html.sh: Add it.
11891         * modules/large-inode, m4/large-inode.m4: New files.
11892
11893         extensions: Enable extensions on MacOS X 10.5 and later.
11894         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
11895
11896 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
11897
11898         file-has-acl: use acl_extended_file_nofollow if available
11899         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
11900         (acl_extended_file): New macro.
11901         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
11902         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
11903
11904 2011-07-21  Bruno Haible  <bruno@clisp.org>
11905
11906         Declare system functions in a way that works with C++.
11907         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
11908         declare fdopendir as extern "C".
11909         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
11910         declare frexpl as extern "C".
11911         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
11912         declare gai_strerror as extern "C".
11913         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
11914         programs, declare gai_strerror as extern "C".
11915         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
11916         declare getlogin_r as extern "C".
11917         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
11918         as extern "C".
11919         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
11920         declare ldexpl as extern "C".
11921         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
11922         as extern "C".
11923         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
11924         program, declare getmntinfo as extern "C".
11925         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
11926         stpncpy as extern "C".
11927         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
11928         program, declare __xpg_strerror_r as extern "C".
11929         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
11930         strndup as extern "C".
11931         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
11932         declare memset and bzero as extern "C".
11933         Reported by Sam Steingold <sds@gnu.org>.
11934
11935 2011-07-12  Jim Meyering  <meyering@redhat.com>
11936
11937         maint.mk: prohibit inclusion of "verify.h" without use
11938         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
11939
11940 2011-07-19  Pádraig Brady  <P@draigBrady.com>
11941
11942         timer-time: A new module to check for timer_settime()
11943         * m4/timer_time.m4: Check for the posix function.
11944         * modules/timer-time: Add the new module.
11945         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
11946         Mention it.
11947
11948 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
11949             Bruno Haible  <bruno@clisp.org>
11950
11951         pthread_sigmask: assume POSIX threads if --avoid=threadlib
11952         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
11953         not defined, assume POSIX threads and look for pthread_sigmask in
11954         $LIBS, without changing $CPPFLAGS.
11955
11956 2011-07-19  Bruno Haible  <bruno@clisp.org>
11957
11958         strstr: Update cross-compilation guess.
11959         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
11960         CPUs, guess no, in view of glibc
11961         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
11962         Suggested by Eric Blake. Reported by Reuben Thomas.
11963
11964 2011-07-19  Pádraig Brady  <P@draigBrady.com>
11965
11966         getopt-gnu: suppress core dumps from detection code
11967         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
11968         to suppress core dumps that may well occur on glibc systems.
11969         * modules/getopt-gnu: Depend on nocrash.
11970
11971 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
11972
11973         pthread_sigmask: ensure usleep is declared
11974         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
11975         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
11976
11977 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
11978
11979         doc: Document NonStop portability issues.
11980         * doc/posix-functions/sigaction.texi (sigaction):
11981         * doc/posix-headers/signal.texi (signal.h):
11982         Document NonStop.  See Joachim Schmitz in
11983         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
11984
11985 2011-07-15  Bruno Haible  <bruno@clisp.org>
11986
11987         ffsl, ffsll: Avoid unportable behaviour.
11988         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
11989
11990 2011-07-15  Bruno Haible  <bruno@clisp.org>
11991
11992         ffs: More tests.
11993         * tests/test-ffs.c (NBITS): New macro.
11994         (main): Add more tests.
11995         * tests/test-ffsl.c (NBITS): New macro.
11996         (main): Add more tests.
11997         * tests/test-ffsll.c (NBITS): New macro.
11998         (main): Add more tests.
11999
12000 2011-07-15  Eric Blake  <eblake@redhat.com>
12001
12002         ffsl, ffsll: new modules
12003         * modules/ffsl: New file.
12004         * modules/ffsll: Likewise.
12005         * m4/ffsl.m4: Likewise.
12006         * m4/ffsll.m4: Likewise.
12007         * lib/ffsl.c: Likewise.
12008         * lib/ffsl.h: Likewise.
12009         * lib/ffsll.c: Likewise.
12010         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
12011         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
12012         * modules/string (Makefile.am): Substitute witnesses.
12013         * lib/strings.in.h (ffsl, ffsll): Declare.
12014         * modules/ffsl-tests: New test file.
12015         * modules/ffsll-tests: Likewise.
12016         * tests/test-ffsl.c: Likewise.
12017         * tests/test-ffsll.c: Likewise.
12018         * MODULES.html.sh (Integer arithmetic functions): Mention it.
12019         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
12020         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
12021
12022         ffs: fix m4 prerequisite
12023         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
12024
12025         ffs: avoid undefined behavior
12026         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
12027         * tests/test-ffs.c (naive, main): Avoid signed shifts.
12028         Reported by Bruno Haible.
12029
12030 2011-07-12  Bruno Haible  <bruno@clisp.org>
12031
12032         pthread_sigmask: Rely on module 'threadlib'.
12033         * modules/pthread_sigmask (Depends-on): Add threadlib.
12034         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
12035         is defined.
12036
12037 2011-07-12  Bruno Haible  <bruno@clisp.org>
12038
12039         regex: Depend on module 'strcase'.
12040         * modules/regex (Depends-on): Add strcase, for strcasecmp().
12041
12042 2011-07-12  Jim Meyering  <meyering@redhat.com>
12043
12044         warn-on-use: fix typo in file name
12045         * modules/snippet/warn-on-use (Files): Correct file name:
12046         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
12047
12048 2011-07-12  Bruno Haible  <bruno@clisp.org>
12049
12050         strings: Document module.
12051         * doc/posix-headers/strings.texi: Mention module 'strings'.
12052
12053 2011-07-12  Bruno Haible  <bruno@clisp.org>
12054
12055         Rename module '_Noreturn' to 'snippet/_Noreturn'.
12056         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
12057         (Files, Makefile.am): Update.
12058         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
12059         * modules/stdlib (Depends-on): Update.
12060
12061 2011-07-12  Bruno Haible  <bruno@clisp.org>
12062
12063         * NEWS: Mention the changes.
12064
12065         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
12066         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
12067         (Files, Makefile.am): Update.
12068         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
12069         * modules/arpa_inet (Depends-on): Update.
12070         * modules/ctype (Depends-on): Update.
12071         * modules/dirent (Depends-on): Update.
12072         * modules/fcntl-h (Depends-on): Update.
12073         * modules/glob (Depends-on): Update.
12074         * modules/iconv-h (Depends-on): Update.
12075         * modules/inttypes-incomplete (Depends-on): Update.
12076         * modules/langinfo (Depends-on): Update.
12077         * modules/locale (Depends-on): Update.
12078         * modules/math (Depends-on): Update.
12079         * modules/netdb (Depends-on): Update.
12080         * modules/poll-h (Depends-on): Update.
12081         * modules/pty (Depends-on): Update.
12082         * modules/search (Depends-on): Update.
12083         * modules/signal (Depends-on): Update.
12084         * modules/spawn (Depends-on): Update.
12085         * modules/stdio (Depends-on): Update.
12086         * modules/stdlib (Depends-on): Update.
12087         * modules/string (Depends-on): Update.
12088         * modules/strings (Depends-on): Update.
12089         * modules/sys_file (Depends-on): Update.
12090         * modules/sys_ioctl (Depends-on): Update.
12091         * modules/sys_select (Depends-on): Update.
12092         * modules/sys_socket (Depends-on): Update.
12093         * modules/sys_stat (Depends-on): Update.
12094         * modules/sys_time (Depends-on): Update.
12095         * modules/sys_times (Depends-on): Update.
12096         * modules/sys_utsname (Depends-on): Update.
12097         * modules/sys_wait (Depends-on): Update.
12098         * modules/termios (Depends-on): Update.
12099         * modules/time (Depends-on): Update.
12100         * modules/unistd (Depends-on): Update.
12101         * modules/wchar (Depends-on): Update.
12102         * modules/wctype-h (Depends-on): Update.
12103         * MODULES.html.sh (Support for building libraries and executables):
12104         Update.
12105
12106         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
12107         * modules/snippet/unused-parameter: Renamed from
12108         modules/unused-parameter.
12109         (Files, Makefile.am): Update.
12110         * build-aux/snippet/unused-parameter.h: Renamed from
12111         build-aux/unused-parameter.h.
12112         * modules/selinux-h (Depends-on): Update.
12113         * modules/unistr/base (Depends-on): Update.
12114         * MODULES.html.sh (Core language properties): Update.
12115
12116         Rename module 'link-warning' to 'snippet/link-warning'.
12117         * modules/snippet/link-warning: Renamed from modules/link-warning.
12118         (Files, Makefile.am): Update.
12119         * build-aux/snippet/link-warning.h: Renamed from
12120         build-aux/link-warning.h.
12121         * MODULES.html.sh (Support for building libraries and executables):
12122         Update.
12123
12124         Rename module 'c++defs' to 'snippet/c++defs'.
12125         * modules/snippet/c++defs: Renamed from modules/c++defs.
12126         (Files, Makefile.am): Update.
12127         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
12128         * modules/arpa_inet (Depends-on): Update.
12129         * modules/ctype (Depends-on): Update.
12130         * modules/dirent (Depends-on): Update.
12131         * modules/fcntl-h (Depends-on): Update.
12132         * modules/glob (Depends-on): Update.
12133         * modules/iconv-h (Depends-on): Update.
12134         * modules/langinfo (Depends-on): Update.
12135         * modules/locale (Depends-on): Update.
12136         * modules/math (Depends-on): Update.
12137         * modules/netdb (Depends-on): Update.
12138         * modules/poll-h (Depends-on): Update.
12139         * modules/pty (Depends-on): Update.
12140         * modules/search (Depends-on): Update.
12141         * modules/signal (Depends-on): Update.
12142         * modules/spawn (Depends-on): Update.
12143         * modules/stdio (Depends-on): Update.
12144         * modules/stdlib (Depends-on): Update.
12145         * modules/string (Depends-on): Update.
12146         * modules/strings (Depends-on): Update.
12147         * modules/sys_ioctl (Depends-on): Update.
12148         * modules/sys_select (Depends-on): Update.
12149         * modules/sys_socket (Depends-on): Update.
12150         * modules/sys_stat (Depends-on): Update.
12151         * modules/sys_time (Depends-on): Update.
12152         * modules/sys_wait (Depends-on): Update.
12153         * modules/termios (Depends-on): Update.
12154         * modules/time (Depends-on): Update.
12155         * modules/unistd (Depends-on): Update.
12156         * modules/wchar (Depends-on): Update.
12157         * modules/wctype-h (Depends-on): Update.
12158
12159         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
12160         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
12161         (Files, Makefile.am): Update.
12162         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
12163         * modules/argv-iter (Depends-on): Update.
12164         * modules/arpa_inet (Depends-on): Update.
12165         * modules/dirent (Depends-on): Update.
12166         * modules/fcntl-h (Depends-on): Update.
12167         * modules/fnmatch (Depends-on): Update.
12168         * modules/getopt-posix (Depends-on): Update.
12169         * modules/glob (Depends-on): Update.
12170         * modules/iconv-h (Depends-on): Update.
12171         * modules/inttypes-incomplete (Depends-on): Update.
12172         * modules/locale (Depends-on): Update.
12173         * modules/math (Depends-on): Update.
12174         * modules/netdb (Depends-on): Update.
12175         * modules/search (Depends-on): Update.
12176         * modules/signal (Depends-on): Update.
12177         * modules/spawn (Depends-on): Update.
12178         * modules/stdio (Depends-on): Update.
12179         * modules/stdlib (Depends-on): Update.
12180         * modules/string (Depends-on): Update.
12181         * modules/strings (Depends-on): Update.
12182         * modules/sys_socket (Depends-on): Update.
12183         * modules/sys_stat (Depends-on): Update.
12184         * modules/sys_time (Depends-on): Update.
12185         * modules/sys_times (Depends-on): Update.
12186         * modules/sys_utsname (Depends-on): Update.
12187         * modules/time (Depends-on): Update.
12188         * modules/unistd (Depends-on): Update.
12189         * modules/wchar (Depends-on): Update.
12190         * MODULES.html.sh (Support for building libraries and executables):
12191         Update.
12192
12193 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
12194
12195         Improvements on _Noreturn and related modules.
12196
12197         modules/_Exit-tests: test _Noreturn too
12198         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
12199         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
12200         (main): Use them.
12201
12202         stdnoreturn, stdnoreturn-tests: remove modules
12203         They're not needed here and a bit premature for use elsewhere.  See
12204         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
12205         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
12206         * tests/test-stdnoreturn.c: Remove files.
12207         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
12208         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
12209         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
12210         and using noreturn.
12211         * modules/openat, modules/sigpipe-die, modules/xalloc:
12212         * modules/xmemdup0, modules/xstrtol:
12213         Remove dependency on stdnoreturn.
12214
12215         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
12216         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
12217         Reparenthesize to avoid GCC warning.
12218         Support Microsoft's syntax.
12219         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
12220
12221         _Noreturn-tests: remove module
12222         * modules/_Noreturn-tests: Remove.
12223         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
12224         * tests/test-_Noreturn.c: Remove.
12225         * tests/test-stdnoreturn.c: Merge from the old
12226         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
12227
12228 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
12229
12230         _Noreturn, stdnoreturn, and related modules.
12231
12232         * top/maint.mk: Adjust to new noreturn support.
12233         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
12234         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
12235
12236         xalloc: use stdnoreturn.h
12237         * lib/xalloc.h: Include <stdnoreturn.h>.
12238         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
12239         * modules/xalloc (Depends-on): Add stdnoreturn.
12240
12241         xstrtol: use stdnoreturn.h
12242         * lib/xstrtol.h: Include <stdnoreturn.h>.
12243         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
12244         * modules/xstrtol (Depends-on): Add stdnoreturn.
12245
12246         xmemdup0: use stdnoreturn.h
12247         * lib/xmemdup0.h: Include <stdnoreturn.h>.
12248         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
12249         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
12250
12251         sigpipe-die: use stdnoreturn.h
12252         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
12253         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
12254         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
12255
12256         openat: use stdnoreturn.h
12257         * lib/openat.h: Include <stdnoreturn.h>.
12258         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
12259         * modules/openat (Depends-on): Add stdnoreturn.
12260
12261         * lib/openat-die.c (openat_save_fail): Modernize comment.
12262
12263         * lib/xalloc-die.c (xalloc_die): Modernize comment.
12264
12265         * lib/glthread/thread.h: Modernize comment.
12266
12267         obstack: use _Noreturn
12268         * lib/obstack.c (__attribute__): Remove macro.
12269         (print_and_abort): Use _Noreturn.
12270
12271         c-stack: use _Noreturn
12272         * lib/c-stack.c (die, overflow_handler, segv_handler):
12273         Use _Noreturn rather than __attribute__((noreturn)).
12274
12275         argmatch-tests, exclude_tests: use _Noreturn
12276         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
12277         Remove.
12278         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
12279
12280         stdlib: use _Noreturn
12281         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
12282         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
12283         * modules/stdlib (Depends-on): Add _Noreturn.
12284         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
12285
12286         stdnoreturn-tests: new module
12287         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
12288
12289         stdnoreturn: new module
12290         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
12291         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
12292
12293         _Noreturn-tests: new module
12294         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
12295
12296         _Noreturn: new module
12297         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
12298         New section, mentioning it.
12299         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
12300
12301         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
12302
12303 2011-07-11  Eric Blake  <eblake@redhat.com>
12304
12305         ffs: new module
12306         * modules/ffs: New file.
12307         * m4/ffs.m4: Likewise.
12308         * lib/ffs.c: Likewise.
12309         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
12310         * modules/strings (Makefile.am): Substitute witness.
12311         (Depends-on): Add c++defs.
12312         * lib/strings.in.h (ffs): Declare.
12313         * modules/ffs-tests: New test file.
12314         * tests/test-ffs.c: Test new module.
12315         * MODULES.html.sh (Integer arithmetic functions): Mention it.
12316         * doc/posix-functions/ffs.texi (ffs): Likewise.
12317
12318         regex: avoid compiler warning
12319         * lib/regex.c (includes): Include <strings.h>, for use of
12320         strcasecmp in regcomp.c.
12321         Reported by Joachim Schmitz.
12322
12323 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
12324
12325         stdint: respect system's intmax_t if INTMAX_MAX
12326         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
12327         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
12328         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
12329         long but int64_t is long long, and where we will clash with the
12330         system intmax_t if we override it.  See
12331         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
12332         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
12333         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
12334         similarly for UINTMAX_C.
12335
12336 2011-07-08  Bruno Haible  <bruno@clisp.org>
12337
12338         pthread_sigmask tests: Avoid a compiler warning.
12339         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
12340         non-zero.
12341
12342         sigprocmask tests: A better way to avoid a compiler warning.
12343         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
12344         (main): Complain if system() returns non-zero.
12345         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
12346
12347 2011-07-08  Bruno Haible  <bruno@clisp.org>
12348
12349         pthread_sigmask: Work around IRIX bug.
12350         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
12351         bug.
12352         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
12353         there may be unblocked pending signals.
12354         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
12355
12356 2011-07-08  Bruno Haible  <bruno@clisp.org>
12357
12358         pthread_sigmask: Work around Cygwin bug.
12359         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
12360         bug.
12361         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
12362         the system's pthread_sigmask function.
12363         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
12364
12365 2011-07-08  Bruno Haible  <bruno@clisp.org>
12366
12367         pthread_sigmask: Work around bug in single-threaded implementation.
12368         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
12369         FreeBSD, HP-UX, Solaris bug.
12370         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
12371         * lib/pthread_sigmask.c: Include <stddef.h>.
12372         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
12373         the system's pthread_sigmask function.
12374         * modules/pthread_sigmask (configure.ac): Invoke
12375         gl_PREREQ_PTHREAD_SIGMASK.
12376         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
12377         HP-UX, Solaris.
12378
12379 2011-07-08  Eric Blake  <eblake@redhat.com>
12380
12381         test-sigprocmask: avoid compiler warning
12382         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
12383         * tests/test-sigprocmask.c (main): Use it to silence warning.
12384         Reported by Jim Meyering.
12385
12386         test-snprintf: avoid compiler warning
12387         * tests/test-snprintf.c (main): Avoid shadowed declaration.
12388         * tests/test-vsnprintf.c (main): Likewise.
12389         Reported by Jim Meyering.
12390
12391 2011-07-08  Bruno Haible  <bruno@clisp.org>
12392
12393         Tests for module 'pthread_sigmask'.
12394         * modules/pthread_sigmask-tests: New file.
12395         * tests/test-pthread_sigmask1.c: New file, based on
12396         tests/test-sigprocmask.c.
12397         * tests/test-pthread_sigmask2.c: New file.
12398
12399 2011-07-08  Jim Meyering  <meyering@redhat.com>
12400
12401         test-getopt.h: avoid warning about an unused variable
12402         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
12403
12404 2011-07-07  Jim Meyering  <meyering@redhat.com>
12405
12406         maint: reduce list of files exempt from sc_prohibit_leading_TABs
12407         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
12408         now that it no longer contains leading TABs.
12409         Remove unused "url=FIXME" statement.
12410
12411 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
12412
12413         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
12414         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
12415         When gl_THREADLIB is not in use, assume that the POSIX sematics
12416         are desired.  This is better for Emacs, which uses POSIX semantics
12417         on GNUish and/or POSIXish platforms, and does not use threads at
12418         all otherwise.
12419
12420         pthread_sigmask: fix typo when testing for libraries
12421         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
12422         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
12423
12424 2011-07-08  Eric Blake  <eblake@redhat.com>
12425
12426         fts: introduce FTS_NOATIME
12427         * lib/fts_.h (FTS_NOATIME): New bit flag.
12428         (FTS_OPTIONMASK): Adjust.
12429         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
12430         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
12431
12432 2011-07-08  Bruno Haible  <bruno@clisp.org>
12433
12434         Tests for module 'thread'.
12435         * modules/thread-tests: New file.
12436         * tests/test-thread_self.c: New file.
12437         * tests/test-thread_create.cc: New file.
12438
12439 2011-07-08  Bruno Haible  <bruno@clisp.org>
12440
12441         thread: Avoid gcc warnings when using gl_thread_self().
12442         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
12443         'void *'.
12444         (gl_thread_self_pointer): Update.
12445
12446 2011-07-07  Bruno Haible  <bruno@clisp.org>
12447
12448         signal-c++-tests: Check declaration of pthread_sigmask.
12449         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
12450         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
12451         $(LIB_PTHREAD_SIGMASK).
12452
12453 2011-07-07  Bruno Haible  <bruno@clisp.org>
12454
12455         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
12456         * lib/signal.in.h (pthread_sigmask): Override if
12457         REPLACE_PTHREAD_SIGMASK is 1.
12458         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
12459         REPLACE_PTHREAD_SIGMASK.
12460         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
12461         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
12462         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
12463         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
12464         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
12465
12466 2011-07-07  Bruno Haible  <bruno@clisp.org>
12467
12468         pthread_sigmask: Ensure declaration in <signal.h>.
12469         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
12470         include <pthread.h>.
12471         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
12472         problem.
12473
12474 2011-07-07  Bruno Haible  <bruno@clisp.org>
12475
12476         pthread_sigmask: Document the module.
12477         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
12478
12479 2011-07-07  Bruno Haible  <bruno@clisp.org>
12480
12481         pthread_sigmask: Follow gnulib conventions.
12482         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
12483         gl_PTHREAD_SIGMASK.
12484         * modules/pthread_sigmask (configure.ac): Update.
12485
12486 2011-07-07  Bruno Haible  <bruno@clisp.org>
12487
12488         pthread_sigmask: Make declaration C++ safe.
12489         * lib/signal.in.h: In two special conditions, just do an #include_next.
12490         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
12491         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
12492         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
12493         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
12494         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
12495         not REPLACE_PTHREAD_MASK.
12496         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
12497         not REPLACE_PTHREAD_MASK.
12498         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
12499
12500 2011-07-07  Bruno Haible  <bruno@clisp.org>
12501
12502         pthread_sigmask: Fix return value.
12503         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
12504         * lib/pthread_sigmask.c: New file.
12505         * modules/pthread_sigmask (Files): Add it.
12506         (configure.ac): Invoke AC_LIBOBJ.
12507
12508 2011-07-07  Eric Blake  <eblake@redhat.com>
12509
12510         getopt: more portable argv creation
12511         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
12512         const, use char arrays rather than strings.
12513         Suggested by Paul Eggert.
12514
12515 2011-07-07  Bruno Haible  <bruno@clisp.org>
12516
12517         Tests for module 'sigprocmask'.
12518         * modules/sigprocmask-tests: New file.
12519         * tests/test-sigprocmask.c: New file.
12520
12521 2011-07-07  Bruno Haible  <bruno@clisp.org>
12522
12523         float tests: Tweak.
12524         * tests/test-float.c (main): Tweak skip message.
12525
12526 2011-07-07  Eric Blake  <eblake@redhat.com>
12527
12528         getopt: avoid compiler warning during configure
12529         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
12530         assigning string literals to non-const pointer.
12531
12532         getopt-gnu: avoid crash in glibc getopt
12533         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
12534         * tests/test-getopt.h (test_getopt): Enhance test.
12535         * tests/test-getopt_long.h (test_getopt_long): Likewise.
12536         * doc/posix-functions/getopt.texi (getopt): Document it.
12537         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
12538         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
12539         Likewise.
12540
12541 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
12542
12543         getopt: handle W; without long options in getopt [BZ #12922]
12544         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
12545         but no long options are defined, just return 'W'.
12546
12547 2011-07-07  Bruno Haible  <bruno@clisp.org>
12548
12549         Avoid literal tabs.
12550         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
12551         variable containing a tab instead of a literal tab.
12552         Reported by Jim Meyering.
12553
12554 2011-07-07  Bruno Haible  <bruno@clisp.org>
12555
12556         Comments.
12557         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
12558
12559 2011-07-06  Bruno Haible  <bruno@clisp.org>
12560
12561         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
12562         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
12563         <winsock2.h>.
12564         (rpl_fd_isset, FD_ISSET): New definitions, copied from
12565         lib/sys_socket.in.h.
12566         (close, gethostname): Hide declarations from <winsock2.h>.
12567         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
12568         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
12569         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
12570         (select): Don't override if gnulib's <sys/select.h> was already
12571         included.
12572         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
12573         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
12574         setsockopt, shutdown, select): Tweak indentation.
12575
12576 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
12577
12578         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
12579         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
12580         in an application that does not use the sys_select module.
12581
12582 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
12583
12584         poll: do not return 0 on timeout=-1
12585         * lib/poll.c: Loop with yield if no events occured
12586
12587 2011-07-06  Eric Blake  <eblake@redhat.com>
12588
12589         pthread_sigmask: always replace when not using pthread
12590         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
12591         replacement when using some threading other than pthread.  Fix
12592         logic bug.
12593
12594 2011-07-06  Bruno Haible  <bruno@clisp.org>
12595
12596         Comments.
12597         * m4/printf.m4: Update comments about mingw.
12598
12599 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
12600
12601         sys_select: define sigset_t more portably
12602         * lib/sys_select.in.h: Always include <sys/types.h>, since
12603         we now need sigset_t and mingw defines it there.
12604         Include <signal.h> before split inclusion guard, to avoid
12605         mishaps on Solaris, whose <signal.h> eventually includes us.
12606         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
12607         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
12608         which come from ...
12609         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
12610         gl_CHECK_TYPE_SIGSET_T.
12611         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
12612         does the real work.
12613         * modules/sys_select (Depends-on): Add 'signal'.
12614
12615         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
12616         Suggested by Bruno Haible.
12617
12618         pselect: Use pthread_sigmask, not sigprocmask.
12619         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
12620         multithreaded apps better than sigprocmask does.
12621         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
12622         sigprocmask directly.
12623
12624 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
12625
12626         * lib/pselect.c (pselect): Use plain name, without "rpl_".
12627         Don't #undef,  since we don't need any underlying pselect.
12628         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
12629         (Depends-on): Add select.
12630         (Link): Add $(LIBSOCKET).
12631         These changes suggested by Bruno Haible.
12632
12633         pselect: document better
12634         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
12635         * doc/posix-functions/pselect.texi (pselect): Document new module.
12636
12637         pthread_sigmask: new module
12638         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
12639         * doc/posix-functions/pthread_sigmask.texi: Document new module.
12640         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
12641         This is done only as a macro; I don't know how well that'll
12642         work for C++.  Move <sys/types.h> include before the include_next,
12643         to avoid mishap on Solaris.
12644         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
12645         * modules/signal (Makefile.am): Substitute the check's results.
12646         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
12647
12648         test-pselect: new module
12649         * modules/pselect-tests, tests/test-pselect.c: New files.
12650         * tests/test-select.c, tests/test-sys_select-c++.cc:
12651         If TEST_PSELECT is defined, test pselect instead of testing select.
12652
12653         * tests/test-sys_select.c (sigset_t): Test for it, too.
12654         Suggested by Bruno Haible.
12655
12656 2011-07-05  Eric Blake  <eblake@redhat.com>
12657
12658         snprintf: guarantee %1$d, for libintl
12659         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
12660         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
12661         * doc/posix-functions/snprintf.texi (snprintf): Update.
12662         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
12663         * tests/test-snprintf.c (main): Enhance test.
12664         * tests/test-vsnprintf.c (main): Likewise.
12665
12666 2011-07-05  Jim Meyering  <meyering@redhat.com>
12667
12668         maint: exempt stdio-read.c and stdio-write.c from the cppi check
12669         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
12670         per Bruno's request, to accommodate this idiom (no space after "#")
12671         even when the function is inside an #if block:
12672         char *
12673         gets (char *s)
12674         #undef gets
12675         {
12676           ...
12677         }
12678
12679 2011-07-04  Jim Meyering  <meyering@redhat.com>
12680
12681         maint: indent with spaces, not TABs, and add a rule to check this
12682         * tests/test-userspec.c: Indent with spaces, not TABs.
12683         * tests/test-argp.c: Likewise.
12684         * tests/test-c-stack2.sh: Likewise.
12685         * tests/test-parse-duration.sh: Likewise
12686         * m4/strtod.m4: Likewise.
12687         * m4/alloca.m4: Likewise.
12688         * m4/pselect.m4: Likewise.
12689         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
12690
12691 2011-07-03  Jim Meyering  <meyering@redhat.com>
12692
12693         maint.mk: correct omissions in prohibit_argmatch_without_use check
12694         This rule would mistakenly report that argmatch.h is included without
12695         use even when both the argmatch and invalid_arg macro were used.
12696         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
12697         of argmatch and invalid_arg.
12698
12699 2011-07-03  Bruno Haible  <bruno@clisp.org>
12700
12701         Comments about EINTR.
12702         * lib/safe-read.h: Explain the purpose of this module.
12703         * lib/safe-write.h: Likewise.
12704         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
12705         module.
12706         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
12707         module.
12708         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
12709
12710 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
12711
12712         xnanosleep: Rewrite to use new dtotimespec module.
12713         It has the conversion code that used to be in xnanosleep.
12714         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
12715         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
12716         (TIME_T_MAX): Remove.
12717         (xnanosleep): Rewrite in terms of dtotimespec.
12718         * modules/xnanosleep (Depends-on): Add dtotimespec.
12719         Remove intprops, stdbool.
12720
12721         timespec-add, timespec-sub: new modules
12722         * lib/timespec.h (timespec_add, timespec_sub): New decls.
12723         * lib/timespec-add.c, lib/timespec-sub.c:
12724         * modules/timespec-add, modules/timespec-sub: New files.
12725
12726         dtotimespec: new module
12727         * lib/timespec.h (dtotimespec): New decl.
12728         * lib/dtotimespec.c, modules/dtotimespec: New files.
12729
12730         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
12731
12732         pselect: new module
12733         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
12734         (pselect): New decls.
12735         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
12736         since the standard pselect decl uses 'restrict'.
12737         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
12738         HAVE_PSELECT, REPLACE_PSELECT.
12739         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
12740         HAVE_PSELECT, REPLACE_PSELECT.
12741         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
12742
12743         sys_select: don't depend on sys_socket
12744         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
12745         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
12746         This fix works on GNU and GNU-like platforms, but has not been tested
12747         on native Windows.
12748         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
12749         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
12750         gl_HEADER_SYS_SOCKET.
12751         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
12752         gl_PREREQ_SYS_H_WINSOCK2.
12753
12754 2011-06-29  Eric Blake  <eblake@redhat.com>
12755
12756         pipe2: fix C89 compile problem
12757         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
12758         Reported by Bruno Haible.
12759
12760         pipe, pipe2: don't corrupt fd on error
12761         * lib/pipe.c (pipe): Leave fd unchanged on error.
12762         * lib/pipe2.c (pipe2): Likewise.
12763         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
12764         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
12765
12766 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
12767
12768         mmap-anon: do not use regular expressions inadvertently
12769         * m4/mmap-anon.m4: Remove trailing period from strings sought
12770         in the output.
12771
12772 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
12773
12774         nanosleep: fix integer overflow problem
12775         * lib/nanosleep.c (my_usleep): Don't assume signed integer
12776         arithmetic wraps around on overflow.
12777
12778         nanosleep: simplify carrying
12779         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
12780         first call to the underyling nanosleep, not for the last one.
12781         This doesn't fix any bugs, but it simplifies the computation of
12782         the remaining delay.  Found while auditing integer overflow issues.
12783
12784         dup2: remove test for existence of fcntl
12785         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
12786         "#if HAVE_FCNTL", in the configure-time test program.
12787         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
12788         and therefore speeds up "configure" a bit.  Found while
12789         adding the dup2 module to Emacs.
12790
12791 2011-06-24  Eric Blake  <eblake@redhat.com>
12792
12793         maint.mk: enhance useless header checks
12794         * top/maint.mk (_sc_header_without_use): Check both include
12795         styles.
12796         (sc_prohibit_assert_without_use)
12797         (sc_prohibit_close_stream_without_use)
12798         (sc_prohibit_getopt_without_use)
12799         (sc_prohibit_quotearg_without_use)
12800         (sc_prohibit_quote_without_use)
12801         (sc_prohibit_long_options_without_use)
12802         (sc_prohibit_inttostr_without_use)
12803         (sc_prohibit_ignore_value_without_use)
12804         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
12805         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
12806         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
12807         (sc_prohibit_hash_pjw_without_use)
12808         (sc_prohibit_safe_read_without_use)
12809         (sc_prohibit_argmatch_without_use)
12810         (sc_prohibit_canonicalize_without_use)
12811         (sc_prohibit_root_dev_ino_without_use)
12812         (sc_prohibit_openat_without_use)
12813         (sc_prohibit_c_ctype_without_use)
12814         (sc_prohibit_signal_without_use)
12815         (sc_prohibit_stdio--_without_use)
12816         (sc_prohibit_stdio-safer_without_use)
12817         (sc_prohibit_strings_without_use)
12818         (sc_prohibit_intprops_without_use)
12819         (sc_prohibit_stddef_without_use)
12820         (sc_prohibit_xfreopen_without_use): Update clients.
12821
12822 2011-06-24  Jim Meyering  <meyering@redhat.com>
12823
12824         syntax-check: keep one maint.mk rule in sync with its header
12825         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
12826         of the bug Eric has just fixed, with today's commit 25e4c2ec.
12827         I prefer to avoid temporary files here, so use <(...), but that
12828         is not supported by /bin/sh, so...
12829         (SHELL): Define to /bin/bash.
12830
12831 2011-06-24  Eric Blake  <eblake@redhat.com>
12832
12833         maint.mk: update sc_prohibit_intprops_without_use
12834         * top/maint.mk (_intprops_names): Match recent changes.
12835
12836 2011-06-24  Bruno Haible  <bruno@clisp.org>
12837
12838         strerror-override: No-op tweak.
12839         * lib/strerror-override.h (strerror_override): Reorder conditions,
12840         for consistency with lib/strerror-override.c.
12841
12842 2011-06-23  Eric Blake  <eblake@redhat.com>
12843
12844         maint.mk: test further PATH_MAX issues
12845         * top/maint.mk (sc_prohibit_path_max_array): Rename...
12846         (sc_prohibit_path_max_allocation): ...and also test alloca.
12847         Suggested by Jim Meyering.
12848
12849 2011-06-22  Eric Blake  <eblake@redhat.com>
12850
12851         maint.mk: add syntax-check to avoid char[PATH_MAX]
12852         * top/maint.mk (sc_prohibit_path_max_array): New rule.
12853
12854         stat: be robust to PATH_MAX definition
12855         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
12856         * modules/stat (Depends-on): Add verify.
12857
12858         link: work around IRIX bug
12859         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
12860         * lib/link.c (rpl_link): Work around it.
12861         * tests/test-link.h (test_link): Enhance test.
12862         * doc/posix-functions/link.texi (link): Document the bug.
12863
12864         getopt: silence clang warning
12865         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
12866         dereference.
12867         Reported by Gustavo Martin Domato.
12868
12869 2011-06-22  Jim Meyering  <meyering@redhat.com>
12870
12871         bootstrap: do not insert a blank line into each .gitignore file
12872         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
12873
12874 2011-06-21  Eric Blake  <eblake@redhat.com>
12875
12876         perror: test for output mismatch
12877         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
12878         perror on IRIX.
12879
12880         strerror_r: fix OpenBSD behavior on out-of-range
12881         * lib/strerror_r.c (strerror_r): Always use maximal string.
12882         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
12883
12884         strerror_r: fix OpenBSD behavior on 0
12885         * lib/strerror-override.c (strerror_override): Also override 0
12886         when needed.
12887         * lib/strerror-override.h (strerror_override): Likewise.
12888         * lib/strerror.c (strerror): Simplify, now that 0 override is done
12889         earlier.
12890         * lib/strerror_r.c (strerror_r): Likewise.
12891         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
12892         behavior...
12893         (gl_FUNC_STRERROR_0): ...into new macro.
12894         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
12895         is overridden.
12896         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
12897         * modules/strerror-override (Files): Add strerror.m4.
12898         (configure.ac): Also provide override for 0 when needed.
12899         * doc/posix-functions/strerror.texi (strerror): Document this.
12900         * doc/posix-functions/perror.texi (perror): Likewise.
12901
12902         perror: adjust array size
12903         * modules/perror (Depends-on): Add strerror-override.
12904         * lib/perror.c (perror): Use it to avoid magic number.
12905
12906         strerror-override: reduce size
12907         * lib/strerror-override.c (strerror_override): Use fewer lines.
12908
12909 2011-06-20  Bruno Haible  <bruno@clisp.org>
12910
12911         pathmax: Ensure correct value for PATH_MAX on HP-UX.
12912         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
12913
12914 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
12915
12916         alloca: port to compilers that can optimize like GCC 4.6.0
12917         * lib/alloca.c (find_stack_direction): New signature, taken from
12918         Autoconf git.  This works with GCC 4.6.0.  This code should never
12919         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
12920         be used with other compilers that optimize as well as GCC 4.6.0 does.
12921         (alloca): Adjust to new signature.
12922         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
12923         New macro, which patches Autoconf in a similar way.
12924
12925         c-stack: stop worrying about stack direction
12926         * lib/c-stack.c (find_stack_direction): Remove.
12927         (segv_handler): Don't worry about stack direction growth, as it's
12928         too much of a pain to configure this correctly, given how compilers
12929         are optimizing-away our stack-growth detection code.  Instead, assume
12930         that any access to just before or just after the stack is OK.
12931         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
12932         Don't require AC_FUNC_ALLOCA; no longer needed.
12933
12934 2011-06-20  Eric Blake  <eblake@redhat.com>
12935
12936         test-stat: don't allocate PATH_MAX bytes
12937         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
12938         PATH_MAX-sized buffer.
12939         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
12940         * modules/stat-tests (Depends-on): Likewise.
12941         * tests/test-fstatat.c (includes): Drop pathmax.h.
12942         * tests/test-stat.c (includes): Likewise.
12943         Reported by Bruno Haible.
12944
12945 2011-06-20  Bruno Haible  <bruno@clisp.org>
12946
12947         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
12948         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
12949         * lib/float.c: New file.
12950         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
12951         REPLACE_FLOAT_LDBL.
12952         * modules/float (Files): Add lib/float.c.
12953         (configure.ac): Invoke AC_LIBOBJ.
12954         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
12955
12956 2011-06-20  Bruno Haible  <bruno@clisp.org>
12957
12958         Tests for module 'float'.
12959         * modules/float-tests: New file.
12960         * tests/test-float.c: New file.
12961
12962 2011-06-19  Bruno Haible  <bruno@clisp.org>
12963
12964         isinf: Coding style.
12965         * lib/isinf.c: Use GNU coding style.
12966
12967 2011-06-19  Bruno Haible  <bruno@clisp.org>
12968
12969         linkat test: Avoid test failure on AIX 7.1.
12970         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
12971         * tests/test-link.h (test_link): Likewise.
12972
12973 2011-06-19  Bruno Haible  <bruno@clisp.org>
12974
12975         pread test: Avoid test failure on OpenBSD 4.9.
12976         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
12977
12978 2011-06-19  Bruno Haible  <bruno@clisp.org>
12979
12980         sprintf-posix: Fix test failure on AIX 7.1.
12981         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
12982         * doc/posix-functions/dprintf.texi: Mention limited precision problem
12983         on AIX.
12984         * doc/posix-functions/fprintf.texi: Likewise.
12985         * doc/posix-functions/printf.texi: Likewise.
12986         * doc/posix-functions/snprintf.texi: Likewise.
12987         * doc/posix-functions/sprintf.texi: Likewise.
12988         * doc/posix-functions/vdprintf.texi: Likewise.
12989         * doc/posix-functions/vfprintf.texi: Likewise.
12990         * doc/posix-functions/vprintf.texi: Likewise.
12991         * doc/posix-functions/vsnprintf.texi: Likewise.
12992         * doc/posix-functions/vsprintf.texi: Likewise.
12993
12994 2011-06-19  Bruno Haible  <bruno@clisp.org>
12995
12996         roundl-ieee: Fix test failure on AIX 7.1.
12997         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
12998         * doc/posix-functions/roundl.texi: Mention problem with negative
12999         arguments.
13000
13001 2011-06-19  Bruno Haible  <bruno@clisp.org>
13002
13003         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
13004         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
13005         * doc/posix-functions/round.texi: Mention problem with negative
13006         arguments.
13007         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
13008
13009 2011-06-19  Bruno Haible  <bruno@clisp.org>
13010
13011         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
13012         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
13013         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
13014         * doc/posix-functions/roundf.texi: Mention problem with negative
13015         arguments.
13016         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
13017
13018 2011-06-19  Bruno Haible  <bruno@clisp.org>
13019
13020         ceilf-ieee: Work around bug on MacOS X 10.5.
13021         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
13022
13023         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
13024         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
13025         IEEE compliant, avoid compiler optimizations.
13026         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
13027         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
13028         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
13029         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
13030         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
13031         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
13032         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
13033         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
13034         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
13035         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
13036
13037 2011-06-19  Bruno Haible  <bruno@clisp.org>
13038
13039         ceilf-ieee: Work around bug on AIX 7.1.
13040         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
13041         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
13042
13043 2011-06-19  Bruno Haible  <bruno@clisp.org>
13044
13045         ceil-ieee: Work around bug on AIX 7.1.
13046         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
13047         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
13048
13049 2011-06-18  Bruno Haible  <bruno@clisp.org>
13050
13051         fsync test: Avoid test failure on MacOS X and AIX.
13052         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
13053         EINVAL.
13054
13055 2011-06-18  Bruno Haible  <bruno@clisp.org>
13056
13057         openat, fdopendir tests: Fix link errors.
13058         * modules/openat-tests (Depends-on): Add progname.
13059         * modules/fdopendir-tests (Depends-on): Likewise.
13060         * tests/test-fchownat.c: Include progname.h.
13061         (main): Call set_program_name.
13062         * tests/test-fstatat.c: Include progname.h.
13063         (main): Call set_program_name.
13064         * tests/test-mkdirat.c: Include progname.h.
13065         (main): Call set_program_name.
13066         * tests/test-openat.c: Include progname.h.
13067         (main): Call set_program_name.
13068         * tests/test-unlinkat.c: Include progname.h.
13069         (main): Call set_program_name.
13070         * tests/test-fdopendir.c: Include progname.h.
13071         (main): Call set_program_name.
13072
13073 2011-06-18  Bruno Haible  <bruno@clisp.org>
13074
13075         Doc update.
13076         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
13077         HP-UX.
13078         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
13079
13080 2011-06-18  Bruno Haible  <bruno@clisp.org>
13081
13082         getcwd tests: Avoid compilation error on HP-UX 11.31.
13083         * modules/getcwd-tests (Depends-on): Add pathmax.
13084         * tests/test-getcwd.c: Include pathmax.h.
13085
13086 2011-06-18  Bruno Haible  <bruno@clisp.org>
13087
13088         isfinite, isinf: Fix link error on AIX 6 and 7.
13089         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
13090         needed, also test the macro with a 'float' argument.
13091         * m4/isinf.m4 (gl_ISINF): Likewise.
13092
13093 2011-06-18  Bruno Haible  <bruno@clisp.org>
13094
13095         getloadavg: Don't clobber LIBS. Regression from previous commit.
13096         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
13097         AC_CHECK_LIB from here...
13098         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
13099         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
13100         gl_func_getloadavg_done.
13101         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13102
13103 2011-06-18  Bruno Haible  <bruno@clisp.org>
13104
13105         clean-temp: Improve documentation.
13106         * lib/clean-temp.h: Explain better how to use this module.
13107         Reported by John Darrington <john@darrington.wattle.id.au>.
13108
13109 2011-06-17  Bruno Haible  <bruno@clisp.org>
13110
13111         pread, pwrite: Avoid cc warning on AIX.
13112         * lib/unistd.in.h (pread): Undefine before defining as a macro.
13113         (pwrite): Likewise.
13114
13115 2011-06-17  Bruno Haible  <bruno@clisp.org>
13116
13117         spawn-pipe tests: Fix link error.
13118         * tests/test-spawn-pipe-child.c: Undefine fprintf.
13119         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13120
13121 2011-06-17  Bruno Haible  <bruno@clisp.org>
13122
13123         Tests: Remove unnecessary dependency.
13124         * modules/canonicalize-tests (Depends-on): Remove progname.
13125         * modules/chown-tests (Depends-on): Likewise.
13126         * modules/dirname-tests (Depends-on): Likewise.
13127         * modules/fdopendir-tests (Depends-on): Likewise.
13128         * modules/fdutimensat-tests (Depends-on): Likewise.
13129         * modules/hash-tests (Depends-on): Likewise.
13130         * modules/lchown-tests (Depends-on): Likewise.
13131         * modules/linkat-tests (Depends-on): Likewise.
13132         * modules/renameat-tests (Depends-on): Likewise.
13133         * modules/spawn-pipe-tests (Depends-on): Likewise.
13134         * modules/utimensat-tests (Depends-on): Likewise.
13135
13136 2011-06-17  Bruno Haible  <bruno@clisp.org>
13137
13138         spawn-pipe tests: Fix link error.
13139         * tests/test-spawn-pipe-child.c: Undefine fflush.
13140
13141 2011-06-17  Bruno Haible  <bruno@clisp.org>
13142
13143         Fix tests link errors.
13144         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
13145         * modules/chown-tests (Makefile.am): Don't link test-chown with
13146         LIBINTL.
13147         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
13148         LIBINTL.
13149         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
13150         LIBINTL.
13151         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
13152         LIBINTL.
13153
13154 2011-06-16  Bruno Haible  <bruno@clisp.org>
13155
13156         crypto/gc-sha1: Fix recent regression.
13157         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
13158         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
13159
13160         crypto/gc-md5: Fix recent regression.
13161         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
13162
13163         crypto/gc-md4: Fix recent regression.
13164         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
13165         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
13166
13167         crypto/gc-arctwo: Fix recent regression.
13168         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
13169         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
13170
13171         crypto/gc-rijndael: Fix recent regression.
13172         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
13173         (configure.ac): Invoke AC_LIBOBJ here.
13174         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
13175         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13176
13177         crypto/gc-hmac-sha1: Fix recent regression.
13178         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
13179         (configure.ac): Invoke AC_LIBOBJ here.
13180         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
13181         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13182
13183         crypto/gc-hmac-md5: Fix recent regression.
13184         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
13185         (configure.ac): Invoke AC_LIBOBJ here.
13186         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
13187         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13188
13189         crypto/gc-des: Fix recent regression.
13190         * modules/crypto/gc-des (Files): Remove m4/des.m4.
13191         (configure.ac): Invoke AC_LIBOBJ here.
13192         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
13193         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13194
13195         crypto/gc-arcfour: Fix recent regression.
13196         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
13197         (configure.ac): Invoke AC_LIBOBJ here.
13198         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
13199         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13200
13201 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
13202
13203         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
13204         After the 2011-05-21 change, this macro requires
13205         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
13206         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
13207
13208 2011-06-16  Bruno Haible  <bruno@clisp.org>
13209
13210         fprintftime: Move AC_LIBOBJ invocations to module description.
13211         * m4/fprintftime.m4: Remove file.
13212         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
13213         (configure.ac): Remove gl_FPRINTFTIME call.
13214         (Makefile.am): Augment lib_SOURCES.
13215         Reported by Jim Meyering.
13216
13217 2011-06-16  Bruno Haible  <bruno@clisp.org>
13218
13219         tmpfile-safer: Finish 2011-05-23 commit.
13220         * m4/stdio-safer.m4: Really remove file.
13221         Reported by Jim Meyering.
13222
13223 2011-06-16  Bruno Haible  <bruno@clisp.org>
13224
13225         syntax-check: Fix typo.
13226         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
13227         printf-posix.m4.
13228         Reported by Jim Meyering.
13229
13230 2011-06-13  Jim Meyering  <meyering@redhat.com>
13231
13232         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
13233         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
13234
13235 2011-05-23  Bruno Haible  <bruno@clisp.org>
13236
13237         yesno: Move AC_LIBOBJ invocations to module description.
13238         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
13239         * modules/yesno (Makefile.am): Augment lib_SOURCES.
13240
13241 2011-05-23  Bruno Haible  <bruno@clisp.org>
13242
13243         xstrtol: Move AC_LIBOBJ invocations to module description.
13244         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
13245         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
13246
13247 2011-05-23  Bruno Haible  <bruno@clisp.org>
13248
13249         xstrtold: Move AC_LIBOBJ invocations to module description.
13250         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
13251         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
13252
13253 2011-05-23  Bruno Haible  <bruno@clisp.org>
13254
13255         xstrtod: Move AC_LIBOBJ invocations to module description.
13256         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
13257         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
13258
13259 2011-05-23  Bruno Haible  <bruno@clisp.org>
13260
13261         xnanosleep: Move AC_LIBOBJ invocations to module description.
13262         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
13263         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
13264
13265 2011-05-23  Bruno Haible  <bruno@clisp.org>
13266
13267         xgetcwd: Move AC_LIBOBJ invocations to module description.
13268         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
13269         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
13270
13271 2011-05-23  Bruno Haible  <bruno@clisp.org>
13272
13273         xalloc: Move AC_LIBOBJ invocations to module description.
13274         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
13275         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
13276
13277 2011-05-23  Bruno Haible  <bruno@clisp.org>
13278
13279         write-any-file: Move AC_LIBOBJ invocations to module description.
13280         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
13281         invocation.
13282         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
13283
13284 2011-05-23  Bruno Haible  <bruno@clisp.org>
13285
13286         utimens: Move AC_LIBOBJ invocations to module description.
13287         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
13288         * modules/utimens (Makefile.am): Augment lib_SOURCES.
13289
13290 2011-05-23  Bruno Haible  <bruno@clisp.org>
13291
13292         utimecmp: Move AC_LIBOBJ invocations to module description.
13293         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
13294         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
13295
13296 2011-05-23  Bruno Haible  <bruno@clisp.org>
13297
13298         userspec: Move AC_LIBOBJ invocations to module description.
13299         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
13300         * modules/userspec (Makefile.am): Augment lib_SOURCES.
13301
13302 2011-05-23  Bruno Haible  <bruno@clisp.org>
13303
13304         unlinkdir: Move AC_LIBOBJ invocations to module description.
13305         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
13306         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
13307
13308 2011-05-23  Bruno Haible  <bruno@clisp.org>
13309
13310         unistd-safer: Move AC_LIBOBJ invocations to module description.
13311         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
13312         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
13313
13314 2011-05-23  Bruno Haible  <bruno@clisp.org>
13315
13316         tempname: Move AC_LIBOBJ invocations to module description.
13317         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
13318         * modules/tempname (Makefile.am): Augment lib_SOURCES.
13319
13320 2011-05-23  Bruno Haible  <bruno@clisp.org>
13321
13322         strftime: Move AC_LIBOBJ invocations to module description.
13323         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
13324         * modules/strftime (Makefile.am): Augment lib_SOURCES.
13325
13326 2011-05-23  Bruno Haible  <bruno@clisp.org>
13327
13328         stdlib-safer: Move AC_LIBOBJ invocations to module description.
13329         * m4/stdlib-safer.m4: Remove file.
13330         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
13331         (configure.ac): Remove gl_STDLIB_SAFER call.
13332         (Makefile.am): Augment lib_SOURCES.
13333
13334 2011-05-23  Bruno Haible  <bruno@clisp.org>
13335
13336         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
13337         * m4/stdio-safer.m4: Remove file.
13338         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
13339         (configure.ac): Remove gl_TMPFILE_SAFER call.
13340         (Makefile.am): Augment lib_SOURCES.
13341
13342 2011-05-23  Bruno Haible  <bruno@clisp.org>
13343
13344         popen-safer: Move AC_LIBOBJ invocations to module description.
13345         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
13346         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
13347         (configure.ac): Remove gl_POPEN_SAFER call.
13348         (Makefile.am): Augment lib_SOURCES.
13349
13350 2011-05-23  Bruno Haible  <bruno@clisp.org>
13351
13352         freopen-safer: Move AC_LIBOBJ invocations to module description.
13353         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
13354         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
13355         (configure.ac): Remove gl_FREOPEN_SAFER call.
13356         (Makefile.am): Augment lib_SOURCES.
13357
13358 2011-05-23  Bruno Haible  <bruno@clisp.org>
13359
13360         fopen-safer: Move AC_LIBOBJ invocations to module description.
13361         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
13362         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
13363         (configure.ac): Remove gl_FOPEN_SAFER call.
13364         (Makefile.am): Augment lib_SOURCES.
13365
13366 2011-05-23  Bruno Haible  <bruno@clisp.org>
13367
13368         crypto/sha512: Move AC_LIBOBJ invocations to module description.
13369         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
13370         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
13371
13372 2011-05-23  Bruno Haible  <bruno@clisp.org>
13373
13374         crypto/sha256: Move AC_LIBOBJ invocations to module description.
13375         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
13376         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
13377
13378 2011-05-23  Bruno Haible  <bruno@clisp.org>
13379
13380         crypto/sha1: Move AC_LIBOBJ invocations to module description.
13381         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
13382         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
13383
13384 2011-05-23  Bruno Haible  <bruno@clisp.org>
13385
13386         settime: Move AC_LIBOBJ invocations to module description.
13387         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
13388         * modules/settime (Makefile.am): Augment lib_SOURCES.
13389
13390 2011-05-23  Bruno Haible  <bruno@clisp.org>
13391
13392         savedir: Move AC_LIBOBJ invocations to module description.
13393         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
13394         * modules/savedir (Makefile.am): Augment lib_SOURCES.
13395
13396 2011-05-23  Bruno Haible  <bruno@clisp.org>
13397
13398         save-cwd: Move AC_LIBOBJ invocations to module description.
13399         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
13400         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
13401
13402 2011-05-23  Bruno Haible  <bruno@clisp.org>
13403
13404         same: Move AC_LIBOBJ invocations to module description.
13405         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
13406         * modules/same (Makefile.am): Augment lib_SOURCES.
13407
13408 2011-05-23  Bruno Haible  <bruno@clisp.org>
13409
13410         safe-write: Move AC_LIBOBJ invocations to module description.
13411         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
13412         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
13413         instead of gl_SAFE_WRITE.
13414         (Makefile.am): Augment lib_SOURCES.
13415
13416 2011-05-23  Bruno Haible  <bruno@clisp.org>
13417
13418         safe-read: Move AC_LIBOBJ invocations to module description.
13419         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
13420         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
13421         of gl_SAFE_READ.
13422         (Makefile.am): Augment lib_SOURCES.
13423
13424 2011-05-23  Bruno Haible  <bruno@clisp.org>
13425
13426         safe-alloc: Move AC_LIBOBJ invocations to module description.
13427         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
13428         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
13429
13430 2011-05-23  Bruno Haible  <bruno@clisp.org>
13431
13432         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
13433         * m4/rijndael.m4: Remove file.
13434         * modules/crypto/rijndael (Files): Remove it.
13435         (configure.ac): Remove gl_RIJNDAEL call.
13436         (Makefile.am): Augment lib_SOURCES.
13437
13438 2011-05-23  Bruno Haible  <bruno@clisp.org>
13439
13440         readtokens: Move AC_LIBOBJ invocations to module description.
13441         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
13442         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
13443
13444 2011-05-23  Bruno Haible  <bruno@clisp.org>
13445
13446         read-file: Move AC_LIBOBJ invocations to module description.
13447         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
13448         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
13449         of gl_FUNC_READ_FILE.
13450         (Makefile.am): Augment lib_SOURCES.
13451
13452 2011-05-23  Bruno Haible  <bruno@clisp.org>
13453
13454         quotearg: Move AC_LIBOBJ invocations to module description.
13455         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
13456         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
13457
13458 2011-05-23  Bruno Haible  <bruno@clisp.org>
13459
13460         quote: Move AC_LIBOBJ invocations to module description.
13461         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
13462         * modules/quote (Makefile.am): Augment lib_SOURCES.
13463
13464 2011-05-23  Bruno Haible  <bruno@clisp.org>
13465
13466         posixver: Move AC_LIBOBJ invocations to module description.
13467         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
13468         * modules/posixver (Makefile.am): Augment lib_SOURCES.
13469
13470 2011-05-23  Bruno Haible  <bruno@clisp.org>
13471
13472         posixtm: Move AC_LIBOBJ invocations to module description.
13473         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
13474         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
13475
13476 2011-05-23  Bruno Haible  <bruno@clisp.org>
13477
13478         physmem: Move AC_LIBOBJ invocations to module description.
13479         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
13480         * modules/physmem (Makefile.am): Augment lib_SOURCES.
13481
13482 2011-05-23  Bruno Haible  <bruno@clisp.org>
13483
13484         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
13485         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
13486         invocation.
13487         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
13488
13489 2011-05-23  Bruno Haible  <bruno@clisp.org>
13490
13491         mpsort: Move AC_LIBOBJ invocations to module description.
13492         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
13493         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
13494
13495 2011-05-23  Bruno Haible  <bruno@clisp.org>
13496
13497         modechange: Move AC_LIBOBJ invocations to module description.
13498         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
13499         * modules/modechange (Makefile.am): Augment lib_SOURCES.
13500
13501 2011-05-23  Bruno Haible  <bruno@clisp.org>
13502
13503         mkdir-p: Move AC_LIBOBJ invocations to module description.
13504         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
13505         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
13506
13507 2011-05-23  Bruno Haible  <bruno@clisp.org>
13508
13509         mkancesdirs: Move AC_LIBOBJ invocations to module description.
13510         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
13511         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
13512
13513 2011-05-23  Bruno Haible  <bruno@clisp.org>
13514
13515         mgetgroups: Move AC_LIBOBJ invocations to module description.
13516         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
13517         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
13518
13519 2011-05-23  Bruno Haible  <bruno@clisp.org>
13520
13521         memxor: Move AC_LIBOBJ invocations to module description.
13522         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
13523         * modules/memxor (Makefile.am): Augment lib_SOURCES.
13524
13525 2011-05-23  Bruno Haible  <bruno@clisp.org>
13526
13527         memcoll: Move AC_LIBOBJ invocations to module description.
13528         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
13529         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
13530
13531 2011-05-23  Bruno Haible  <bruno@clisp.org>
13532
13533         memcasecmp: Move AC_LIBOBJ invocations to module description.
13534         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
13535         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
13536
13537 2011-05-23  Bruno Haible  <bruno@clisp.org>
13538
13539         crypto/md5: Move AC_LIBOBJ invocations to module description.
13540         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
13541         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
13542
13543 2011-05-23  Bruno Haible  <bruno@clisp.org>
13544
13545         crypto/md4: Move AC_LIBOBJ invocations to module description.
13546         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
13547         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
13548
13549 2011-05-23  Bruno Haible  <bruno@clisp.org>
13550
13551         crypto/md2: Move AC_LIBOBJ invocations to module description.
13552         * m4/md2.m4: Remove file.
13553         * modules/crypto/md2 (Files): Remove it.
13554         (configure.ac): Remove gl_MD2 call.
13555         (Makefile.am): Augment lib_SOURCES.
13556
13557 2011-05-23  Bruno Haible  <bruno@clisp.org>
13558
13559         long-options: Move AC_LIBOBJ invocations to module description.
13560         * m4/long-options.m4: Remove file.
13561         * modules/long-options (Files): Remove it.
13562         (configure.ac): Remove gl_LONG_OPTIONS call.
13563         (Makefile.am): Augment lib_SOURCES.
13564
13565 2011-05-23  Bruno Haible  <bruno@clisp.org>
13566
13567         i-ring: Move AC_LIBOBJ invocations to module description.
13568         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
13569         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
13570
13571 2011-05-23  Bruno Haible  <bruno@clisp.org>
13572
13573         idcache: Move AC_LIBOBJ invocations to module description.
13574         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
13575         * modules/idcache (Makefile.am): Augment lib_SOURCES.
13576
13577 2011-05-23  Bruno Haible  <bruno@clisp.org>
13578
13579         human: Move AC_LIBOBJ invocations to module description.
13580         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
13581         * modules/human (Makefile.am): Augment lib_SOURCES.
13582
13583 2011-05-23  Bruno Haible  <bruno@clisp.org>
13584
13585         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
13586         * m4/hmac-sha1.m4: Remove file.
13587         * modules/crypto/hmac-sha1 (Files): Remove it.
13588         (configure.ac): Remove gl_HMAC_SHA1 call.
13589         (Makefile.am): Augment lib_SOURCES.
13590
13591 2011-05-23  Bruno Haible  <bruno@clisp.org>
13592
13593         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
13594         * m4/hmac-md5.m4: Remove file.
13595         * modules/crypto/hmac-md5 (Files): Remove it.
13596         (configure.ac): Remove gl_HMAC_MD5 call.
13597         (Makefile.am): Augment lib_SOURCES.
13598
13599 2011-05-23  Bruno Haible  <bruno@clisp.org>
13600
13601         hash: Move AC_LIBOBJ invocations to module description.
13602         * m4/hash.m4: Remove file.
13603         * modules/hash (Files): Remove it.
13604         (configure.ac): Remove gl_HASH call.
13605         (Makefile.am): Augment lib_SOURCES.
13606
13607 2011-05-23  Bruno Haible  <bruno@clisp.org>
13608
13609         hard-locale: Move AC_LIBOBJ invocations to module description.
13610         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
13611         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
13612
13613 2011-05-23  Bruno Haible  <bruno@clisp.org>
13614
13615         getugroups: Move AC_LIBOBJ invocations to module description.
13616         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
13617         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
13618
13619 2011-05-23  Bruno Haible  <bruno@clisp.org>
13620
13621         gettime: Move AC_LIBOBJ invocations to module description.
13622         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
13623         * modules/gettime (Makefile.am): Augment lib_SOURCES.
13624
13625 2011-05-23  Bruno Haible  <bruno@clisp.org>
13626
13627         getndelim2: Move AC_LIBOBJ invocations to module description.
13628         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
13629         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
13630
13631 2011-05-23  Bruno Haible  <bruno@clisp.org>
13632
13633         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
13634         * m4/gc-pbkdf2-sha1.m4: Remove file.
13635         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
13636         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
13637         (Makefile.am): Augment lib_SOURCES.
13638
13639 2011-05-23  Bruno Haible  <bruno@clisp.org>
13640
13641         fts: Move AC_LIBOBJ invocations to module description.
13642         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
13643         * modules/fts (configure.ac): ... to here.
13644
13645 2011-05-23  Bruno Haible  <bruno@clisp.org>
13646
13647         file-type: Move AC_LIBOBJ invocations to module description.
13648         * m4/file-type.m4: Remove file.
13649         * modules/file-type (Files): Remove it.
13650         (configure.ac): Remove gl_FILE_TYPE call.
13651         (Makefile.am): Augment lib_SOURCES.
13652
13653 2011-05-23  Bruno Haible  <bruno@clisp.org>
13654
13655         filenamecat*: Respect rules for use of AC_LIBOBJ.
13656         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
13657         Remove AC_LIBOBJ invocation.
13658         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
13659         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
13660
13661 2011-05-23  Bruno Haible  <bruno@clisp.org>
13662
13663         filemode: Move AC_LIBOBJ invocations to module description.
13664         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
13665         * modules/filemode (Makefile.am): Augment lib_SOURCES.
13666
13667 2011-05-23  Bruno Haible  <bruno@clisp.org>
13668
13669         openat-safer: Move AC_LIBOBJ invocations to module description.
13670         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
13671         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
13672
13673 2011-05-23  Bruno Haible  <bruno@clisp.org>
13674
13675         fcntl-safer: Move AC_LIBOBJ invocations to module description.
13676         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
13677         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
13678
13679 2011-05-23  Bruno Haible  <bruno@clisp.org>
13680
13681         exclude: Move AC_LIBOBJ invocations to module description.
13682         * m4/exclude.m4: Remove file.
13683         * modules/exclude (Files): Remove it.
13684         (configure.ac): Remove gl_EXCLUDE call.
13685         (Makefile.am): Augment lib_SOURCES.
13686
13687 2011-05-23  Bruno Haible  <bruno@clisp.org>
13688
13689         dirname*: Respect rules for use of AC_LIBOBJ.
13690         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
13691         invocations.
13692         * modules/dirname (Makefile.am): Augment lib_SOURCES.
13693         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
13694
13695 2011-05-23  Bruno Haible  <bruno@clisp.org>
13696
13697         dirent-safer: Move AC_LIBOBJ invocations to module description.
13698         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
13699         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
13700
13701 2011-05-23  Bruno Haible  <bruno@clisp.org>
13702
13703         crypto/des: Move AC_LIBOBJ invocations to module description.
13704         * m4/des.m4: Remove file.
13705         * modules/crypto/des (Files): Remove it.
13706         (configure.ac): Remove gl_DES call.
13707         (Makefile.am): Augment lib_SOURCES.
13708
13709 2011-05-23  Bruno Haible  <bruno@clisp.org>
13710
13711         cycle-check: Move AC_LIBOBJ invocations to module description.
13712         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
13713         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
13714
13715 2011-05-23  Bruno Haible  <bruno@clisp.org>
13716
13717         c-strtold: Move AC_LIBOBJ invocations to module description.
13718         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
13719         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
13720
13721 2011-05-23  Bruno Haible  <bruno@clisp.org>
13722
13723         c-strtod: Move AC_LIBOBJ invocations to module description.
13724         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
13725         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
13726
13727 2011-05-23  Bruno Haible  <bruno@clisp.org>
13728
13729         crc: Move AC_LIBOBJ invocations to module description.
13730         * m4/crc.m4: Remove file.
13731         * modules/crc (Files): Remove it.
13732         (configure.ac): Remove gl_CRC call.
13733         (Makefile.am): Augment lib_SOURCES.
13734
13735 2011-05-23  Bruno Haible  <bruno@clisp.org>
13736
13737         close-stream: Move AC_LIBOBJ invocations to module description.
13738         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
13739         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
13740
13741 2011-05-23  Bruno Haible  <bruno@clisp.org>
13742
13743         closeout: Move AC_LIBOBJ invocations to module description.
13744         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
13745         * modules/closeout (Makefile.am): Augment lib_SOURCES.
13746
13747 2011-05-23  Bruno Haible  <bruno@clisp.org>
13748
13749         closein: Move AC_LIBOBJ invocations to module description.
13750         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
13751         * modules/closein (Makefile.am): Augment lib_SOURCES.
13752
13753 2011-05-23  Bruno Haible  <bruno@clisp.org>
13754
13755         cloexec: Move AC_LIBOBJ invocations to module description.
13756         * m4/cloexec.m4: Remove file.
13757         * modules/cloexec (Files): Remove it.
13758         (configure.ac): Remove gl_CLOEXEC call.
13759         (Makefile.am): Augment lib_SOURCES.
13760
13761 2011-05-23  Bruno Haible  <bruno@clisp.org>
13762
13763         check-version: Move AC_LIBOBJ invocations to module description.
13764         * m4/check-version.m4: Remove file.
13765         * modules/check-version (Files): Remove it.
13766         (configure.ac): Remove gl_CHECK_VERSION call.
13767         (Makefile.am): Augment lib_SOURCES.
13768
13769 2011-05-23  Bruno Haible  <bruno@clisp.org>
13770
13771         chdir-safer: Move AC_LIBOBJ invocations to module description.
13772         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
13773         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
13774
13775 2011-05-23  Bruno Haible  <bruno@clisp.org>
13776
13777         canonicalize: Move AC_LIBOBJ invocations to module description.
13778         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
13779         AC_LIBOBJ invocation.
13780         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
13781
13782 2011-05-23  Bruno Haible  <bruno@clisp.org>
13783
13784         canon-host: Move AC_LIBOBJ invocations to module description.
13785         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
13786         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
13787         instead of gl_CANON_HOST.
13788         (Makefile.am): Augment lib_SOURCES.
13789
13790 2011-05-23  Bruno Haible  <bruno@clisp.org>
13791
13792         backupfile: Move AC_LIBOBJ invocations to module description.
13793         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
13794         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
13795
13796 2011-05-23  Bruno Haible  <bruno@clisp.org>
13797
13798         argmatch: Move AC_LIBOBJ invocations to module description.
13799         * m4/argmatch.m4: Remove file.
13800         * modules/argmatch (Files): Remove it.
13801         (configure.ac): Remove gl_ARGMATCH call.
13802         (Makefile.am): Augment lib_SOURCES.
13803
13804 2011-05-23  Bruno Haible  <bruno@clisp.org>
13805
13806         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
13807         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
13808         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
13809
13810 2011-05-23  Bruno Haible  <bruno@clisp.org>
13811
13812         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
13813         * m4/arcfour.m4: Remove file.
13814         * modules/crypto/arcfour (Files): Remove it.
13815         (configure.ac): Remove gl_ARCFOUR call.
13816         (Makefile.am): Augment lib_SOURCES.
13817
13818 2011-05-22  Bruno Haible  <bruno@clisp.org>
13819
13820         write: Move AC_LIBOBJ invocations to module description.
13821         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
13822         * modules/write (configure.ac): ... to here.
13823
13824 2011-05-22  Bruno Haible  <bruno@clisp.org>
13825
13826         wmemset: Move AC_LIBOBJ invocations to module description.
13827         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
13828         here...
13829         * modules/wmemset (configure.ac): ... to here.
13830
13831 2011-05-22  Bruno Haible  <bruno@clisp.org>
13832
13833         wmemmove: Move AC_LIBOBJ invocations to module description.
13834         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
13835         here...
13836         * modules/wmemmove (configure.ac): ... to here.
13837
13838 2011-05-22  Bruno Haible  <bruno@clisp.org>
13839
13840         wmemcpy: Move AC_LIBOBJ invocations to module description.
13841         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
13842         here...
13843         * modules/wmemcpy (configure.ac): ... to here.
13844
13845 2011-05-22  Bruno Haible  <bruno@clisp.org>
13846
13847         wmemcmp: Move AC_LIBOBJ invocations to module description.
13848         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
13849         here...
13850         * modules/wmemcmp (configure.ac): ... to here.
13851
13852 2011-05-22  Bruno Haible  <bruno@clisp.org>
13853
13854         wmemchr: Move AC_LIBOBJ invocations to module description.
13855         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
13856         here...
13857         * modules/wmemchr (configure.ac): ... to here.
13858
13859 2011-05-22  Bruno Haible  <bruno@clisp.org>
13860
13861         wcswidth: Move AC_LIBOBJ invocations to module description.
13862         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
13863         here...
13864         * modules/wcswidth (configure.ac): ... to here.
13865
13866 2011-05-22  Bruno Haible  <bruno@clisp.org>
13867
13868         wcwidth: Respect rules for use of AC_LIBOBJ.
13869         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
13870         invocation from here...
13871         * modules/wcwidth (configure.ac): ... to here.
13872         (Depends-on): Update conditions.
13873
13874 2011-05-22  Bruno Haible  <bruno@clisp.org>
13875
13876         wctype: Move AC_LIBOBJ invocations to module description.
13877         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
13878         invocation from here...
13879         * modules/wctype (configure.ac): ... to here.
13880         (Depends-on): Update conditions.
13881
13882 2011-05-22  Bruno Haible  <bruno@clisp.org>
13883
13884         wctrans: Move AC_LIBOBJ invocations to module description.
13885         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
13886         invocation from here...
13887         * modules/wctrans (configure.ac): ... to here.
13888
13889 2011-05-22  Bruno Haible  <bruno@clisp.org>
13890
13891         wctomb: Move AC_LIBOBJ invocations to module description.
13892         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
13893         invocations from here...
13894         * modules/wctomb (configure.ac): ... to here.
13895
13896 2011-05-22  Bruno Haible  <bruno@clisp.org>
13897
13898         wctob: Move AC_LIBOBJ invocations to module description.
13899         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
13900         gl_PREREQ_WCTOB invocations from here...
13901         * modules/wctob (configure.ac): ... to here.
13902         (Depends-on): Update conditions.
13903
13904 2011-05-22  Bruno Haible  <bruno@clisp.org>
13905
13906         wcsxfrm: Move AC_LIBOBJ invocations to module description.
13907         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
13908         here...
13909         * modules/wcsxfrm (configure.ac): ... to here.
13910
13911 2011-05-22  Bruno Haible  <bruno@clisp.org>
13912
13913         wcstok: Move AC_LIBOBJ invocations to module description.
13914         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
13915         * modules/wcstok (configure.ac): ... to here.
13916
13917 2011-05-22  Bruno Haible  <bruno@clisp.org>
13918
13919         wcsstr: Move AC_LIBOBJ invocations to module description.
13920         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
13921         * modules/wcsstr (configure.ac): ... to here.
13922
13923 2011-05-22  Bruno Haible  <bruno@clisp.org>
13924
13925         wcsspn: Move AC_LIBOBJ invocations to module description.
13926         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
13927         * modules/wcsspn (configure.ac): ... to here.
13928
13929 2011-05-22  Bruno Haible  <bruno@clisp.org>
13930
13931         wcsrtombs: Move AC_LIBOBJ invocations to module description.
13932         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
13933         gl_PREREQ_WCSRTOMBS invocations from here...
13934         * modules/wcsrtombs (configure.ac): ... to here.
13935
13936 2011-05-22  Bruno Haible  <bruno@clisp.org>
13937
13938         wcsrchr: Move AC_LIBOBJ invocations to module description.
13939         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
13940         here...
13941         * modules/wcsrchr (configure.ac): ... to here.
13942
13943 2011-05-22  Bruno Haible  <bruno@clisp.org>
13944
13945         wcspbrk: Move AC_LIBOBJ invocations to module description.
13946         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
13947         here...
13948         * modules/wcspbrk (configure.ac): ... to here.
13949
13950 2011-05-22  Bruno Haible  <bruno@clisp.org>
13951
13952         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
13953         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
13954         gl_PREREQ_WCSNRTOMBS invocations from here...
13955         * modules/wcsnrtombs (configure.ac): ... to here.
13956
13957 2011-05-22  Bruno Haible  <bruno@clisp.org>
13958
13959         wcsnlen: Move AC_LIBOBJ invocations to module description.
13960         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
13961         here...
13962         * modules/wcsnlen (configure.ac): ... to here.
13963
13964 2011-05-22  Bruno Haible  <bruno@clisp.org>
13965
13966         wcsncpy: Move AC_LIBOBJ invocations to module description.
13967         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
13968         here...
13969         * modules/wcsncpy (configure.ac): ... to here.
13970
13971 2011-05-22  Bruno Haible  <bruno@clisp.org>
13972
13973         wcsncmp: Move AC_LIBOBJ invocations to module description.
13974         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
13975         here...
13976         * modules/wcsncmp (configure.ac): ... to here.
13977
13978 2011-05-22  Bruno Haible  <bruno@clisp.org>
13979
13980         wcsncat: Move AC_LIBOBJ invocations to module description.
13981         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
13982         here...
13983         * modules/wcsncat (configure.ac): ... to here.
13984
13985 2011-05-22  Bruno Haible  <bruno@clisp.org>
13986
13987         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
13988         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
13989         from here...
13990         * modules/wcsncasecmp (configure.ac): ... to here.
13991
13992 2011-05-22  Bruno Haible  <bruno@clisp.org>
13993
13994         wcslen: Move AC_LIBOBJ invocations to module description.
13995         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
13996         * modules/wcslen (configure.ac): ... to here.
13997
13998 2011-05-22  Bruno Haible  <bruno@clisp.org>
13999
14000         wcsdup: Move AC_LIBOBJ invocations to module description.
14001         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
14002         * modules/wcsdup (configure.ac): ... to here.
14003
14004 2011-05-22  Bruno Haible  <bruno@clisp.org>
14005
14006         wcscspn: Move AC_LIBOBJ invocations to module description.
14007         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
14008         here...
14009         * modules/wcscspn (configure.ac): ... to here.
14010
14011 2011-05-22  Bruno Haible  <bruno@clisp.org>
14012
14013         wcscpy: Move AC_LIBOBJ invocations to module description.
14014         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
14015         * modules/wcscpy (configure.ac): ... to here.
14016
14017 2011-05-22  Bruno Haible  <bruno@clisp.org>
14018
14019         wcscoll: Move AC_LIBOBJ invocations to module description.
14020         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
14021         here...
14022         * modules/wcscoll (configure.ac): ... to here.
14023
14024 2011-05-22  Bruno Haible  <bruno@clisp.org>
14025
14026         wcscmp: Move AC_LIBOBJ invocations to module description.
14027         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
14028         * modules/wcscmp (configure.ac): ... to here.
14029
14030 2011-05-22  Bruno Haible  <bruno@clisp.org>
14031
14032         wcschr: Move AC_LIBOBJ invocations to module description.
14033         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
14034         * modules/wcschr (configure.ac): ... to here.
14035
14036 2011-05-22  Bruno Haible  <bruno@clisp.org>
14037
14038         wcscat: Move AC_LIBOBJ invocations to module description.
14039         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
14040         * modules/wcscat (configure.ac): ... to here.
14041
14042 2011-05-22  Bruno Haible  <bruno@clisp.org>
14043
14044         wcscasecmp: Move AC_LIBOBJ invocations to module description.
14045         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
14046         here...
14047         * modules/wcscasecmp (configure.ac): ... to here.
14048
14049 2011-05-22  Bruno Haible  <bruno@clisp.org>
14050
14051         wcrtomb: Move AC_LIBOBJ invocations to module description.
14052         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
14053         invocations from here...
14054         * modules/wcrtomb (configure.ac): ... to here.
14055
14056 2011-05-22  Bruno Haible  <bruno@clisp.org>
14057
14058         wcpncpy: Move AC_LIBOBJ invocations to module description.
14059         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
14060         here...
14061         * modules/wcpncpy (configure.ac): ... to here.
14062
14063 2011-05-22  Bruno Haible  <bruno@clisp.org>
14064
14065         wcpcpy: Move AC_LIBOBJ invocations to module description.
14066         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
14067         * modules/wcpcpy (configure.ac): ... to here.
14068
14069 2011-05-22  Bruno Haible  <bruno@clisp.org>
14070
14071         waitpid: Move AC_LIBOBJ invocations to module description.
14072         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
14073         invocation from here...
14074         * modules/waitpid (configure.ac): ... to here.
14075
14076 2011-05-22  Bruno Haible  <bruno@clisp.org>
14077
14078         utimensat: Move AC_LIBOBJ invocations to module description.
14079         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
14080         here...
14081         * modules/utimensat (configure.ac): ... to here.
14082
14083 2011-05-22  Bruno Haible  <bruno@clisp.org>
14084
14085         usleep: Move AC_LIBOBJ invocations to module description.
14086         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
14087         here...
14088         * modules/usleep (configure.ac): ... to here.
14089
14090 2011-05-22  Bruno Haible  <bruno@clisp.org>
14091
14092         unlockpt: Move AC_LIBOBJ invocations to module description.
14093         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
14094         gl_PREREQ_UNLOCKPT invocations from here...
14095         * modules/unlockpt (configure.ac): ... to here.
14096
14097 2011-05-22  Bruno Haible  <bruno@clisp.org>
14098
14099         unlink: Respect rules for use of AC_LIBOBJ.
14100         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
14101         * modules/unlink (configure.ac): ... to here.
14102
14103 2011-05-22  Bruno Haible  <bruno@clisp.org>
14104
14105         uname: Move AC_LIBOBJ invocations to module description.
14106         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
14107         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
14108         here...
14109         * modules/uname (configure.ac): ... to here.
14110
14111 2011-05-22  Bruno Haible  <bruno@clisp.org>
14112
14113         ttyname_r: Move AC_LIBOBJ invocations to module description.
14114         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
14115         gl_PREREQ_TTYNAME_R invocations from here...
14116         * modules/ttyname_r (configure.ac): ... to here.
14117
14118 2011-05-22  Bruno Haible  <bruno@clisp.org>
14119
14120         tsearch: Move AC_LIBOBJ invocations to module description.
14121         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
14122         invocations from here...
14123         * modules/tsearch (configure.ac): ... to here.
14124
14125 2011-05-22  Bruno Haible  <bruno@clisp.org>
14126
14127         towctrans: Move AC_LIBOBJ invocations to module description.
14128         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
14129         AC_LIBOBJ invocation from here...
14130         * modules/towctrans (configure.ac): ... to here.
14131
14132 2011-05-22  Bruno Haible  <bruno@clisp.org>
14133
14134         tmpfile: Move AC_LIBOBJ invocations to module description.
14135         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
14136         invocations from here...
14137         * modules/tmpfile (configure.ac): ... to here.
14138
14139 2011-05-22  Bruno Haible  <bruno@clisp.org>
14140
14141         times: Move AC_LIBOBJ invocations to module description.
14142         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
14143         * modules/times (configure.ac): ... to here.
14144
14145 2011-05-22  Bruno Haible  <bruno@clisp.org>
14146
14147         time_r: Move AC_LIBOBJ invocations to module description.
14148         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
14149         invocations from here...
14150         * modules/time_r (configure.ac): ... to here.
14151
14152 2011-05-22  Bruno Haible  <bruno@clisp.org>
14153
14154         timegm: Move AC_LIBOBJ invocations to module description.
14155         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
14156         invocations from here...
14157         * modules/timegm (configure.ac): ... to here.
14158
14159 2011-05-22  Bruno Haible  <bruno@clisp.org>
14160
14161         tcgetsid: Move AC_LIBOBJ invocations to module description.
14162         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
14163         and gl_PREREQ_TCGETSID invocations from here...
14164         * modules/tcgetsid (configure.ac): ... to here.
14165         (Depends-on): Update conditions.
14166
14167 2011-05-22  Bruno Haible  <bruno@clisp.org>
14168
14169         symlinkat: Move AC_LIBOBJ invocations to module description.
14170         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
14171         here...
14172         * modules/symlinkat (configure.ac): ... to here.
14173
14174 2011-05-22  Bruno Haible  <bruno@clisp.org>
14175
14176         symlink: Move AC_LIBOBJ invocations to module description.
14177         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
14178         here...
14179         * modules/symlink (configure.ac): ... to here.
14180
14181 2011-05-22  Bruno Haible  <bruno@clisp.org>
14182
14183         strverscmp: Move AC_LIBOBJ invocations to module description.
14184         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
14185         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
14186         from here...
14187         * modules/strverscmp (configure.ac): ... to here.
14188
14189 2011-05-22  Bruno Haible  <bruno@clisp.org>
14190
14191         strtok_r: Move AC_LIBOBJ invocations to module description.
14192         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
14193         and gl_PREREQ_STRTOK_R invocations from here...
14194         * modules/strtok_r (configure.ac): ... to here.
14195         (Depends-on): Update conditions.
14196
14197 2011-05-22  Bruno Haible  <bruno@clisp.org>
14198
14199         strtoumax: Move AC_LIBOBJ invocations to module description.
14200         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
14201         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
14202         from here...
14203         * modules/strtoumax (configure.ac): ... to here.
14204
14205 2011-05-22  Bruno Haible  <bruno@clisp.org>
14206
14207         strtoimax: Move AC_LIBOBJ invocations to module description.
14208         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
14209         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
14210         from here...
14211         * modules/strtoimax (configure.ac): ... to here.
14212
14213 2011-05-22  Bruno Haible  <bruno@clisp.org>
14214
14215         strtoull: Move AC_LIBOBJ invocations to module description.
14216         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
14217         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
14218         from here...
14219         * modules/strtoull (configure.ac): ... to here.
14220
14221 2011-05-22  Bruno Haible  <bruno@clisp.org>
14222
14223         strtoll: Move AC_LIBOBJ invocations to module description.
14224         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
14225         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
14226         here...
14227         * modules/strtoll (configure.ac): ... to here.
14228
14229 2011-05-22  Bruno Haible  <bruno@clisp.org>
14230
14231         strtoul: Move AC_LIBOBJ invocations to module description.
14232         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
14233         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
14234         * modules/strtoul (configure.ac): ... to here.
14235
14236 2011-05-22  Bruno Haible  <bruno@clisp.org>
14237
14238         strtol: Move AC_LIBOBJ invocations to module description.
14239         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
14240         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
14241         * modules/strtol (configure.ac): ... to here.
14242
14243 2011-05-22  Bruno Haible  <bruno@clisp.org>
14244
14245         strtod: Move AC_LIBOBJ invocations to module description.
14246         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
14247         invocations from here...
14248         * modules/strtod (configure.ac): ... to here.
14249
14250 2011-05-22  Bruno Haible  <bruno@clisp.org>
14251
14252         strstr*: Move AC_LIBOBJ invocations to module description.
14253         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
14254         invocations from here...
14255         * modules/strstr-simple (configure.ac): ... to here.
14256         * modules/strstr (configure.ac): ... and here.
14257
14258 2011-05-22  Bruno Haible  <bruno@clisp.org>
14259
14260         strsignal: Move AC_LIBOBJ invocations to module description.
14261         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
14262         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
14263         * modules/strsignal (configure.ac): ... to here.
14264         (Depends-on): Update conditions.
14265
14266 2011-05-22  Bruno Haible  <bruno@clisp.org>
14267
14268         strsep: Move AC_LIBOBJ invocations to module description.
14269         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
14270         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
14271         here...
14272         * modules/strsep (configure.ac): ... to here.
14273
14274 2011-05-22  Bruno Haible  <bruno@clisp.org>
14275
14276         strptime: Move AC_LIBOBJ invocations to module description.
14277         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
14278         gl_PREREQ_STRPTIME invocations from here...
14279         * modules/strptime (configure.ac): ... to here.
14280
14281 2011-05-22  Bruno Haible  <bruno@clisp.org>
14282
14283         strpbrk: Move AC_LIBOBJ invocations to module description.
14284         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
14285         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
14286         here...
14287         * modules/strpbrk (configure.ac): ... to here.
14288
14289 2011-05-22  Bruno Haible  <bruno@clisp.org>
14290
14291         strnlen: Move AC_LIBOBJ invocations to module description.
14292         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
14293         invocations from here...
14294         * modules/strnlen (configure.ac): ... to here.
14295
14296 2011-05-22  Bruno Haible  <bruno@clisp.org>
14297
14298         strndup: Move AC_LIBOBJ invocations to module description.
14299         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
14300         invocations from here...
14301         * modules/strndup (configure.ac): ... to here.
14302         (Depends-on): Update conditions.
14303
14304 2011-05-22  Bruno Haible  <bruno@clisp.org>
14305
14306         strncat: Move AC_LIBOBJ invocations to module description.
14307         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
14308         invocations from here...
14309         * modules/strncat (configure.ac): ... to here.
14310
14311 2011-05-22  Bruno Haible  <bruno@clisp.org>
14312
14313         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
14314         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
14315         invocations from here...
14316         * modules/strdup (configure.ac): ... to here.
14317         * modules/strdup-posix (configure.ac): ... and here.
14318
14319 2011-05-22  Bruno Haible  <bruno@clisp.org>
14320
14321         strcspn: Move AC_LIBOBJ invocations to module description.
14322         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
14323         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
14324         here...
14325         * modules/strcspn (configure.ac): ... to here.
14326
14327 2011-05-22  Bruno Haible  <bruno@clisp.org>
14328
14329         strchrnul: Move AC_LIBOBJ invocations to module description.
14330         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
14331         gl_PREREQ_STRCHRNUL invocations from here...
14332         * modules/strchrnul (configure.ac): ... to here.
14333
14334 2011-05-22  Bruno Haible  <bruno@clisp.org>
14335
14336         strcasestr*: Move AC_LIBOBJ invocations to module description.
14337         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
14338         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
14339         * modules/strcasestr-simple (configure.ac): ... to here.
14340         * modules/strcasestr (configure.ac): ... and here.
14341
14342 2011-05-22  Bruno Haible  <bruno@clisp.org>
14343
14344         strcase: Move AC_LIBOBJ invocations to module description.
14345         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
14346         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
14347         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
14348         gl_PREREQ_STRNCASECMP invocations from here...
14349         * modules/strcase (configure.ac): ... to here.
14350
14351 2011-05-22  Bruno Haible  <bruno@clisp.org>
14352
14353         stpncpy: Move AC_LIBOBJ invocations to module description.
14354         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
14355         here...
14356         * modules/stpncpy (configure.ac): ... to here.
14357
14358 2011-05-22  Bruno Haible  <bruno@clisp.org>
14359
14360         stpcpy: Move AC_LIBOBJ invocations to module description.
14361         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
14362         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
14363         here...
14364         * modules/stpcpy (configure.ac): ... to here.
14365
14366 2011-05-21  Bruno Haible  <bruno@clisp.org>
14367
14368         stat: Move AC_LIBOBJ invocations to module description.
14369         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
14370         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
14371         here...
14372         * modules/stat (configure.ac): ... to here.
14373
14374 2011-05-21  Bruno Haible  <bruno@clisp.org>
14375
14376         sleep: Move AC_LIBOBJ invocations to module description.
14377         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
14378         * modules/sleep (configure.ac): ... to here.
14379
14380 2011-05-21  Bruno Haible  <bruno@clisp.org>
14381
14382         signbit: Move AC_LIBOBJ invocations to module description.
14383         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
14384         * modules/signbit (configure.ac): ... to here.
14385
14386 2011-05-21  Bruno Haible  <bruno@clisp.org>
14387
14388         sigprocmask: Move AC_LIBOBJ invocations to module description.
14389         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
14390         gl_PREREQ_SIGPROMASK invocations from here...
14391         * modules/sigprocmask (configure.ac): ... to here.
14392
14393 2011-05-21  Bruno Haible  <bruno@clisp.org>
14394
14395         sigaction: Move AC_LIBOBJ invocations to module description.
14396         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
14397         gl_PREREQ_SIGACTION invocations from here...
14398         * modules/sigaction (configure.ac): ... to here.
14399
14400 2011-05-21  Bruno Haible  <bruno@clisp.org>
14401
14402         sig2str: Move AC_LIBOBJ invocations to module description.
14403         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
14404         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
14405         here...
14406         * modules/sig2str (configure.ac): ... to here.
14407
14408 2011-05-21  Bruno Haible  <bruno@clisp.org>
14409
14410         setlocale: Move AC_LIBOBJ invocations to module description.
14411         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
14412         gl_PREREQ_SETLOCALE invocations from here...
14413         * modules/setlocale (configure.ac): ... to here.
14414
14415 2011-05-21  Bruno Haible  <bruno@clisp.org>
14416
14417         unsetenv: Move AC_LIBOBJ invocations to module description.
14418         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
14419         and gl_PREREQ_UNSETENV invocations from here...
14420         * modules/unsetenv (configure.ac): ... to here.
14421         (Depends-on): Update.
14422
14423 2011-05-21  Bruno Haible  <bruno@clisp.org>
14424
14425         setenv: Move AC_LIBOBJ invocations to module description.
14426         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
14427         here...
14428         * modules/setenv (configure.ac): ... to here.
14429
14430 2011-05-21  Bruno Haible  <bruno@clisp.org>
14431
14432         selinux-h: Move AC_LIBOBJ invocations to module description.
14433         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
14434         AC_LIBOBJ invocation from here...
14435         * modules/selinux-h (configure.ac): ... to here.
14436
14437 2011-05-21  Bruno Haible  <bruno@clisp.org>
14438
14439         select: Respect rules for use of AC_LIBOBJ.
14440         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
14441         here...
14442         * modules/select (configure.ac): ... to here.
14443
14444 2011-05-21  Bruno Haible  <bruno@clisp.org>
14445
14446         scandir: Move AC_LIBOBJ invocations to module description.
14447         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
14448         invocations from here...
14449         * modules/scandir (configure.ac): ... to here.
14450
14451 2011-05-21  Bruno Haible  <bruno@clisp.org>
14452
14453         rpmatch: Move AC_LIBOBJ invocations to module description.
14454         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
14455         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
14456         here...
14457         * modules/rpmatch (configure.ac): ... to here.
14458
14459 2011-05-21  Bruno Haible  <bruno@clisp.org>
14460
14461         rmdir: Respect rules for use of AC_LIBOBJ.
14462         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
14463         * modules/rmdir (configure.ac): ... to here.
14464
14465 2011-05-21  Bruno Haible  <bruno@clisp.org>
14466
14467         renameat: Move AC_LIBOBJ invocations to module description.
14468         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
14469         here...
14470         * modules/renameat (configure.ac): ... to here.
14471
14472 2011-05-21  Bruno Haible  <bruno@clisp.org>
14473
14474         rename: Respect rules for use of AC_LIBOBJ.
14475         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
14476         here...
14477         * modules/rename (configure.ac): ... to here.
14478
14479 2011-05-21  Bruno Haible  <bruno@clisp.org>
14480
14481         remove: Move AC_LIBOBJ invocations to module description.
14482         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
14483         here...
14484         * modules/remove (configure.ac): ... to here.
14485
14486 2011-05-21  Bruno Haible  <bruno@clisp.org>
14487
14488         relocatable-lib: Move AC_LIBOBJ invocations to module description.
14489         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
14490         macro.
14491         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
14492         * modules/relocatable-lib (configure.ac): ... to here.
14493         * modules/relocatable-prog-wrapper (configure.ac): Invoke
14494         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
14495
14496 2011-05-21  Bruno Haible  <bruno@clisp.org>
14497
14498         relocatable-prog: Move AC_LIBOBJ invocations to module description.
14499         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
14500         here...
14501         * modules/relocatable-prog (configure.ac): ... to here.
14502
14503 2011-05-21  Bruno Haible  <bruno@clisp.org>
14504
14505         regex: Move AC_LIBOBJ invocations to module description.
14506         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
14507         invocations from here...
14508         * modules/regex (configure.ac): ... to here.
14509
14510 2011-05-21  Bruno Haible  <bruno@clisp.org>
14511
14512         realloc-*: Move AC_LIBOBJ invocations to module description.
14513         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
14514         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
14515         AC_LIBOBJ invocations from here...
14516         * modules/realloc-gnu (configure.ac): ... to here.
14517         * modules/realloc-posix (configure.ac): ... and here.
14518
14519 2011-05-21  Bruno Haible  <bruno@clisp.org>
14520
14521         readutmp: Move AC_LIBOBJ invocations to module description.
14522         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
14523         * modules/readutmp (configure.ac): ... to here.
14524
14525 2011-05-21  Bruno Haible  <bruno@clisp.org>
14526
14527         readlinkat: Move AC_LIBOBJ invocations to module description.
14528         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
14529         here...
14530         * modules/readlinkat (configure.ac): ... to here.
14531
14532 2011-05-21  Bruno Haible  <bruno@clisp.org>
14533
14534         readlink: Move AC_LIBOBJ invocations to module description.
14535         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
14536         gl_PREREQ_READLINK invocations from here...
14537         * modules/readlink (configure.ac): ... to here.
14538
14539 2011-05-21  Bruno Haible  <bruno@clisp.org>
14540
14541         readline: Move AC_LIBOBJ invocations to module description.
14542         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
14543         gl_PREREQ_READLINE invocations from here...
14544         * modules/readline (configure.ac): ... to here.
14545
14546 2011-05-21  Bruno Haible  <bruno@clisp.org>
14547
14548         read: Move AC_LIBOBJ invocations to module description.
14549         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
14550         * modules/read (configure.ac): ... to here.
14551
14552 2011-05-21  Bruno Haible  <bruno@clisp.org>
14553
14554         rawmemchr: Move AC_LIBOBJ invocations to module description.
14555         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
14556         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
14557         from here...
14558         * modules/rawmemchr (configure.ac): ... to here.
14559
14560 2011-05-21  Bruno Haible  <bruno@clisp.org>
14561
14562         random_r: Move AC_LIBOBJ invocations to module description.
14563         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
14564         gl_PREREQ_RANDOM_R invocations from here...
14565         * modules/random_r (configure.ac): ... to here.
14566
14567 2011-05-21  Bruno Haible  <bruno@clisp.org>
14568
14569         pwrite: Move AC_LIBOBJ invocations to module description.
14570         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
14571         * modules/pwrite (configure.ac): ... to here.
14572
14573 2011-05-21  Bruno Haible  <bruno@clisp.org>
14574
14575         putenv: Move AC_LIBOBJ invocations to module description.
14576         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
14577         * modules/putenv (configure.ac): ... to here.
14578
14579 2011-05-21  Bruno Haible  <bruno@clisp.org>
14580
14581         login_tty: Move AC_LIBOBJ invocations to module description.
14582         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
14583         * modules/login_tty (configure.ac): ... to here.
14584
14585 2011-05-21  Bruno Haible  <bruno@clisp.org>
14586
14587         openpty: Move AC_LIBOBJ invocations to module description.
14588         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
14589         * modules/openpty (configure.ac): ... to here.
14590
14591 2011-05-21  Bruno Haible  <bruno@clisp.org>
14592
14593         forkpty: Move AC_LIBOBJ invocations to module description.
14594         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
14595         * modules/forkpty (configure.ac): ... to here.
14596
14597 2011-05-21  Bruno Haible  <bruno@clisp.org>
14598
14599         ptsname: Move AC_LIBOBJ invocations to module description.
14600         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
14601         invocations from here...
14602         * modules/ptsname (configure.ac): ... to here.
14603
14604 2011-05-21  Bruno Haible  <bruno@clisp.org>
14605
14606         pread: Move AC_LIBOBJ invocations to module description.
14607         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
14608         * modules/pread (configure.ac): ... to here.
14609
14610 2011-05-21  Bruno Haible  <bruno@clisp.org>
14611
14612         posix_spawn*: Move AC_LIBOBJ invocations to module description.
14613         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
14614         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
14615         * modules/posix_spawn (configure.ac): ... to here.
14616         * modules/posix_spawnp (configure.ac): ... and here.
14617
14618 2011-05-21  Bruno Haible  <bruno@clisp.org>
14619
14620         popen: Move AC_LIBOBJ invocations to module description.
14621         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
14622         invocations from here...
14623         * modules/popen (configure.ac): ... to here.
14624
14625 2011-05-21  Bruno Haible  <bruno@clisp.org>
14626
14627         poll: Move AC_LIBOBJ invocations to module description.
14628         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
14629         invocations from here...
14630         * modules/poll (configure.ac): ... to here.
14631
14632 2011-05-21  Bruno Haible  <bruno@clisp.org>
14633
14634         pipe-posix: Move AC_LIBOBJ invocations to module description.
14635         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
14636         * modules/pipe-posix (configure.ac): ... to here.
14637
14638 2011-05-21  Bruno Haible  <bruno@clisp.org>
14639
14640         openat: Respect rules for use of AC_LIBOBJ.
14641         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
14642         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
14643         * modules/openat (configure.ac): ... to here.
14644
14645 2011-05-21  Bruno Haible  <bruno@clisp.org>
14646
14647         obstack-printf*: Move AC_LIBOBJ invocations to module description.
14648         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
14649         invocation from here...
14650         * modules/obstack-printf (configure.ac): ... to here.
14651         * modules/obstack-printf-posix (configure.ac): ... and here.
14652
14653 2011-05-21  Bruno Haible  <bruno@clisp.org>
14654
14655         nl_langinfo: Move AC_LIBOBJ invocations to module description.
14656         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
14657         from here...
14658         * modules/nl_langinfo (configure.ac): ... to here.
14659
14660 2011-05-21  Bruno Haible  <bruno@clisp.org>
14661
14662         nanosleep: Move AC_LIBOBJ invocations to module description.
14663         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
14664         gl_PREREQ_NANOSLEEP invocations from here...
14665         * modules/nanosleep (configure.ac): ... to here.
14666
14667 2011-05-21  Bruno Haible  <bruno@clisp.org>
14668
14669         mountlist: Move AC_LIBOBJ invocations to module description.
14670         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
14671         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
14672         * modules/mountlist (configure.ac): ... to here.
14673
14674 2011-05-21  Bruno Haible  <bruno@clisp.org>
14675
14676         mktime: Respect rules for use of AC_LIBOBJ.
14677         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
14678         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
14679         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
14680         (gl_FUNC_MKTIME_INTERNAL): ... and here...
14681         * modules/mktime (configure.ac): ... to here.
14682         * modules/mktime-internal (configure.ac): ... and here.
14683         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
14684
14685 2011-05-21  Bruno Haible  <bruno@clisp.org>
14686
14687         mkstemps: Move AC_LIBOBJ invocations to module description.
14688         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
14689         here...
14690         * modules/mkstemps (configure.ac): ... to here.
14691
14692 2011-05-21  Bruno Haible  <bruno@clisp.org>
14693
14694         mkstemp: Move AC_LIBOBJ invocations to module description.
14695         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
14696         gl_PREREQ_MKSTEMP invocations from here...
14697         * modules/mkstemp (configure.ac): ... to here.
14698
14699 2011-05-21  Bruno Haible  <bruno@clisp.org>
14700
14701         mkostemps: Move AC_LIBOBJ invocations to module description.
14702         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
14703         here...
14704         * modules/mkostemps (configure.ac): ... to here.
14705
14706 2011-05-21  Bruno Haible  <bruno@clisp.org>
14707
14708         mkostemp: Move AC_LIBOBJ invocations to module description.
14709         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
14710         gl_PREREQ_MKOSTEMP invocations from here...
14711         * modules/mkostemp (configure.ac): ... to here.
14712
14713 2011-05-21  Bruno Haible  <bruno@clisp.org>
14714
14715         mknod: Move AC_LIBOBJ invocations to module description.
14716         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
14717         * modules/mknod (configure.ac): ... to here.
14718
14719 2011-05-21  Bruno Haible  <bruno@clisp.org>
14720
14721         mkfifoat: Move AC_LIBOBJ invocations to module description.
14722         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
14723         here...
14724         * modules/mkfifoat (configure.ac): ... to here.
14725
14726 2011-05-21  Bruno Haible  <bruno@clisp.org>
14727
14728         mkfifo: Respect rules for use of AC_LIBOBJ.
14729         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
14730         here...
14731         * modules/mkfifo (configure.ac): ... to here.
14732
14733 2011-05-21  Bruno Haible  <bruno@clisp.org>
14734
14735         mkdtemp: Move AC_LIBOBJ invocations to module description.
14736         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
14737         invocations from here...
14738         * modules/mkdtemp (configure.ac): ... to here.
14739
14740 2011-05-21  Bruno Haible  <bruno@clisp.org>
14741
14742         mkdir: Move AC_LIBOBJ invocations to module description.
14743         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
14744         * modules/mkdir (configure.ac): ... to here.
14745
14746 2011-05-21  Bruno Haible  <bruno@clisp.org>
14747
14748         memset: Move AC_LIBOBJ invocations to module description.
14749         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
14750         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
14751         here...
14752         * modules/memset (configure.ac): ... to here.
14753
14754 2011-05-21  Bruno Haible  <bruno@clisp.org>
14755
14756         memrchr: Move AC_LIBOBJ invocations to module description.
14757         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
14758         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
14759         here...
14760         * modules/memrchr (configure.ac): ... to here.
14761
14762 2011-05-21  Bruno Haible  <bruno@clisp.org>
14763
14764         mempcpy: Move AC_LIBOBJ invocations to module description.
14765         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
14766         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
14767         here...
14768         * modules/mempcpy (configure.ac): ... to here.
14769
14770 2011-05-21  Bruno Haible  <bruno@clisp.org>
14771
14772         memmove: Move AC_LIBOBJ invocations to module description.
14773         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
14774         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
14775         here...
14776         * modules/memmove (configure.ac): ... to here.
14777
14778 2011-05-21  Bruno Haible  <bruno@clisp.org>
14779
14780         memmem*: Move AC_LIBOBJ invocations to module description.
14781         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
14782         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
14783         here...
14784         (gl_FUNC_MEMMEM): ... and here...
14785         * modules/memmem-simple (configure.ac): ... to here.
14786         * modules/memmem (configure.ac): ... and here.
14787
14788 2011-05-21  Bruno Haible  <bruno@clisp.org>
14789
14790         memcpy: Move AC_LIBOBJ invocations to module description.
14791         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
14792         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
14793         here...
14794         * modules/memcpy (configure.ac): ... to here.
14795
14796 2011-05-21  Bruno Haible  <bruno@clisp.org>
14797
14798         memcmp: Simplify autoconf macro.
14799         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
14800         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
14801         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
14802
14803 2011-05-21  Bruno Haible  <bruno@clisp.org>
14804
14805         memcmp: Move AC_LIBOBJ invocations to module description.
14806         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
14807         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
14808         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
14809         * modules/memcmp (configure.ac): ... to here.
14810         (Depends-on): Update conditions.
14811
14812 2011-05-21  Bruno Haible  <bruno@clisp.org>
14813
14814         memchr: Respect rules for use of AC_LIBOBJ.
14815         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
14816         invocations from here...
14817         * modules/memchr (configure.ac): ... to here.
14818
14819 2011-05-21  Bruno Haible  <bruno@clisp.org>
14820
14821         mbtowc: Move AC_LIBOBJ invocations to module description.
14822         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
14823         invocations from here...
14824         * modules/mbtowc (configure.ac): ... to here.
14825
14826 2011-05-21  Bruno Haible  <bruno@clisp.org>
14827
14828         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
14829         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
14830         gl_PREREQ_MBSRTOWCS invocations from here...
14831         * modules/mbsrtowcs (configure.ac): ... to here.
14832
14833 2011-05-21  Bruno Haible  <bruno@clisp.org>
14834
14835         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
14836         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
14837         gl_PREREQ_MBSNRTOWCS invocations from here...
14838         * modules/mbsnrtowcs (configure.ac): ... to here.
14839
14840 2011-05-21  Bruno Haible  <bruno@clisp.org>
14841
14842         mbsinit: Move AC_LIBOBJ invocations to module description.
14843         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
14844         invocations from here...
14845         * modules/mbsinit (configure.ac): ... to here.
14846
14847 2011-05-21  Bruno Haible  <bruno@clisp.org>
14848
14849         mbrlen: Move AC_LIBOBJ invocations to module description.
14850         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
14851         invocations from here...
14852         * modules/mbrlen (configure.ac): ... to here.
14853
14854 2011-05-21  Bruno Haible  <bruno@clisp.org>
14855
14856         mbrtowc: Respect rules for use of AC_LIBOBJ.
14857         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
14858         invocations from here...
14859         * modules/mbrtowc (configure.ac): ... to here.
14860
14861 2011-05-21  Bruno Haible  <bruno@clisp.org>
14862
14863         malloc-*: Move AC_LIBOBJ invocations to module description.
14864         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
14865         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
14866         AC_LIBOBJ invocations from here...
14867         * modules/malloc-gnu (configure.ac): ... to here.
14868         * modules/malloc-posix (configure.ac): ... and here.
14869
14870 2011-05-21  Bruno Haible  <bruno@clisp.org>
14871
14872         lstat, openat: Respect rules for use of AC_LIBOBJ.
14873         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
14874         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
14875         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
14876         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
14877         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
14878         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
14879         here.
14880         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
14881
14882 2011-05-21  Bruno Haible  <bruno@clisp.org>
14883
14884         lseek: Move AC_LIBOBJ invocations to module description.
14885         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
14886         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
14887         * modules/lseek (configure.ac): ... to here.
14888
14889 2011-05-21  Bruno Haible  <bruno@clisp.org>
14890
14891         linkat: Move AC_LIBOBJ invocations to module description.
14892         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
14893         here...
14894         * modules/linkat (configure.ac): ... to here.
14895
14896 2011-05-21  Bruno Haible  <bruno@clisp.org>
14897
14898         link: Respect rules for use of AC_LIBOBJ.
14899         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
14900         * modules/link (configure.ac): ... to here.
14901
14902 2011-05-21  Bruno Haible  <bruno@clisp.org>
14903
14904         lchown: Move AC_LIBOBJ invocations to module description.
14905         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
14906         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
14907         * modules/lchown (configure.ac): ... to here.
14908
14909 2011-05-21  Bruno Haible  <bruno@clisp.org>
14910
14911         iswctype: Move AC_LIBOBJ invocations to module description.
14912         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
14913         here...
14914         * modules/iswctype (configure.ac): ... to here.
14915
14916 2011-05-21  Bruno Haible  <bruno@clisp.org>
14917
14918         iswblank: Move AC_LIBOBJ invocations to module description.
14919         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
14920         here...
14921         * modules/iswblank (configure.ac): ... to here.
14922
14923 2011-05-21  Bruno Haible  <bruno@clisp.org>
14924
14925         atanl: Move AC_LIBOBJ invocations to module description.
14926         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
14927         * modules/atanl (configure.ac): ... to here.
14928
14929 2011-05-21  Bruno Haible  <bruno@clisp.org>
14930
14931         acosl: Move AC_LIBOBJ invocations to module description.
14932         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
14933         * modules/acosl (configure.ac): ... to here.
14934
14935 2011-05-21  Bruno Haible  <bruno@clisp.org>
14936
14937         asinl: Respect rules for use of AC_LIBOBJ.
14938         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
14939         * modules/asinl (configure.ac): ... to here.
14940
14941 2011-05-21  Bruno Haible  <bruno@clisp.org>
14942
14943         tanl: Move AC_LIBOBJ invocations to module description.
14944         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
14945         * modules/tanl (configure.ac): ... to here.
14946
14947 2011-05-21  Bruno Haible  <bruno@clisp.org>
14948
14949         cosl: Move AC_LIBOBJ invocations to module description.
14950         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
14951         * modules/cosl (configure.ac): ... to here.
14952
14953 2011-05-21  Bruno Haible  <bruno@clisp.org>
14954
14955         sinl: Move AC_LIBOBJ invocations to module description.
14956         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
14957         * modules/sinl (configure.ac): ... to here.
14958
14959 2011-05-21  Bruno Haible  <bruno@clisp.org>
14960
14961         logl: Move AC_LIBOBJ invocations to module description.
14962         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
14963         * modules/logl (configure.ac): ... to here.
14964
14965 2011-05-21  Bruno Haible  <bruno@clisp.org>
14966
14967         expl: Move AC_LIBOBJ invocations to module description.
14968         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
14969         * modules/expl (configure.ac): ... to here.
14970
14971 2011-05-21  Bruno Haible  <bruno@clisp.org>
14972
14973         roundl: Move AC_LIBOBJ invocations to module description.
14974         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
14975         * modules/roundl (configure.ac): ... to here.
14976
14977 2011-05-21  Bruno Haible  <bruno@clisp.org>
14978
14979         round: Move AC_LIBOBJ invocations to module description.
14980         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
14981         * modules/round (configure.ac): ... to here.
14982
14983 2011-05-21  Bruno Haible  <bruno@clisp.org>
14984
14985         roundf: Move AC_LIBOBJ invocations to module description.
14986         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
14987         * modules/roundf (configure.ac): ... to here.
14988
14989 2011-05-21  Bruno Haible  <bruno@clisp.org>
14990
14991         truncl: Move AC_LIBOBJ invocations to module description.
14992         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
14993         * modules/truncl (configure.ac): ... to here.
14994
14995 2011-05-21  Bruno Haible  <bruno@clisp.org>
14996
14997         trunc: Move AC_LIBOBJ invocations to module description.
14998         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
14999         * modules/trunc (configure.ac): ... to here.
15000
15001 2011-05-21  Bruno Haible  <bruno@clisp.org>
15002
15003         truncf: Move AC_LIBOBJ invocations to module description.
15004         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
15005         * modules/truncf (configure.ac): ... to here.
15006
15007 2011-05-21  Bruno Haible  <bruno@clisp.org>
15008
15009         ceill: Move AC_LIBOBJ invocations to module description.
15010         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
15011         * modules/ceill (configure.ac): ... to here.
15012
15013 2011-05-21  Bruno Haible  <bruno@clisp.org>
15014
15015         ceil: Move AC_LIBOBJ invocations to module description.
15016         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
15017         * modules/ceil (configure.ac): ... to here.
15018
15019 2011-05-21  Bruno Haible  <bruno@clisp.org>
15020
15021         ceilf: Move AC_LIBOBJ invocations to module description.
15022         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
15023         * modules/ceilf (configure.ac): ... to here.
15024
15025 2011-05-21  Bruno Haible  <bruno@clisp.org>
15026
15027         floorl: Respect rules for use of AC_LIBOBJ.
15028         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
15029         * modules/floorl (configure.ac): ... to here.
15030
15031 2011-05-21  Bruno Haible  <bruno@clisp.org>
15032
15033         floor: Respect rules for use of AC_LIBOBJ.
15034         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
15035         * modules/floor (configure.ac): ... to here.
15036
15037 2011-05-21  Bruno Haible  <bruno@clisp.org>
15038
15039         floorf: Move AC_LIBOBJ invocations to module description.
15040         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
15041         * modules/floorf (configure.ac): ... to here.
15042
15043 2011-05-20  Bruno Haible  <bruno@clisp.org>
15044
15045         sqrtl: Respect rules for use of AC_LIBOBJ.
15046         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
15047         * modules/sqrtl (configure.ac): ... to here.
15048
15049 2011-05-20  Bruno Haible  <bruno@clisp.org>
15050
15051         ldexpl: Respect rules for use of AC_LIBOBJ.
15052         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
15053         * modules/ldexpl (configure.ac): ... to here.
15054
15055 2011-05-20  Bruno Haible  <bruno@clisp.org>
15056
15057         frexpl*: Respect rules for use of AC_LIBOBJ.
15058         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
15059         invocation from here...
15060         * modules/frexpl (configure.ac): ... to here.
15061         * modules/frexpl-nolibm (configure.ac): ... and here.
15062
15063 2011-05-20  Bruno Haible  <bruno@clisp.org>
15064
15065         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
15066         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
15067         invocation from here...
15068         * modules/frexp (configure.ac): ... to here.
15069         * modules/frexp-nolibm (configure.ac): ... and here.
15070
15071 2011-05-20  Bruno Haible  <bruno@clisp.org>
15072
15073         isnan: Respect rules for use of AC_LIBOBJ.
15074         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
15075         invocations here.
15076         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
15077         REPLACE_ISNAN.
15078         * modules/isnand (configure.ac): Likewise.
15079         * modules/isnanl (configure.ac): Likewise.
15080
15081 2011-05-20  Bruno Haible  <bruno@clisp.org>
15082
15083         isnanl*: Respect rules for use of AC_LIBOBJ.
15084         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
15085         invocation from here...
15086         * modules/isnanl (configure.ac): ... to here.
15087         * modules/isnanl-nolibm (configure.ac): ... and here.
15088
15089 2011-05-20  Bruno Haible  <bruno@clisp.org>
15090
15091         isnand*: Move AC_LIBOBJ invocations to module description.
15092         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
15093         invocation from here...
15094         * modules/isnand (configure.ac): ... to here.
15095         * modules/isnand-nolibm (configure.ac): ... and here.
15096
15097 2011-05-20  Bruno Haible  <bruno@clisp.org>
15098
15099         isnanf*: Move AC_LIBOBJ invocations to module description.
15100         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
15101         invocation from here...
15102         * modules/isnanf (configure.ac): ... to here.
15103         * modules/isnanf-nolibm (configure.ac): ... and here.
15104
15105 2011-05-20  Bruno Haible  <bruno@clisp.org>
15106
15107         isnan*: Separate the AC_LIBOBJ invocations.
15108         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
15109         AC_LIBOBJ invocation.
15110         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
15111         here.
15112         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
15113         AC_LIBOBJ invocation.
15114         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
15115         here.
15116         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
15117         AC_LIBOBJ invocation.
15118         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
15119         here.
15120         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
15121
15122 2011-05-08  Bruno Haible  <bruno@clisp.org>
15123
15124         isinf: Move AC_LIBOBJ invocations to module description.
15125         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
15126         * modules/isinf (configure.ac): ... to here.
15127
15128 2011-05-08  Bruno Haible  <bruno@clisp.org>
15129
15130         isfinite: Move AC_LIBOBJ invocations to module description.
15131         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
15132         * modules/isfinite (configure.ac): ... to here.
15133
15134 2011-05-08  Bruno Haible  <bruno@clisp.org>
15135
15136         isblank: Move AC_LIBOBJ invocations to module description.
15137         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
15138         here...
15139         * modules/isblank (configure.ac): ... to here.
15140
15141 2011-05-08  Bruno Haible  <bruno@clisp.org>
15142
15143         isapipe: Move AC_LIBOBJ invocations to module description.
15144         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
15145         gl_PREREQ_ISAPIPE invocations from here...
15146         * modules/isapipe (configure.ac): ... to here.
15147         (Depends-on): Update condition.
15148
15149 2011-05-08  Bruno Haible  <bruno@clisp.org>
15150
15151         ioctl: Move AC_LIBOBJ invocations to module description.
15152         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
15153         invocations from here...
15154         * modules/ioctl (configure.ac): ... to here.
15155         (Depends-on): Update condition.
15156
15157 2011-05-08  Bruno Haible  <bruno@clisp.org>
15158
15159         imaxdiv: Move AC_LIBOBJ invocations to module description.
15160         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
15161         invocations from here...
15162         * modules/imaxdiv (configure.ac): ... to here.
15163
15164 2011-05-08  Bruno Haible  <bruno@clisp.org>
15165
15166         imaxabs: Move AC_LIBOBJ invocations to module description.
15167         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
15168         invocations from here...
15169         * modules/imaxabs (configure.ac): ... to here.
15170
15171 2011-05-08  Bruno Haible  <bruno@clisp.org>
15172
15173         getaddrinfo: Move AC_LIBOBJ invocations to module description.
15174         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
15175         AC_LIBOBJ invocations from here...
15176         * modules/getaddrinfo (configure.ac): ... to here.
15177         (Depends-on): Add conditions.
15178
15179 2011-05-08  Bruno Haible  <bruno@clisp.org>
15180
15181         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
15182         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
15183         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
15184         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
15185         (gl_PREREQ_INET_PTON): ... from here.
15186         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
15187         gl_PREREQ_INET_PTON here.
15188         (Depends-on): Update condition.
15189
15190 2011-05-08  Bruno Haible  <bruno@clisp.org>
15191
15192         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
15193         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
15194         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
15195         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
15196         (gl_PREREQ_INET_NTOP): ... from here.
15197         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
15198         gl_PREREQ_INET_NTOP here.
15199         (Depends-on): Update condition.
15200
15201 2011-05-08  Bruno Haible  <bruno@clisp.org>
15202
15203         iconv_open: Move AC_LIBOBJ invocations to module description.
15204         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
15205         AC_LIBOBJ invocations from here...
15206         * modules/iconv_open (configure.ac): ... to here.
15207
15208 2011-05-08  Bruno Haible  <bruno@clisp.org>
15209
15210         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
15211         If module 'iconv_open' is among the main modules and module
15212         'iconv_open-utf' is among the tests dependencies, then
15213         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
15214         return the special iconv_t values. Therefore iconv() and iconv_close()
15215         must support these special iconv_t values, already in lib, not only in
15216         tests.
15217         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
15218         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
15219         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
15220         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
15221         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
15222         (Depends-on): Add the dependencies of iconv_open-utf.
15223         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
15224         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
15225         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
15226
15227 2011-05-08  Bruno Haible  <bruno@clisp.org>
15228
15229         group-member: Move AC_LIBOBJ invocations to module description.
15230         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
15231         gl_PREREQ_GROUP_MEMBER invocations from here...
15232         * modules/group-member (configure.ac): ... to here.
15233
15234 2011-05-08  Bruno Haible  <bruno@clisp.org>
15235
15236         grantpt: Move AC_LIBOBJ invocations to module description.
15237         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
15238         invocations from here...
15239         * modules/grantpt (configure.ac): ... to here.
15240
15241 2011-05-08  Bruno Haible  <bruno@clisp.org>
15242
15243         glob: Move AC_LIBOBJ invocations to module description.
15244         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
15245         from here...
15246         * modules/glob (configure.ac): ... to here.
15247
15248 2011-05-08  Bruno Haible  <bruno@clisp.org>
15249
15250         getusershell: Move AC_LIBOBJ invocations to module description.
15251         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
15252         Move AC_LIBOBJ invocation from here...
15253         * modules/getusershell (configure.ac): ... to here.
15254         (Depends-on): Update condition.
15255
15256 2011-05-08  Bruno Haible  <bruno@clisp.org>
15257
15258         gettimeofday: Move AC_LIBOBJ invocations to module description.
15259         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
15260         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
15261         gl_PREREQ_GETTIMEOFDAY invocations from here...
15262         * modules/gettimeofday (configure.ac): ... to here.
15263
15264 2011-05-08  Bruno Haible  <bruno@clisp.org>
15265
15266         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
15267         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
15268         just gl_FUNC_TZSET.
15269         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
15270         (gl_FUNC_TZSET_CLOBBER): Remove actions.
15271         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
15272         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
15273
15274 2011-05-08  Bruno Haible  <bruno@clisp.org>
15275
15276         getsubopt: Move AC_LIBOBJ invocations to module description.
15277         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
15278         gl_PREREQ_GETSUBOPT invocations from here...
15279         * modules/getsubopt (configure.ac): ... to here.
15280
15281 2011-05-08  Bruno Haible  <bruno@clisp.org>
15282
15283         getpass-gnu: Move AC_LIBOBJ invocations to module description.
15284         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
15285         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
15286         * modules/getpass-gnu (configure.ac): ... to here.
15287
15288 2011-05-08  Bruno Haible  <bruno@clisp.org>
15289
15290         getpass: Move AC_LIBOBJ invocations to module description.
15291         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
15292         gl_PREREQ_GETPASS invocations from here...
15293         * modules/getpass (configure.ac): ... to here.
15294
15295 2011-05-08  Bruno Haible  <bruno@clisp.org>
15296
15297         getpagesize: Move AC_LIBOBJ invocations to module description.
15298         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
15299         from here...
15300         * modules/getpagesize (configure.ac): ... to here.
15301
15302 2011-05-08  Bruno Haible  <bruno@clisp.org>
15303
15304         getopt: Move AC_LIBOBJ invocations to module description.
15305         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
15306         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
15307         invocations from here...
15308         * modules/getopt-gnu (configure.ac): ... to here.
15309         * modules/getopt-posix (configure.ac): ... and here.
15310         (Depends-on): Update condition.
15311
15312 2011-05-08  Bruno Haible  <bruno@clisp.org>
15313
15314         getopt, argp: Respect rules for use of AC_LIBOBJ.
15315         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
15316         (gl_REPLACE_GETOPT_ALWAYS): New macro.
15317         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
15318         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
15319
15320 2011-05-08  Bruno Haible  <bruno@clisp.org>
15321
15322         getlogin_r: Move AC_LIBOBJ invocations to module description.
15323         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
15324         gl_PREREQ_GETLOGIN_R invocations from here...
15325         * modules/getlogin_r (configure.ac): ... to here.
15326
15327 2011-05-08  Bruno Haible  <bruno@clisp.org>
15328
15329         getlogin: Move AC_LIBOBJ invocations to module description.
15330         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
15331         here...
15332         * modules/getlogin (configure.ac): ... to here.
15333
15334 2011-05-08  Bruno Haible  <bruno@clisp.org>
15335
15336         getloadavg: Move AC_LIBOBJ invocations to module description.
15337         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
15338         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
15339         * modules/getloadavg (configure.ac): ... to here.
15340
15341 2011-05-08  Bruno Haible  <bruno@clisp.org>
15342
15343         gethrxtime: Move AC_LIBOBJ invocations to module description.
15344         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
15345         LIB_GETHRXTIME from here...
15346         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
15347         invocations from here...
15348         * modules/gethrxtime (configure.ac): ... to here.
15349
15350 2011-05-08  Bruno Haible  <bruno@clisp.org>
15351
15352         gethostname: Move AC_LIBOBJ invocations to module description.
15353         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
15354         gl_PREREQ_GETHOSTNAME invocations from here...
15355         * modules/gethostname (configure.ac): ... to here.
15356
15357 2011-05-08  Bruno Haible  <bruno@clisp.org>
15358
15359         getgroups: Move AC_LIBOBJ invocations to module description.
15360         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
15361         here...
15362         * modules/getgroups (configure.ac): ... to here.
15363
15364 2011-05-08  Bruno Haible  <bruno@clisp.org>
15365
15366         getdtablesize: Move AC_LIBOBJ invocations to module description.
15367         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
15368         invocation from here...
15369         * modules/getdtablesize (configure.ac): ... to here.
15370
15371 2011-05-08  Bruno Haible  <bruno@clisp.org>
15372
15373         getdomainname: Move AC_LIBOBJ invocations to module description.
15374         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
15375         gl_PREREQ_GETDOMAINNAME invocations from here...
15376         * modules/getdomainname (configure.ac): ... to here.
15377
15378 2011-05-08  Bruno Haible  <bruno@clisp.org>
15379
15380         getline: Move AC_LIBOBJ invocations to module description.
15381         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
15382         invocations from here...
15383         * modules/getline (configure.ac): ... to here.
15384
15385 2011-05-08  Bruno Haible  <bruno@clisp.org>
15386
15387         getline: Simplify.
15388         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
15389         It's already handled through the module dependency.
15390
15391 2011-05-08  Bruno Haible  <bruno@clisp.org>
15392
15393         getdelim: Move AC_LIBOBJ invocations to module description.
15394         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
15395         and gl_PREREQ_GETDELIM invocations from here...
15396         * modules/getdelim (configure.ac): ... to here.
15397         (Depends-on): Fix condition.
15398
15399 2011-05-08  Bruno Haible  <bruno@clisp.org>
15400
15401         getcwd: Move AC_LIBOBJ invocations to module description.
15402         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
15403         invocations from here...
15404         * modules/getcwd (configure.ac): ... to here.
15405
15406 2011-05-08  Bruno Haible  <bruno@clisp.org>
15407
15408         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
15409         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
15410         here...
15411         * modules/getcwd-lgpl (configure.ac): ... to here.
15412
15413 2011-05-07  Bruno Haible  <bruno@clisp.org>
15414
15415         crypto/gc: Move AC_LIBOBJ invocations to module description.
15416         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
15417         * modules/crypto/gc (configure.ac): ... to here.
15418
15419 2011-05-07  Bruno Haible  <bruno@clisp.org>
15420
15421         fwriting: Move AC_LIBOBJ invocations to module description.
15422         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
15423         here...
15424         * modules/fwriting (configure.ac): ... to here.
15425
15426 2011-05-07  Bruno Haible  <bruno@clisp.org>
15427
15428         fwritable: Move AC_LIBOBJ invocations to module description.
15429         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
15430         here...
15431         * modules/fwritable (configure.ac): ... to here.
15432
15433 2011-05-07  Bruno Haible  <bruno@clisp.org>
15434
15435         futimens: Move AC_LIBOBJ invocations to module description.
15436         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
15437         here...
15438         * modules/futimens (configure.ac): ... to here.
15439
15440 2011-05-07  Bruno Haible  <bruno@clisp.org>
15441
15442         ftruncate: Move AC_LIBOBJ invocations to module description.
15443         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
15444         gl_PREREQ_FTRUNCATE invocations from here...
15445         * modules/ftruncate (configure.ac): ... to here.
15446
15447 2011-05-07  Bruno Haible  <bruno@clisp.org>
15448
15449         fsync: Move AC_LIBOBJ invocations to module description.
15450         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
15451         invocations from here...
15452         * modules/fsync (configure.ac): ... to here.
15453
15454 2011-05-07  Bruno Haible  <bruno@clisp.org>
15455
15456         fsusage: Move AC_LIBOBJ invocations to module description.
15457         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
15458         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
15459         * modules/fsusage (configure.ac): ... to here.
15460
15461 2011-05-07  Bruno Haible  <bruno@clisp.org>
15462
15463         freopen: Move AC_LIBOBJ invocations to module description.
15464         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
15465         invocations from here...
15466         * modules/freopen (configure.ac): ... to here.
15467
15468 2011-05-07  Bruno Haible  <bruno@clisp.org>
15469
15470         free: Move AC_LIBOBJ invocations to module description.
15471         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
15472         invocations from here...
15473         * modules/free (configure.ac): ... to here.
15474
15475 2011-05-07  Bruno Haible  <bruno@clisp.org>
15476
15477         freadable: Move AC_LIBOBJ invocations to module description.
15478         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
15479         here...
15480         * modules/freadable (configure.ac): ... to here.
15481
15482 2011-05-07  Bruno Haible  <bruno@clisp.org>
15483
15484         fpurge: Move AC_LIBOBJ invocations to module description.
15485         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
15486         invocations from here...
15487         * modules/fpurge (configure.ac): ... to here.
15488
15489 2011-05-07  Bruno Haible  <bruno@clisp.org>
15490
15491         fpending: Move AC_LIBOBJ invocations to module description.
15492         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
15493         gl_FUNC_FPENDING.
15494         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
15495         invocations from here...
15496         * modules/fpending (configure.ac): ... to here.
15497
15498 2011-05-07  Bruno Haible  <bruno@clisp.org>
15499
15500         fopen: Move AC_LIBOBJ invocations to module description.
15501         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
15502         invocations from here...
15503         * modules/fopen (configure.ac): ... to here.
15504
15505 2011-05-07  Bruno Haible  <bruno@clisp.org>
15506
15507         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
15508         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
15509         gl_FUNC_FNMATCH_POSIX.
15510         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
15511         invocations from here...
15512         * modules/fnmatch (configure.ac): ... to here.
15513         * modules/fnmatch-gnu (configure.ac): ... and here.
15514
15515 2011-05-07  Bruno Haible  <bruno@clisp.org>
15516
15517         flock: Move AC_LIBOBJ invocations to module description.
15518         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
15519         invocations from here...
15520         * modules/flock (configure.ac): ... to here.
15521
15522 2011-05-07  Bruno Haible  <bruno@clisp.org>
15523
15524         fileblocks: Move AC_LIBOBJ invocations to module description.
15525         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
15526         gl_PREREQ_FILEBLOCKS invocations from here...
15527         * modules/fileblocks (configure.ac): ... to here.
15528
15529 2011-05-06  Bruno Haible  <bruno@clisp.org>
15530
15531         fflush: Move AC_LIBOBJ invocations to module description.
15532         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
15533         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
15534         invocations from here...
15535         * modules/fflush (configure.ac): ... to here.
15536
15537 2011-05-06  Bruno Haible  <bruno@clisp.org>
15538
15539         fdopendir: Move AC_LIBOBJ invocations to module description.
15540         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
15541         here...
15542         * modules/fdopendir (configure.ac): ... to here.
15543         (Depends-on): Improve conditions.
15544
15545 2011-05-06  Bruno Haible  <bruno@clisp.org>
15546
15547         _Exit: Move AC_LIBOBJ invocations to module description.
15548         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
15549         invocations from here...
15550         * modules/_Exit (configure.ac): ... to here.
15551
15552 2011-05-21  Bruno Haible  <bruno@clisp.org>
15553
15554         euidaccess: Respect rules for use of AC_LIBOBJ.
15555         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
15556         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
15557         from here...
15558         * modules/euidaccess (configure.ac): ... to here.
15559
15560 2011-05-06  Bruno Haible  <bruno@clisp.org>
15561
15562         error: Move AC_LIBOBJ invocations to module description.
15563         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
15564         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
15565         invocations from here...
15566         * modules/error (configure.ac): ... to here.
15567
15568 2011-05-06  Bruno Haible  <bruno@clisp.org>
15569
15570         duplocale: Move AC_LIBOBJ invocations to module description.
15571         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
15572         gl_PREREQ_DUPLOCALE invocations from here...
15573         * modules/duplocale (configure.ac): ... to here.
15574
15575 2011-05-05  Bruno Haible  <bruno@clisp.org>
15576
15577         dirfd: Move AC_LIBOBJ invocations to module description.
15578         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
15579         gl_FUNC_DIRFD.
15580         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
15581         here...
15582         * modules/dirfd (configure.ac): ... to here.
15583         (Depends-on): Fix condition.
15584
15585 2011-05-05  Bruno Haible  <bruno@clisp.org>
15586
15587         chown: Respect rules for use of AC_LIBOBJ.
15588         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
15589         * modules/chown (configure.ac): ... to here.
15590
15591 2011-05-05  Bruno Haible  <bruno@clisp.org>
15592
15593         chdir-long: Move AC_LIBOBJ invocations to module description.
15594         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
15595         gl_PREREQ_CHDIR_LONG invocations from here...
15596         * modules/chdir-long (configure.ac): ... to here.
15597
15598 2011-05-05  Bruno Haible  <bruno@clisp.org>
15599
15600         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
15601         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
15602         from here...
15603         * modules/canonicalize-lgpl (configure.ac): ... to here.
15604
15605 2011-05-05  Bruno Haible  <bruno@clisp.org>
15606
15607         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
15608         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
15609         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
15610         REPLACE_CALLOC.
15611         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
15612         * modules/calloc-gnu (configure.ac): Likewise.
15613
15614 2011-05-05  Bruno Haible  <bruno@clisp.org>
15615
15616         btowc: Move AC_LIBOBJ invocations to module description.
15617         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
15618         invocations from here...
15619         * modules/btowc (configure.ac): ... to here.
15620
15621 2011-05-21  Bruno Haible  <bruno@clisp.org>
15622
15623         atexit: Move AC_LIBOBJ invocations to module description.
15624         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
15625         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
15626         here...
15627         * modules/atexit (configure.ac): ... to here.
15628
15629 2011-05-05  Bruno Haible  <bruno@clisp.org>
15630
15631         atoll: Move AC_LIBOBJ invocations to module description.
15632         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
15633         invocations from here...
15634         * modules/atoll (configure.ac): ... to here.
15635
15636 2011-05-05  Bruno Haible  <bruno@clisp.org>
15637
15638         argz: Move AC_LIBOBJ invocations to module description.
15639         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
15640         * modules/argz (configure.ac): ... to here.
15641
15642 2011-05-05  Bruno Haible  <bruno@clisp.org>
15643
15644         alphasort: Move AC_LIBOBJ invocations to module description.
15645         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
15646         gl_PREREQ_ALPHASORT invocations from here...
15647         * modules/alphasort (configure.ac): ... to here.
15648
15649 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
15650
15651         verify: new macro verify_expr; verify_true deprecated
15652         * NEWS: Mention this.
15653         * doc/verify.texi (Compile-time Assertions): Document this.
15654         * lib/verify.h (verify_true): Deprecate.
15655         (verify_expr): New macro.
15656         * tests/test-verify.c (function): Test verify_expr.
15657
15658 2011-06-14  Jim Meyering  <meyering@redhat.com>
15659
15660         init.sh: give more portable redirection-related advice in a comment
15661         * tests/init.sh (stderr_fileno_): Update the advice in comments.
15662         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
15663         for lots of discussion.  Stefano Lattarini suggested the solution
15664         of putting "9>&2" after the command.  Reported by Bruno Haible.
15665
15666 2011-06-13  Bruno Haible  <bruno@clisp.org>
15667
15668         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
15669         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
15670         'none'.
15671
15672 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
15673
15674         ftoastr: use strtof only if HAVE_STRTOF
15675         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
15676         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
15677         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
15678         * modules/ftoastr (configure.ac): Check for strtof.
15679
15680 2011-06-13  Bruno Haible  <bruno@clisp.org>
15681
15682         gnulib-tool: Addendum to 2011-06-08 commit.
15683         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
15684         and --witness-c-macro have been given, augment AM_CPPFLAGS.
15685
15686 2011-06-13  Bruno Haible  <bruno@clisp.org>
15687
15688         fseeko: Provide a non-inline replacement of fseek().
15689         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
15690         * modules/fseeko (Depends-on): Add fseek.
15691         * modules/fseek (License): Change to LGPLv2+.
15692
15693 2011-06-13  Bruno Haible  <bruno@clisp.org>
15694
15695         ftello: Provide a non-inline replacement of ftell().
15696         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
15697         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
15698         not have ftello() (such as on mingw).
15699         * modules/ftello (Depends-on): Add ftell.
15700         * modules/ftell (License): Change to LGPLv2+.
15701
15702 2011-05-07  Bruno Haible  <bruno@clisp.org>
15703
15704         ftell: Move AC_LIBOBJ invocations to module description.
15705         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
15706         * modules/ftell (configure.ac): ... to here.
15707
15708 2011-05-07  Bruno Haible  <bruno@clisp.org>
15709
15710         ftello: Respect rules for use of AC_LIBOBJ.
15711         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
15712         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
15713         here...
15714         * modules/ftello (configure.ac): ... to here.
15715
15716 2011-05-07  Bruno Haible  <bruno@clisp.org>
15717
15718         fseeko: Simplify.
15719         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
15720         (gl_FUNC_FSEEKO): Inline it here.
15721
15722 2011-05-07  Bruno Haible  <bruno@clisp.org>
15723
15724         fseek: Move AC_LIBOBJ invocations to module description.
15725         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
15726         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
15727         * modules/fseek (configure.ac): ... to here.
15728
15729 2011-05-07  Bruno Haible  <bruno@clisp.org>
15730
15731         fseek: Respect rules for use of AC_LIBOBJ.
15732         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
15733         here...
15734         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
15735
15736 2011-05-07  Bruno Haible  <bruno@clisp.org>
15737
15738         fseeko: Respect rules for use of AC_LIBOBJ.
15739         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
15740         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
15741         here...
15742         * modules/fseeko (configure.ac): ... to here.
15743
15744 2011-06-13  Bruno Haible  <bruno@clisp.org>
15745
15746         gnulib-tool: Allow comments in the 'Depends-on' section.
15747         * doc/gnulib.texi (Module description): Mention comment syntax in the
15748         Depends-on section.
15749         * gnulib-tool (func_get_dependencies): Filter out comment lines.
15750
15751 2011-06-13  Bruno Haible  <bruno@clisp.org>
15752
15753         file-set.h: guard __attibute__ use, now that it's not always defined
15754         * lib/file-set.h (record_file): Use __attribute__ only with compiler
15755         versions that support it.  This fixes a coreutils build failure with
15756         the vendor cc on HP-UX 11.31.
15757
15758 2011-06-12  Bruno Haible  <bruno@clisp.org>
15759
15760         acl: Add support for HP-UX >= 11.11 JFS ACLs.
15761         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
15762         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
15763         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
15764         (acl, aclsort): New declarations.
15765         (aclv_nontrivial): New declaration.
15766         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
15767         (file_has_acl): Read also the second kind of HP-UX ACLs.
15768         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
15769         kind of HP-UX ACLs if the first kind fails.
15770         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
15771         second kind of HP-UX ACLs.
15772         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
15773         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
15774         agree.
15775         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
15776         hpuxjfs.
15777         Handle hpuxjfs.
15778         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
15779         hpuxjfs.
15780         Handle hpuxjfs.
15781         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
15782         (func_test_same_acls): Use both lsacl and getacl.
15783         Handle hpuxjfs.
15784         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
15785         (func_test_same_acls): Use both lsacl and getacl.
15786         Handle hpuxjfs.
15787
15788 2011-06-12  Bruno Haible  <bruno@clisp.org>
15789
15790         acl: Complete the 2010-08-10 fix.
15791         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
15792         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
15793         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
15794         explicitly.
15795         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
15796         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
15797
15798 2011-06-12  Bruno Haible  <bruno@clisp.org>
15799
15800         spawn-pipe tests: Comments.
15801         * tests/test-spawn-pipe-child.c (main): Update comment.
15802         Reported by James Youngman <jay@gnu.org>.
15803
15804 2011-06-11  James Youngman  <jay@gnu.org>
15805
15806         New module 'stat-size'.
15807         * modules/stat-size: New module.  Provides macros for accessing
15808         file size information in instances of struct stat.  Depends on the
15809         fileblocks module because it calls st_blocks.
15810         * lib/stat-size.h: New file, adapted from coreutils' system.h.
15811         * doc/gnulib.texi: Include stat-size.texi.
15812         * doc/stat-size.texi: Documentation for this module.
15813         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
15814         * m4/fileblocks.m4: Mention that stat-size depends on the call to
15815         AC_STRUCT_ST_BLOCKS.
15816
15817 2011-06-09  Bruno Haible  <bruno@clisp.org>
15818
15819         thread: Support pthreads-win32.
15820         * lib/glthread/thread.h (gl_thread_self): Define differently on
15821         pthreads-win32.
15822         (gl_null_thread): New declaration.
15823         (gl_thread_self_pointer): New macro.
15824         * lib/glthread/thread.c (gl_null_thread): New constant.
15825         * tests/test-lock.c: Use gl_thread_self_pointer instead of
15826         gl_thread_self.
15827         * tests/test-tls.c: Likewise.
15828         Suggested by Paul Eggert. Reported by Eric Blake.
15829
15830 2011-06-09  Bruno Haible  <bruno@clisp.org>
15831
15832         thread: Fix confusion between NULL and 0.
15833         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
15834         Reported by Paul Eggert.
15835
15836 2011-06-09  Bruno Haible  <bruno@clisp.org>
15837
15838         spawn-pipe tests: Avoid test failure on HP-UX 11.
15839         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
15840         is closed.
15841
15842 2011-06-09  Bruno Haible  <bruno@clisp.org>
15843
15844         acl tests: Fix compilation error on HP-UX 11.
15845         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
15846
15847 2011-06-09  Bruno Haible  <bruno@clisp.org>
15848
15849         rmdir: Avoid test failure on HP-UX 10.20.
15850         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
15851         EEXIST.
15852
15853 2011-06-08  Eric Blake  <eblake@redhat.com>
15854
15855         perror: fix test on mingw
15856         * modules/perror-tests (Depends-on): Add dup2.
15857
15858         strerror_r-posix: fix on MacOS
15859         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
15860         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
15861         logic bug.
15862         * lib/strerror_r.c (strerror_r): Fix the bug.
15863         * lib/strerror.c (strerror): Likewise.
15864         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
15865         problem.
15866         * doc/posix-functions/strerror.texi (strerror): Likewise.
15867         * doc/posix-functions/perror.texi (perror): Likewise.
15868         * tests/test-strerror.c (main): Enhance test.
15869         * tests/test-strerror_r.c (main): Likewise.
15870
15871 2011-06-08  Bruno Haible  <bruno@clisp.org>
15872
15873         gnulib-tool: Better isolation between different gnulib-tool invocations.
15874         * gnulib-tool: New option --witness-c-macro.
15875         (witness_c_macro): New variable.
15876         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
15877         AM_CPPFLAGS define it as a C macro.
15878         (func_emit_tests_Makefile_am): Likewise.
15879         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
15880         read it from there.
15881         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
15882         m4_define, not AC_DEFUN.
15883         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
15884         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
15885         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
15886         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
15887         s|...|...|, to substitute the values of the GNULIB_* module indicator
15888         variables.
15889         * modules/dirent (Makefile.am): Likewise.
15890         * modules/fcntl-h (Makefile.am): Likewise.
15891         * modules/iconv-h (Makefile.am): Likewise.
15892         * modules/langinfo (Makefile.am): Likewise.
15893         * modules/locale (Makefile.am): Likewise.
15894         * modules/math (Makefile.am): Likewise.
15895         * modules/netdb (Makefile.am): Likewise.
15896         * modules/poll-h (Makefile.am): Likewise.
15897         * modules/pty (Makefile.am): Likewise.
15898         * modules/search (Makefile.am): Likewise.
15899         * modules/signal (Makefile.am): Likewise.
15900         * modules/spawn (Makefile.am): Likewise.
15901         * modules/stdio (Makefile.am): Likewise.
15902         * modules/stdlib (Makefile.am): Likewise.
15903         * modules/string (Makefile.am): Likewise.
15904         * modules/sys_ioctl (Makefile.am): Likewise.
15905         * modules/sys_select (Makefile.am): Likewise.
15906         * modules/sys_socket (Makefile.am): Likewise.
15907         * modules/sys_stat (Makefile.am): Likewise.
15908         * modules/sys_times (Makefile.am): Likewise.
15909         * modules/sys_utsname (Makefile.am): Likewise.
15910         * modules/sys_wait (Makefile.am): Likewise.
15911         * modules/termios (Makefile.am): Likewise.
15912         * modules/time (Makefile.am): Likewise.
15913         * modules/unistd (Makefile.am): Likewise.
15914         * modules/wchar (Makefile.am): Likewise.
15915
15916 2011-06-08  Eric Blake  <eblake@redhat.com>
15917
15918         strerror: simplify replacement
15919         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
15920         * modules/strerror (configure.ac): No prereqs needed here...
15921         * modules/strerror-override (configure.ac): ...but this needs it.
15922         (Files): Add file for needed prereq macro.
15923
15924 2011-06-08  Bruno Haible  <bruno@clisp.org>
15925
15926         strerror_r-posix: Tweaks.
15927         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
15928         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
15929         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
15930         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
15931         (gl_FUNC_STRERROR_R): ... to here.
15932         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
15933
15934 2011-06-07  Eric Blake  <eblake@redhat.com>
15935
15936         perror: document fixed bugs
15937         * doc/posix-functions/perror.texi (perror): Document recent
15938         patches.
15939
15940 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
15941
15942         stat-time: get_stat_birthtime failure is better-defined
15943         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
15944         return a timestamp whose tv_sec and tv_nsec values are both -1.
15945         Previously, the spec said only that the tv_nsec value was negative.
15946         This upward-compatible change simplifies GNU tar a bit.
15947
15948 2011-06-07  Eric Blake  <eblake@redhat.com>
15949
15950         strerror_r-posix: work around cygwin 1.7.9
15951         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
15952         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
15953         bug without replacing strerror_r.
15954         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
15955         strerror_r is buggy, but without requiring strerror_r compilation.
15956         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
15957
15958         test-perror: relax test to ignore cygwin bug
15959         * tests/test-perror2.c (main): Relax test on requiring detection
15960         of stream errors, and use unbuffered stream.
15961         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
15962         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
15963         * doc/posix-functions/fputc.texi (fputc): Likewise.
15964         * doc/posix-functions/fputs.texi (fputs): Likewise.
15965         * doc/posix-functions/fputws.texi (fputws): Likewise.
15966         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
15967         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
15968         * doc/posix-functions/getopt.texi (getopt): Likewise.
15969         * doc/posix-functions/perror.texi (perror): Likewise.
15970         * doc/posix-functions/printf.texi (printf): Likewise.
15971         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
15972         * doc/posix-functions/psignal.texi (psignal): Likewise.
15973         * doc/posix-functions/putc.texi (putc): Likewise.
15974         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
15975         Likewise.
15976         * doc/posix-functions/putchar.texi (putchar): Likewise.
15977         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
15978         Likewise.
15979         * doc/posix-functions/puts.texi (puts): Likewise.
15980         * doc/posix-functions/putwc.texi (putwc): Likewise.
15981         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
15982         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
15983         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
15984         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
15985         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
15986         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
15987         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
15988         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
15989
15990 2011-05-22  Bruno Haible  <bruno@clisp.org>
15991
15992         strerror: Move AC_LIBOBJ invocations to module description.
15993         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
15994         gl_PREREQ_STRERROR invocations from here...
15995         * modules/strerror (configure.ac): ... to here.
15996
15997 2011-05-21  Bruno Haible  <bruno@clisp.org>
15998
15999         perror: Use common idiom.
16000         * modules/perror (configure.ac): Reorder statements.
16001
16002 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
16003
16004         tests: fix usage message in 'mktempd_'
16005         * tests/init.sh (mktempd_): In the usage message, use literal
16006         'mktempd_', not '$ME' (which is even undefined), as the name of
16007         the subroutine.
16008
16009 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
16010
16011         tests init: new function 'fatal_', for hard errors
16012         Before this patch, the only way offered by tests/init.sh to
16013         properly signal a hard error was the `framework_failure_'
16014         function.  But the error message issued by that function,
16015         as its name would suggest, refers to a set-up failure in the
16016         testsuite, while hard errors can obviously also be due to
16017         other reasons.  The best way to fix this inconsistency is to
16018         introduce a new function with a more general error message.
16019         * tests/init.sh (fatal_): New function.
16020
16021 2011-06-06  Eric Blake  <eblake@redhat.com>
16022
16023         canonicalize-lgpl: use common idiom
16024         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
16025         over newer POSIX -Rf.
16026         Reported by Bruno Haible.
16027
16028         canonicalize-lgpl: work around AIX realpath bug
16029         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
16030         * doc/posix-functions/realpath.texi (realpath): Document it.
16031         Reported by Bruno Haible.
16032
16033         strerror: work around FreeBSD bug
16034         * lib/strerror.c (strerror): Special case 0.
16035         Reported by Bruno Haible.
16036
16037         strerror-override: avoid bloating errno module
16038         * modules/errno (Files, configure.ac): Move replacement strings...
16039         * modules/strerror-override: ...to new module.
16040         * modules/strerror (Depends-on): Add strerror-override.
16041         * modules/strerror_r-posix (Depends-on): Likewise.
16042         * MODULES.html.sh: Document new module.
16043         Reported by Bruno Haible.
16044
16045 2011-06-06  Bruno Haible  <bruno@clisp.org>
16046
16047         spawn-pipe tests: Rename program.
16048         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
16049         * tests/test-spawn-pipe-child.c: Update comment.
16050         * tests/test-spawn-pipe.sh: Update.
16051         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
16052
16053         spawn-pipe tests: Link the child program only against libc.
16054         * tests/test-spawn-pipe-child.c: New file, extracted from
16055         tests/test-spawn-pipe.c.
16056         (main): Expect only one argument.
16057         (is_open): New function, copied from tests/test-pipe.c.
16058         * tests/test-spawn-pipe.c: Don't include <errno.h>.
16059         (child_main): Remove function.
16060         (test_pipe): Pass only one argument to the child program.
16061         (main): Remove child process code. Expect the child program's name as
16062         first argument.
16063         * tests/test-spawn-pipe.sh: Pass the child program's name as first
16064         argument.
16065         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
16066         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
16067         test-spawn-pipe-child against no libraries.
16068
16069 2011-06-06  Bruno Haible  <bruno@clisp.org>
16070
16071         careadlinkat: Avoid mismatch between ssize_t and int.
16072         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
16073         * lib/careadlinkat.c (careadlinkatcwd): Define always.
16074
16075 2011-06-06  Jim Meyering  <meyering@redhat.com>
16076
16077         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
16078         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
16079         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
16080
16081 2011-06-05  Bruno Haible  <bruno@clisp.org>
16082
16083         ansi-c++-opt: Interoperability with libtool.
16084         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
16085         set the variable to "no", not to ":".
16086         * NEWS: Mention the change.
16087
16088 2011-06-05  Bruno Haible  <bruno@clisp.org>
16089
16090         acl: Fix test failure on AIX 7.
16091         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
16092         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
16093
16094 2011-06-05  Bruno Haible  <bruno@clisp.org>
16095
16096         pipe-filter-ii: Fix test failure on AIX and IRIX.
16097         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
16098         with EAGAIN, retry with a smaller buffer size.
16099
16100 2011-06-05  Bruno Haible  <bruno@clisp.org>
16101
16102         localename: Fix link dependencies.
16103         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
16104         * modules/localename-tests (Makefile.am): Link test-localename with
16105         $(LIBTHREAD).
16106
16107 2011-06-05  Bruno Haible  <bruno@clisp.org>
16108
16109         error: Avoid gcc warning.
16110         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
16111
16112 2011-06-05  Bruno Haible  <bruno@clisp.org>
16113
16114         unsetenv: Avoid gcc warning.
16115         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
16116
16117 2011-06-05  Bruno Haible  <bruno@clisp.org>
16118
16119         setenv: Avoid gcc warning.
16120         * lib/setenv.c (setenv): Provide declaration if system lacks it.
16121
16122 2011-06-05  Bruno Haible  <bruno@clisp.org>
16123
16124         sys_select: Ensure memset is declared also on AIX 7.
16125         * lib/sys_select.in.h: Include <string.h> also on AIX.
16126         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
16127         self-contained also on AIX 7.1.
16128
16129 2011-06-04  Jim Meyering  <meyering@redhat.com>
16130
16131         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
16132         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
16133         function name, "error".
16134         (_gl_translatable_diag_func_re): New configurable variable.
16135
16136 2011-06-04  Bruno Haible  <bruno@clisp.org>
16137
16138         getopt: Avoid gcc warning.
16139         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
16140
16141 2011-06-04  Bruno Haible  <bruno@clisp.org>
16142
16143         strerror_r: Fix comments.
16144         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
16145         commit.
16146
16147 2011-06-04  Bruno Haible  <bruno@clisp.org>
16148
16149         perror: Fix compilation error.
16150         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
16151         Undefine fprintf, not sprintf.
16152         * modules/perror (Depends-on): Remove intprops, verify.
16153
16154 2011-06-04  Bruno Haible  <bruno@clisp.org>
16155
16156         setlocale: Enable replacement on Cygwin 1.5.
16157         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
16158         Cygwin 1.5.x.
16159         * doc/posix-functions/setlocale.texi: Mention that the problem with the
16160         LC_CTYPE category also exists on Cygwin 1.5.x.
16161
16162 2011-06-04  Bruno Haible  <bruno@clisp.org>
16163
16164         strerror-override: Don't disable symbol renamings.
16165         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
16166         * lib/strerror-override.c: Include config.h.
16167         (strerror_override): Don't undefine.
16168
16169 2011-06-03  Bruno Haible  <bruno@clisp.org>
16170
16171         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
16172         * lib/localename.h: Update copyright header.
16173         * lib/localename.c: Likewise.
16174         * lib/relocatable.h: Likewise.
16175         * lib/relocatable.c: Likewise.
16176
16177 2011-06-02  Bruno Haible  <bruno@clisp.org>
16178
16179         doc: Fix a module name.
16180         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
16181
16182 2011-06-02  Bruno Haible  <bruno@clisp.org>
16183
16184         pipe2: Remove dependency on 'nonblocking' module.
16185         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
16186         O_NONBLOCK is defined by gnulib.
16187         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
16188         is zero.
16189         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
16190         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
16191         defined by gnulib.
16192         (get_nonblocking_flag): New function.
16193         (main): Test O_NONBLOCK flag only if it is nonzero.
16194         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
16195
16196 2011-06-03  Jim Meyering  <meyering@redhat.com>
16197
16198         maint: three new prohibit-header-without-use rules
16199         Prohibit use of cloexec.h, posixver.h, same.h without use.
16200         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
16201         (sc_prohibit_posixver_without_use): Likewise.
16202         (sc_prohibit_same_without_use): Likewise.
16203
16204 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
16205
16206         allocator: 'die' routine is now given requested size
16207         * lib/allocator.h (struct allocator.die): New size arg.
16208         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
16209         If the actual problem is an ssize_t limitation, not a size_t or
16210         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
16211
16212 2011-06-01  Eric Blake  <eblake@redhat.com>
16213
16214         strerror: drop strerror_r dependency
16215         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
16216         * lib/strerror-override.c (strerror_override): ...to new file.
16217         * lib/strerror-override.h: Add prototype.
16218         * lib/strerror-impl.h: Delete.
16219         * lib/strerror.c (strerror): New implementation.
16220         * modules/errno (Files): Add new files.
16221         (configure.ac): Compile new file as appropriate.
16222         * modules/strerror (Files): Drop unused file.
16223         (Depends-on): Drop strerror_r-posix.
16224         * MODULES.html.sh: Document strerror_r-posix.
16225         Requested by Sam Steingold.
16226
16227         perror: call strerror_r directly
16228         * modules/perror (Files): Drop strerror-impl.h.
16229         * lib/perror.c (perror): Use our own stack buffer, rather than
16230         calling a wrapper that uses static storage.
16231         * doc/posix-functions/perror.texi (perror): Document a limitation
16232         of our replacement.
16233
16234         strerror_r: fix includes for FreeBSD
16235         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
16236         since we use abort on some platforms.
16237         Reported by Matthias Bolte.
16238
16239 2011-05-31  Bruno Haible  <bruno@clisp.org>
16240
16241         Fix link errors in tests: openat-die uses gettext-h.
16242         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
16243         against $(LIBINTL).
16244         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
16245         against $(LIBINTL).
16246         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
16247         $(LIBINTL).
16248         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
16249         against $(LIBINTL).
16250         * modules/linkat-tests (Makefile.am): Link test-linkat against
16251         $(LIBINTL).
16252         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
16253         $(LIBINTL).
16254         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
16255         against $(LIBINTL).
16256         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
16257         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
16258         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
16259         $(LIBINTL).
16260         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
16261         $(LIBINTL).
16262         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
16263         $(LIBINTL).
16264         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16265
16266 2011-05-31  Bruno Haible  <bruno@clisp.org>
16267
16268         Fix link errors in tests: wait-process uses gettext-h.
16269         * modules/nonblocking-pipe-tests (Makefile.am): Set
16270         test_nonblocking_pipe_main_LDADD.
16271         * modules/nonblocking-socket-tests (Makefile.am): Link
16272         test-nonblocking-socket-main against $(LIBINTL).
16273         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16274
16275 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
16276
16277         assert-h: work around 'verify' incompatibility
16278         * lib/verify.h: Use @...@ directives, not ifdef.
16279         * modules/assert-h (assert.h): Implement the directives.
16280         (assert.h): Substitute the symbol-prefix more consistently.
16281
16282 2011-05-29  Jim Meyering  <meyering@redhat.com>
16283
16284         trim: remove three superfluous assignments
16285         * lib/trim.c (trim2): Remove three superfluous assignments
16286         and correct brace positioning.
16287
16288 2011-05-29  Bruno Haible  <bruno@clisp.org>
16289
16290         wctype-h: Avoid namespace pollution on Solaris 2.6.
16291         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
16292         identifiers.
16293         * doc/posix-headers/wctype.texi: Mention the problem.
16294         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16295
16296 2011-05-28  Jim Meyering  <meyering@redhat.com>
16297
16298         parse-datetime.y: accommodate -Wstrict-overflow
16299         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
16300         placate -Wstrict-overflow.
16301
16302         trim: avoid a warning from -O2 -Wstrict-overflow
16303         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
16304
16305 2011-05-29  Bruno Haible  <bruno@clisp.org>
16306
16307         gnulib-tool: Fix bug in yesterday's commit.
16308         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
16309         twice.
16310
16311 2011-05-29  Bruno Haible  <bruno@clisp.org>
16312
16313         Allow multiple gnulib generated include files to be combined.
16314         * gnulib-tool (func_compute_include_guard_prefix): New function.
16315         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
16316         ${gl_include_guard_prefix} references.
16317         (func_import, func_create_testdir): Invoke
16318         func_compute_include_guard_prefix.
16319         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
16320         * lib/ctype.in.h: Likewise.
16321         * lib/dirent.in.h: Likewise.
16322         * lib/errno.in.h: Likewise.
16323         * lib/fcntl.in.h: Likewise.
16324         * lib/float.in.h: Likewise.
16325         * lib/getopt.in.h: Likewise.
16326         * lib/iconv.in.h: Likewise.
16327         * lib/langinfo.in.h: Likewise.
16328         * lib/locale.in.h: Likewise.
16329         * lib/math.in.h: Likewise.
16330         * lib/netdb.in.h: Likewise.
16331         * lib/netinet_in.in.h: Likewise.
16332         * lib/poll.in.h: Likewise.
16333         * lib/pthread.in.h: Likewise.
16334         * lib/pty.in.h: Likewise.
16335         * lib/sched.in.h: Likewise.
16336         * lib/se-selinux.in.h: Likewise.
16337         * lib/search.in.h: Likewise.
16338         * lib/signal.in.h: Likewise.
16339         * lib/spawn.in.h: Likewise.
16340         * lib/stdarg.in.h: Likewise.
16341         * lib/stddef.in.h: Likewise.
16342         * lib/stdint.in.h: Likewise.
16343         * lib/stdio.in.h: Likewise.
16344         * lib/stdlib.in.h: Likewise.
16345         * lib/string.in.h: Likewise.
16346         * lib/strings.in.h: Likewise.
16347         * lib/sys_file.in.h: Likewise.
16348         * lib/sys_ioctl.in.h: Likewise.
16349         * lib/sys_select.in.h: Likewise.
16350         * lib/sys_socket.in.h: Likewise.
16351         * lib/sys_stat.in.h: Likewise.
16352         * lib/sys_time.in.h: Likewise.
16353         * lib/sys_times.in.h: Likewise.
16354         * lib/sys_uio.in.h: Likewise.
16355         * lib/sys_utsname.in.h: Likewise.
16356         * lib/sys_wait.in.h: Likewise.
16357         * lib/sysexits.in.h: Likewise.
16358         * lib/termios.in.h: Likewise.
16359         * lib/time.in.h: Likewise.
16360         * lib/unistd.in.h: Likewise.
16361         * lib/wchar.in.h: Likewise.
16362         * lib/wctype.in.h: Likewise.
16363         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
16364         * modules/ctype (Makefile.am): Likewise.
16365         * modules/dirent (Makefile.am): Likewise.
16366         * modules/errno (Makefile.am): Likewise.
16367         * modules/fcntl-h (Makefile.am): Likewise.
16368         * modules/float (Makefile.am): Likewise.
16369         * modules/getopt-posix (Makefile.am): Likewise.
16370         * modules/iconv-h (Makefile.am): Likewise.
16371         * modules/langinfo (Makefile.am): Likewise.
16372         * modules/locale (Makefile.am): Likewise.
16373         * modules/math (Makefile.am): Likewise.
16374         * modules/netdb (Makefile.am): Likewise.
16375         * modules/netinet_in (Makefile.am): Likewise.
16376         * modules/poll-h (Makefile.am): Likewise.
16377         * modules/pthread (Makefile.am): Likewise.
16378         * modules/pty (Makefile.am): Likewise.
16379         * modules/sched (Makefile.am): Likewise.
16380         * modules/search (Makefile.am): Likewise.
16381         * modules/selinux-h (Makefile.am): Likewise.
16382         * modules/signal (Makefile.am): Likewise.
16383         * modules/spawn (Makefile.am): Likewise.
16384         * modules/stdarg (Makefile.am): Likewise.
16385         * modules/stddef (Makefile.am): Likewise.
16386         * modules/stdint (Makefile.am): Likewise.
16387         * modules/stdio (Makefile.am): Likewise.
16388         * modules/stdlib (Makefile.am): Likewise.
16389         * modules/string (Makefile.am): Likewise.
16390         * modules/strings (Makefile.am): Likewise.
16391         * modules/sys_file (Makefile.am): Likewise.
16392         * modules/sys_ioctl (Makefile.am): Likewise.
16393         * modules/sys_select (Makefile.am): Likewise.
16394         * modules/sys_socket (Makefile.am): Likewise.
16395         * modules/sys_stat (Makefile.am): Likewise.
16396         * modules/sys_time (Makefile.am): Likewise.
16397         * modules/sys_times (Makefile.am): Likewise.
16398         * modules/sys_uio (Makefile.am): Likewise.
16399         * modules/sys_utsname (Makefile.am): Likewise.
16400         * modules/sys_wait (Makefile.am): Likewise.
16401         * modules/sysexits (Makefile.am): Likewise.
16402         * modules/termios (Makefile.am): Likewise.
16403         * modules/time (Makefile.am): Likewise.
16404         * modules/unistd (Makefile.am): Likewise.
16405         * modules/wchar (Makefile.am): Likewise.
16406         * modules/wctype-h (Makefile.am): Likewise.
16407         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
16408
16409 2011-05-29  Bruno Haible  <bruno@clisp.org>
16410
16411         assert-h: Allow multiple gnulib generated replacements to coexist.
16412         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
16413
16414 2011-05-29  Bruno Haible  <bruno@clisp.org>
16415
16416         argp: Allow coexistence with strerror_r-posix module.
16417         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
16418         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
16419         by gnulib's <string.h> replacement), assume it has the POSIX signature,
16420         not the glibc signature.
16421
16422 2011-05-28  Bruno Haible  <bruno@clisp.org>
16423
16424         gnulib-tool: Alternative structure of testdirs, similar to --import.
16425         * gnulib-tool: New option --single-configure.
16426         (func_usage): Document it.
16427         (single_configure): New variable.
16428         (func_modules_transitive_closure_separately,
16429         func_modules_transitive_closure_separately,
16430         func_determine_use_libtests, func_modules_add_dummy_separately,
16431         func_modules_to_filelist_separately): New functions, extracted from
16432         func_import.
16433         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
16434         (func_import): Use the new functions.
16435         (func_create_testdir): Set final_modules. Handle $single_configure =
16436         true case.
16437
16438 2011-05-28  Bruno Haible  <bruno@clisp.org>
16439
16440         getloadavg: Remove an unreliable safety check.
16441         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
16442         getloadavg.c is in place.
16443         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
16444         Reported by Sam Steingold <sds@gnu.org>.
16445
16446 2011-05-28  Bruno Haible  <bruno@clisp.org>
16447
16448         doc: Cleanup yet another file produced by texinfo.tex.
16449         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
16450
16451 2011-05-28  Bruno Haible  <bruno@clisp.org>
16452
16453         Finish the conditional dependencies mechanism.
16454         * gnulib-tool: New option --no-conditional-dependencies.
16455         (func_usage): Document it. Don't mark --conditional-dependencies as
16456         experimental.
16457         (cond_dependencies): The possible values can now be true, false, empty.
16458         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
16459         (func_import): Store setting in gnulib-cache.m4 and read it from there.
16460         * doc/gnulib-tool.texi (Conditional dependencies): New section.
16461
16462 2011-05-28  Bruno Haible  <bruno@clisp.org>
16463
16464         doc: Use a recent texinfo.tex.
16465         * doc/Makefile (tex_opts): New variable.
16466         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
16467
16468 2011-05-28  Jim Meyering  <meyering@redhat.com>
16469
16470         intprops.h: adjust comment to match code change
16471         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
16472         only once, it *may* have side effects.  Also fix an unrelated typo.
16473         (_GL_INT_SIGNED): Likewise.
16474
16475 2011-05-26  Simon Josefsson  <simon@josefsson.org>
16476
16477         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
16478
16479 2011-05-26  Bruno Haible  <bruno@clisp.org>
16480
16481         mbsrchr: Avoid collision with system function on Interix.
16482         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
16483         Reported by Markus Duft <mduft@gentoo.org>.
16484
16485 2011-05-15  James Youngman  <jay@gnu.org>
16486
16487         getopt: for ambiguous options, enumerate the possibilities.
16488         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
16489         the ambiguous options when an ambiguous prefix is given. This was
16490         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
16491         glibc change was
16492         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
16493
16494 2011-05-25  Eric Blake  <eblake@redhat.com>
16495
16496         getcwd: work around mingw bug
16497         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
16498         * doc/posix-functions/getcwd.texi (getcwd): Document it.
16499         Reported by Matthias Bolte.
16500
16501 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
16502
16503         test-intprops: disable -Wtype-limits diagnostics
16504         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
16505         diagnostics.  Otherwise, the integer overflow macros generate many
16506         diagnostics.  Reported by Jim Meyering in
16507         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
16508
16509         intprops: shorten, to pacify gcc -Woverlength-strings
16510         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
16511         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
16512         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
16513         likely to run afoul of C compiler limits for string constant lengths.
16514         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
16515
16516 2011-05-24  Eric Blake  <eblake@redhat.com>
16517
16518         docs: document recently fixed glibc printf bug
16519         * doc/posix-functions/fprintf.texi (fprintf): Document it.
16520         * doc/posix-functions/printf.texi (printf): Likewise.
16521         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
16522         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
16523
16524         closein-tests: convert to init.sh
16525         * modules/closein-tests (Files): Add init.sh
16526         * tests/test-closein.sh Use it.
16527
16528         yesno-tests: convert to init.sh
16529         * modules/yesno-tests (Files): Add init.sh.
16530         * tests/test-yesno.sh: Use it.
16531
16532         atexit-tests: ensure reliable exit status
16533         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
16534         Reported by Bruno Haible.
16535
16536 2011-05-24  Bruno Haible  <bruno@clisp.org>
16537
16538         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
16539         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
16540         gl_PREREQ_STRERROR_R invocations from here...
16541         * modules/strerror_r-posix (configure.ac): ... to here.
16542
16543 2011-05-24  Eric Blake  <eblake@redhat.com>
16544
16545         strerror_r: fix missing header
16546         * lib/strerror_r.c: Avoid compiler warning about snprintf.
16547
16548         strerror_r: fix AIX test failures
16549         * lib/strerror_r.c (strerror_r): Convert silent truncation to
16550         ERANGE failure.
16551
16552         strerror_r: fix Solaris test failures
16553         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
16554         failures.
16555         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
16556
16557         strerror_r: enforce POSIX recommendations
16558         * lib/strerror_r.c (safe_copy): New helper method.
16559         (strerror_r): Guarantee a non-empty string.
16560         * tests/test-strerror_r.c (main): Enhance tests to incorporate
16561         recent POSIX rulings and to match our strerror guarantees.
16562         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
16563
16564 2011-05-24  Jim Meyering  <meyering@redhat.com>
16565
16566         test-perror2.c: avoid warning about unused variable
16567         * tests/test-perror2.c (main): Remove declaration of unused "fp".
16568
16569 2011-05-24  Eric Blake  <eblake@redhat.com>
16570
16571         perror: avoid spurious test failure on HP-UX
16572         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
16573
16574         tests: fix logic bug in init.sh
16575         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
16576         shell.
16577
16578 2011-05-24  Jim Meyering  <meyering@redhat.com>
16579
16580         utimensat: do not reference an out-of-scope buffer
16581         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
16582         declared in an inner scope, yet "times" would be dereferenced outside
16583         the scope in which "ts" was valid.
16584         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
16585         of ts[2] "out/up", so that the use of aliased "times" (via
16586         "times = ts;") does not end up referencing an out-of-scope "ts"
16587
16588         opendir-safer.c: don't clobber errno; don't close negative FD
16589         * lib/opendir-safer.c (opendir_safer):
16590         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
16591         file descriptor, and more importantly, don't clobber the
16592         offending errno value with EINVAL.  Before, upon failure
16593         of dup_safer, we would pass the negative file descriptor to
16594         fdopendir, which would clobber errno.
16595
16596 2011-05-23  Bruno Haible  <bruno@clisp.org>
16597
16598         idcache: Fix module description.
16599         * modules/idcache (Include): Set to "idcache.h".
16600
16601 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
16602
16603         gnulib-tool: fix portability problem with MacOS sed
16604         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
16605         before the "}".  Problem reported by Leo in
16606         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
16607         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
16608         sed_extract_condition1, sed_extract_condition2.
16609
16610 2011-05-23  Bruno Haible  <bruno@clisp.org>
16611
16612         hash: Simplify autoconf macro.
16613         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
16614
16615 2011-05-23  Bruno Haible  <bruno@clisp.org>
16616
16617         getugroups: Fix module description.
16618         * modules/getugroups (Include): Set to "getugroups.h".
16619
16620 2011-05-23  Bruno Haible  <bruno@clisp.org>
16621
16622         linkat: Simplify autoconf macro.
16623         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
16624
16625 2011-05-23  Bruno Haible  <bruno@clisp.org>
16626             Eric Blake  <eblake@redhat.com>
16627
16628         linkat, renameat: Update dependencies.
16629         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
16630         * modules/linkat (Depends-on): Likewise. Remove also readlink,
16631         symlinkat.
16632
16633 2011-05-23  Jim Meyering  <meyering@redhat.com>
16634
16635         maint.mk: more tight_scope improvements
16636         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
16637         (_gl_TS_headers): Define only in if-0'd block.
16638         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
16639         sometimes we must *not* use it.  Adjust uses accordingly.
16640         (sc_tight_scope): Use much simpler grep-based test to determine
16641         whether we skip this rule.
16642
16643         maint.mk: generalize/improve the tight-scope rule
16644         * top/maint.mk: Emit a warning when the test is skipped.
16645         (_gl_TS_dir): Add $(srcdir)/ prefix.
16646         (_gl_TS_function_match): Simplify, rather than trying
16647         to enumerate common types.  Otherwise, it would fail to match an
16648         "extern unsigned char const *" declaration in idutils.
16649         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
16650         a way to support use of that type of macro.
16651         (_gl_TS_var_match): Simplify regexp.
16652         (_gl_TS_obj_files): New configurable variable.
16653         (_gl_TS_headers): Likewise.
16654
16655 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
16656
16657         verify: fix bug when gnulib <assert.h> is also included
16658         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
16659         is defined, not if _GL_STATIC_ASSERT_H is not defined.
16660         Perhaps there's a better way, but this fixes the immediate problem.
16661         Problem reported by Bruno Haible in
16662         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
16663
16664 2011-05-22  Bruno Haible  <bruno@clisp.org>
16665
16666         xgetcwd: Simplify autoconf macro.
16667         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
16668
16669 2011-05-22  Bruno Haible  <bruno@clisp.org>
16670
16671         New module 'mktime-internal'.
16672         * modules/mktime-internal: New file.
16673         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
16674         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
16675         mktime_internal as a C macro if libc has __mktime_internal.
16676         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
16677         conditions.
16678         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
16679
16680 2011-05-22  Bruno Haible  <bruno@clisp.org>
16681
16682         timegm: Correct mktime replacement statements.
16683         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
16684         defining mktime as a C macro. This completes a 2009-07-28 commit.
16685
16686 2011-05-22  Bruno Haible  <bruno@clisp.org>
16687
16688         timegm: Simplify autoconf macro.
16689         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
16690
16691 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
16692
16693         clock-time: change to LGPLv2+.
16694         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
16695         BSD-like but we have no mark for that; this is good enough for now.
16696
16697 2011-05-21  Bruno Haible  <bruno@clisp.org>
16698
16699         strerror_r: Fix comments.
16700         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
16701
16702 2011-05-21  Bruno Haible  <bruno@clisp.org>
16703
16704         relocatable-prog-wrapper: Fix possible link error.
16705         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
16706         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
16707         (gl_FUNC_SETENV): ... to here.
16708         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
16709         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
16710
16711 2011-05-21  Bruno Haible  <bruno@clisp.org>
16712
16713         relocatable-prog-wrapper: Assume strerror() exists.
16714         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
16715         m4/strerror.m4.
16716         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
16717         * lib/relocwrapper.c: Remove mention of strerror module.
16718         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
16719         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
16720         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
16721         C macro.
16722
16723 2011-05-21  Bruno Haible  <bruno@clisp.org>
16724
16725         select: Simplify replacement idiom.
16726         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
16727         Win32 platforms.
16728         * lib/sys_select.in.h (select): Simplify accordingly.
16729         * modules/select (Depends-on): Likewise.
16730
16731 2011-05-21  Bruno Haible  <bruno@clisp.org>
16732
16733         mkdir-p: Simplify autoconf macro.
16734         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
16735         gl_FUNC_LCHOWN.
16736
16737 2011-05-21  Eric Blake  <eblake@redhat.com>
16738
16739         strerror_r: avoid clobbering strerror on cygwin
16740         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
16741         fall back instead to sys_errlist.
16742         * modules/strerror (configure.ac): Add witness.
16743         * tests/test-strerror_r.c (main): Enhance test.
16744         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
16745         * tests/test-perror2.c (main): Free memory before exit.
16746
16747 2011-05-21  Bruno Haible  <bruno@clisp.org>
16748
16749         mkdtemp: Use gnulib naming conventions.
16750         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
16751         * modules/mkdtemp (configure.ac): Update.
16752
16753 2011-05-20  Eric Blake  <eblake@redhat.com>
16754
16755         strerror_r: avoid corrupting errno on Solaris
16756         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
16757         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
16758
16759         strerror_r: avoid compiler warning
16760         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
16761
16762         strerror_r: simplify AIX code
16763         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
16764
16765         test-perror: avoid spurious failure on FreeBSD
16766         * modules/perror-tests (Depends-on): Add strerror, now that
16767         strerror_r no longer pulls it in.
16768
16769 2011-05-20  Bruno Haible  <bruno@clisp.org>
16770
16771         strerror_r-posix: Remove unused dependencies.
16772         * modules/strerror_r-posix (Depends-on): Remove strerror.
16773         Reported by Eric Blake.
16774
16775 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
16776
16777         intprops: remove assumption about A|B representation
16778         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
16779         is a valid integer if both A and B are.  Although this is true for
16780         all known practical hosts, the C standard doesn't guarantee it,
16781         and the code need not assume it.  Also, this change may work around
16782         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
16783         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
16784
16785 2011-05-20  Eric Blake  <eblake@redhat.com>
16786
16787         perror: work around FreeBSD bug
16788         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
16789         is broken.  Move AC_LIBOBJ...
16790         * modules/perror (configure.ac): Here.
16791         * doc/posix-functions/perror.texi (perror): Document this.
16792         * tests/test-perror2.c (main): Enhance test.
16793
16794         test-perror: check for strerror interactions
16795         * tests/macros.h (STREQ): Add macro.
16796         * modules/perror-tests (Files): Add second test.
16797         * tests/test-perror2.c (main): New file.
16798         * doc/posix-functions/perror.texi (perror): Document glibc bug.
16799
16800         test-perror: rewrite to use init script
16801         * modules/perror-tests (Files): Add init.sh.
16802         * tests/test-perror.sh: Use temporary directory.
16803
16804 2011-05-20  Jim Meyering  <meyering@redhat.com>
16805
16806         maint: replace misused "a" with "an"
16807         * doc/intprops.texi: "a integer"
16808         * doc/regex.texi: "a explanation"
16809         * lib/alignof.h: "a object"
16810         * lib/argmatch.h: "a explanation"
16811         * lib/argp-help.c: "a option" and "a OPTION_DOC"
16812         * lib/stdint.in.h: "a integer"
16813         * lib/userspec.c: "a owner"
16814         * doc/gnulib.texi: Fix "a idea", and reword.
16815
16816 2011-05-19  Jim Meyering  <meyering@redhat.com>
16817
16818         maint: correct misuse of "a" and "an"
16819         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
16820         * lib/argp-help.c: "an docum...": s/an/a/
16821         * lib/argp-parse.c: "An vector": s/An/A/
16822         * lib/execute.c: "an native": s/an/a/
16823         * lib/spawn-pipe.c: Likewise.
16824         * lib/gc.h: "an Gc_rc": s/an/a/
16825         * lib/unigbrk.in.h: "an grapheme": s/an/a/
16826         * lib/fts.c: "an stat.st_dev": s/an/a/
16827
16828 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
16829
16830         intprops-tests: work around HP-UX 11.23 cc bug with constants
16831         * tests/test-intprops.c (VERIFY): New macro.
16832         (main): Use it, instead of verify, to work around the compiler bug; see
16833         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
16834
16835         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
16836         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
16837         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
16838         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
16839         (_GL_REMAINDER_OVERFLOW): Use it.
16840
16841         intprops-tests: revert unsigned part of previous change
16842         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
16843         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
16844         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
16845         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
16846
16847 2011-05-19  Bruno Haible  <bruno@clisp.org>
16848
16849         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
16850         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
16851         strerror_r() returned without filling the buffer.
16852         Reported by Eric Blake.
16853
16854 2011-05-19  Eric Blake  <eblake@redhat.com>
16855
16856         strerror_r: guarantee unchanged errno
16857         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
16858         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
16859         failure.
16860         * tests/test-strerror_r.c (main): Enhance test.
16861
16862 2011-05-19  Bruno Haible  <bruno@clisp.org>
16863
16864         strerror_r: Reorder #if blocks.
16865         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
16866         for consistency with the previous commit.
16867
16868 2011-05-19  Bruno Haible  <bruno@clisp.org>
16869
16870         perror: Avoid clobbering the strerror buffer when possible.
16871         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
16872         * lib/strerror.c: Include it.
16873         * modules/strerror (Files): Add lib/strerror-impl.h.
16874         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
16875         (my_strerror): New function, defined through lib/strerror-impl.h.
16876         (perror): Use it instead of strerror.
16877         * modules/perror (Files): Add lib/strerror-impl.h.
16878         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
16879
16880 2011-05-19  Eric Blake  <eblake@redhat.com>
16881
16882         strerror_r: fix on newer cygwin
16883         * lib/strerror_r.c (strerror_r): Cygwin now has
16884         __xpg_strerror_r, use it.
16885
16886 2011-05-19  Bruno Haible  <bruno@clisp.org>
16887
16888         strerror_r: Avoid clobbering the strerror buffer when possible.
16889         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
16890         (sys_nerr, sys_errlist): New declarations.
16891         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
16892         HP-UX, native Win32, IRIX, and 32-bit Solaris.
16893         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
16894
16895 2011-05-19  Bruno Haible  <bruno@clisp.org>
16896
16897         strerror_r: Fix test failure on mingw.
16898         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
16899         EXTEND_STRERROR_R.
16900         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
16901         macros from errno.in.h instead.
16902
16903 2011-05-19  Eric Blake  <eblake@redhat.com>
16904
16905         strerror: relax test for Solaris
16906         * tests/test-strerror.c (main): Permit Solaris behavior.
16907         * tests/test-strerror_r.c (main): Likewise.
16908
16909         strerror: enforce POSIX ruling on strerror(0)
16910         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
16911         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
16912         * lib/strerror_r.c (rpl_strerror_r): Work around it.
16913         * doc/posix-functions/strerror.texi (strerror): Document it.
16914         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
16915         * tests/test-strerror.c (main): Strengthen test.
16916         * tests/test-strerror_r.c (main): Likewise.
16917
16918 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
16919
16920         intprop-tests: port to older and more-pedantic compilers
16921         * modules/intprops-tests (Files): Add tests/macros.h.
16922         * tests/test-intprops.c: Include macros.h.
16923         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
16924         it's no longer documented to expand to an integer constant expression.
16925         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
16926         argument is floating point, as it's no longer documented to expand
16927         to an integer constant expression in that case.
16928         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
16929         compiler bugs reported by Bruno Haible.  See
16930         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
16931         (U0, U1): New constants, to work around the same bugs.  Also,
16932         in tests, use e.g., "(unsigned int) 39" rather than "39u".
16933
16934         intprops: work around C compiler bugs
16935         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
16936         bug in Sun C 5.11 2010/08/13 and other compilers; see
16937         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
16938
16939         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
16940         * doc/intprops.texi (Integer Type Determination): Fix
16941         documentation for TYPE_IS_INTEGER: it returns an constant
16942         expression, not an integer constant expression.  Fix doc for
16943         TYPE_SIGNED: it returns an integer constant expression only if its
16944         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
16945         hardly worth documented that way....)
16946
16947 2011-05-18  Bruno Haible  <bruno@clisp.org>
16948
16949         strerror_r: Avoid clobbering the strerror buffer when possible.
16950         * lib/strerror_r.c (strerror_r): Merge the three implementations.
16951         Handle gnulib defined errno values here. When strerror() returns NULL
16952         or an empty string, return EINVAL.
16953         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
16954         gnulib defined errno values here.
16955         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
16956
16957 2011-05-18  Eric Blake  <eblake@redhat.com>
16958
16959         fnmatch: avoid compiler warning
16960         * lib/fnmatch_loop.c (FCT): Use correct type.
16961         Reported by Matthias Bolte.
16962
16963 2011-05-13  Jim Meyering  <meyering@redhat.com>
16964
16965         maint.mk: three new prohibit_<HDR>_without_use rules
16966         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
16967         (sc_prohibit_stdio-safer_without_use): Likewise.
16968         (sc_prohibit_xfreopen_without_use): Likewise.
16969
16970 2011-05-17  Jim Meyering  <meyering@redhat.com>
16971
16972         announce-gen: fail if the NEWS delta is empty
16973         If there's nothing noteworthy in NEWS, then either you forgot
16974         or you shouldn't be releasing.
16975         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
16976
16977 2011-05-17  Pádraig Brady <P@draigBrady.com>
16978
16979         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
16980         reserved symbols starting with double underscore from the check.
16981
16982 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
16983
16984         intprops: add doc
16985         * doc/intprops.texi: New file, documenting intprops.
16986         * doc/gnulib.texi (Particular Modules): Include it.
16987
16988         verify: add doc to gnulib manual and fix example
16989         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
16990         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
16991         (Compile-time Assertions): Fix example so it can't overflow.
16992
16993 2011-05-17  Jim Meyering  <meyering@redhat.com>
16994
16995         warnings.m4: don't usurp save_CPPFLAGS variable name
16996         * m4/warnings.m4: Prefix local temporary variable name with gl_.
16997
16998         doc: fix typo
16999         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
17000
17001 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
17002             Bruno Haible  <bruno@clisp.org>
17003
17004         doc: Tweak recent change.
17005         * README (Portability guidelines): Tweak new text.
17006         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
17007         Interix 6.1.
17008
17009 2011-05-16  Eric Blake  <eblake@redhat.com>
17010
17011         inttypes: avoid autoconf warning
17012         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
17013         * m4/stdint.m4 (gl_STDINT_H): Likewise.
17014
17015 2011-05-16  Sam Steingold <sds@gnu.org>
17016         and Eric Blake  <eblake@redhat.com>
17017
17018         vc-list-files: accept multiple directory operands
17019         * build-aux/vc-list-files: Iterate over all remaining operands.
17020
17021 2011-05-16  Bruno Haible  <bruno@clisp.org>
17022
17023         Fix confusion regarding deprecated modules.
17024         * modules/calloc (Status, Notice): Mark module as deprecated, not
17025         obsolete.
17026         * modules/fnmatch-posix (Status, Notice): Likewise.
17027         * modules/getdate (Status, Notice): Likewise.
17028         * modules/getopt (Status, Notice): Likewise.
17029         * modules/malloc (Status, Notice): Likewise.
17030         * modules/pipe (Status, Notice): Likewise.
17031         * modules/realloc (Status, Notice): Likewise.
17032         * modules/rename-dest-slash (Status, Notice): Likewise.
17033         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
17034         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
17035         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
17036         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
17037         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
17038
17039 2011-05-16  Bruno Haible  <bruno@clisp.org>
17040
17041         doc: List the target platforms.
17042         * doc/gnulib-intro.texi (Target Platforms): New section.
17043         * doc/gnulib.texi (Introduction): Update menu.
17044         * README (Portability guidelines): Refer to the new section. Update
17045         statement about oldest supported environment. Remove rationale why
17046         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
17047         unportable C89 function.
17048         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
17049         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
17050
17051 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
17052
17053         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
17054
17055 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
17056
17057         intprops-tests: new module
17058         * modules/intprops-tests, tests/test-intprops.c: New files.
17059
17060         intprops: add safe, portable integer overflow checking
17061         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
17062         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
17063         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
17064         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
17065         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
17066         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
17067         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
17068         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
17069         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
17070         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
17071         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
17072
17073 2011-05-12  James Youngman  <jay@gnu.org>
17074
17075         Add a test for glibc's Bugzilla bug #12378.
17076         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
17077         doesn't allow the literal matching of a lone "[" (which is
17078         required by POSIX).
17079         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
17080
17081 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
17082
17083         Sync glibc change fixing Bugzilla bug #12378.
17084         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
17085         beginning and fall back to matching as normal character if the
17086         string ends before the matching ']' is found.  This is what POSIX
17087         requires.
17088
17089 2011-05-13  Eric Blake  <eblake@redhat.com>
17090
17091         getcwd-lgpl: relax test for FreeBSD
17092         * doc/posix-functions/getcwd.texi (getcwd): Document portability
17093         issue.
17094         * tests/test-getcwd-lgpl.c (main): Relax test.
17095         Reported by Matthias Bolte.
17096
17097 2011-05-11  Eric Blake  <eblake@redhat.com>
17098
17099         test-fflush: silence compiler warning
17100         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
17101
17102 2011-05-11  Bruno Haible  <bruno@clisp.org>
17103
17104         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
17105         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
17106         * modules/canonicalize (Depends-on): Add 'nocrash'.
17107         * modules/canonicalize-lgpl (Depends-on): Likewise.
17108         * doc/posix-functions/realpath.texi: Update platforms list.
17109         Reported by Ryan Schmidt <ryandesign@macports.org>.
17110
17111 2011-05-11  Bruno Haible  <bruno@clisp.org>
17112
17113         group-member: Declare function in <unistd.h>.
17114         * lib/unistd.in.h (group_member): New declaration.
17115         * lib/group-member.h: Remove file.
17116         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
17117         * tests/test-unistd-c++.cc: Check signature of group_member.
17118         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
17119         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
17120         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
17121         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
17122         HAVE_GROUP_MEMBER.
17123         * modules/group-member (Files): Remove lib/group-member.h.
17124         (Depends-on): Add unistd. Specify conditions.
17125         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
17126         (Include): Change to <unistd.h>.
17127         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
17128         HAVE_GROUP_MEMBER.
17129         * NEWS: Mention the change.
17130         * lib/euidaccess.c: Don't include group-member.h.
17131
17132 2011-05-11  Bruno Haible  <bruno@clisp.org>
17133
17134         group-member: Document module.
17135         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
17136         module.
17137
17138 2011-05-11  Bruno Haible  <bruno@clisp.org>
17139
17140         fclose: Fix mistake earlier today.
17141         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
17142
17143 2011-05-11  Eric Blake  <eblake@redhat.com>
17144
17145         fclose: preserve fflush errors
17146         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
17147         Reported by Jim Meyering.
17148
17149         bootstrap: support a prereq of 'rpcgen -' on RHEL5
17150         * build-aux/bootstrap (check_versions): When no specific version
17151         is required, merely check that the app produces an exit status
17152         that indicates its existence.
17153
17154         maint.mk: drop redundant check
17155         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
17156         the same but better.
17157
17158 2011-05-11  Bruno Haible  <bruno@clisp.org>
17159
17160         fclose: Fix possible link error.
17161         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
17162         unregister_shadow_fd. Improve comments.
17163         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
17164         Eric Blake.
17165
17166 2011-05-11  Jim Meyering  <meyering@redhat.com>
17167
17168         maint.mk: improve "can not" detection and generalize rule name
17169         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
17170         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
17171         Use the same technique as in sc_prohibit_doubled_word, so that
17172         we recognize "can not" also when the words are separated by a newline.
17173         Suggested by Eric Blake.
17174         (perl_filename_lineno_text_): Define.  Factored out of...
17175         (prohibit_doubled_word_): ...here.  Use the new definition.
17176         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
17177         (prohibit_undesirable_word_seq_RE_): New overridable variable.
17178         (ignore_undesirable_word_sequence_RE_): New overridable variable.
17179
17180 2011-05-10  Eric Blake  <eblake@redhat.com>
17181
17182         fclose: avoid double close race when possible
17183         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
17184         all but WINDOWS_SOCKETS.
17185
17186 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
17187
17188         openat: correct new comment
17189         * lib/openat-proc.c (openat_proc_name): Correct the comment.
17190
17191 2011-05-10  Jim Meyering  <meyering@redhat.com>
17192
17193         openat: add comments
17194         * lib/openat-proc.c (openat_proc_name): Add comments,
17195         mostly from Eric Blake.
17196
17197 2011-05-09  Eric Blake  <eblake@redhat.com>
17198
17199         openat: reduce syscalls in first probe of /proc
17200         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
17201         be a directory.  Simplify the probe for .. bugs.
17202         * modules/openat (Depends-on): Drop same-inode.
17203         Reported by Bastien ROUCARIES.
17204
17205 2011-05-09  Jim Meyering  <meyering@redhat.com>
17206
17207         maint.mk: change semantics/name of tight_scope variables
17208         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
17209         Rename variables to align with semantics that make them more useful.
17210
17211         maint.mk: tweak new rule's name not to impinge
17212         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
17213         (sc_tight_scope): Use new rule name rather than $@-0.
17214
17215         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
17216         * top/maint.mk (sc_tight_scope): New rule.
17217         (sc_tight_scope-0): New rule, ifdef'd out.
17218         (_gl_TS_dir): Default.
17219         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
17220         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
17221
17222 2011-05-09  Simon Josefsson  <simon@josefsson.org>
17223
17224         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
17225         Haible <bruno@clisp.org>.
17226
17227 2011-05-08  Bruno Haible  <bruno@clisp.org>
17228
17229         Comments.
17230         * m4/isnanf.m4: Add comment.
17231         * m4/isnanl.m4: Likewise.
17232
17233 2011-05-08  Bruno Haible  <bruno@clisp.org>
17234
17235         glob: Remove obsolete macro.
17236         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
17237
17238 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
17239
17240         intprops: Sun C 5.11 supports __typeof__
17241         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
17242         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
17243         which is new.
17244         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
17245
17246         intprops: switch to usual gnulib indenting and naming
17247         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
17248         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
17249
17250         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
17251
17252 2011-05-08  Jim Meyering  <meyering@redhat.com>
17253
17254         maint.mk: suppress "Entering/Leaving directory" diag in announcement
17255         * top/maint.mk (release-prep): Use make's --no-print-directory
17256         option when generating the announcement.  This eliminates the
17257         pesky "make[2]: Entering/Leaving directory" diagnostics in the
17258         generated announcement template.
17259
17260 2011-05-08  Bruno Haible  <bruno@clisp.org>
17261
17262         tzset: Fix gettimeofday wrapper on Solaris 2.6.
17263         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
17264         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
17265
17266 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
17267
17268         ignore-value, verify: Omit include files from lib_SOURCES.
17269         * modules/ignore-value, modules/verify (Makefile.am):
17270         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
17271         that leads Automake to duplicate use of am__objects_... variables
17272         in Makefile.in.  See
17273         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
17274
17275 2011-05-07  Bruno Haible  <bruno@clisp.org>
17276
17277         fclose: Simplify autoconf macro.
17278         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
17279         defined.
17280
17281 2011-05-07  Bruno Haible  <bruno@clisp.org>
17282
17283         canonicalize-lgpl: Fix autoconf macro ordering bug.
17284         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
17285         gl_STDLIB_H_DEFAULTS.
17286
17287 2011-05-06  Eric Blake  <eblake@redhat.com>
17288
17289         maintainer-makefile: make sc_po_check easier to tune
17290         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
17291         to probe for strings, such as an alternate location for gnulib.
17292
17293         fclose: guarantee behavior on seekable stdin
17294         * modules/fclose (Depends-on): Add fflush.
17295         * doc/posix-functions/fclose.texi (fclose): Document this.
17296         * tests/test-fclose.c (main): Make test for this unconditional.
17297
17298 2011-05-06  Bruno Haible  <bruno@clisp.org>
17299
17300         fflush, fpurge: Relicense under LGPLv2+.
17301         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
17302         * modules/fpurge (License): Likewise.
17303         With permission from Eric Blake and Jim Meyering.
17304         Suggested by Eric Blake.
17305
17306 2011-05-06  Karl Berry  <karl@gnu.org>
17307
17308         * MODULES.html.sh (func_all_modules): remove exit.
17309
17310 2011-05-06  Jim Meyering  <meyering@redhat.com>
17311
17312         maint.mk: use info-gnu@ as the default only for a stable release
17313         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
17314         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
17315         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
17316         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
17317
17318 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
17319
17320         assert-h: new module, which supports C1X-style static_assert
17321         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
17322         * lib/verify.h: Revamp so that this can be copied into assert.h,
17323         while retaining the ability to use it standalone as before.
17324         Rename private identifiers so as not to encroach on the
17325         standard C namespace, since this is now used by assert.h.
17326         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
17327         the old verify_true.
17328         (_GL_VERIFY_TRUE): New macro, with much of the contents of
17329         the old verify_true.  Use _GL_VERIFY_TYPE.
17330         (_GL_VERIFY): New macro, with much of the contents of the old verify.
17331         (static_assert): New macro, if _GL_STATIC_ASSERT_H
17332         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
17333         defined when this file is copied into the replacement assert.h.
17334         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
17335         and _Static_assert is not built in.
17336         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
17337         defined, and use the new macros mentioned above.
17338         * doc/posix-headers/assert.texi: Document this.
17339
17340 2011-05-05  Bruno Haible  <bruno@clisp.org>
17341
17342         fclose, fflush: Respect rules for use of AC_LIBOBJ.
17343         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
17344         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
17345         gl_REPLACE_FCLOSE here.
17346         * modules/fflush (Depends-on): Remove fclose.
17347         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
17348         combination with module 'fclose'.
17349
17350 2011-05-05  Bruno Haible  <bruno@clisp.org>
17351
17352         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
17353         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
17354         gl_FUNC_FFLUSH.
17355         (gl_FUNC_FFLUSH): Use it.
17356         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
17357         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
17358         gl_REPLACE_FSEEKO here.
17359
17360 2011-05-05  Bruno Haible  <bruno@clisp.org>
17361
17362         tzset: Relicense under LGPL.
17363         * modules/tzset (License): Change to LGPL.
17364         No agreement needed; it's a no-op.
17365
17366         strtoimax, strtoumax: Relicense under LGPL.
17367         * modules/strtoimax (License): Change to LGPL.
17368         * modules/strtoumax (License): Likewise.
17369         With permission from Jim Meyering, Paul Eggert:
17370         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
17371         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
17372
17373         getgroups: Relicense under LGPL.
17374         * modules/getgroups (License): Change to LGPL.
17375         With permission from Jim Meyering, Paul Eggert, Eric Blake:
17376         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
17377         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
17378         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
17379
17380         nanosleep: Relicense under LGPL.
17381         * modules/nanosleep (License): Change to LGPL.
17382         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
17383         Haible:
17384         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
17385         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
17386         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
17387         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
17388
17389         futimens: Relicense under LGPL.
17390         * modules/futimens (License): Change to LGPL.
17391         With permission from Eric Blake:
17392         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
17393
17394         fflush: Relicense under LGPL.
17395         * modules/fflush (License): Change to LGPL.
17396         With permission from Eric Blake, Bruno Haible, Jim Meyering:
17397         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
17398         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
17399         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
17400
17401         tmpfile: Relicense under LGPL.
17402         * modules/tmpfile (License): Change to LGPL.
17403         With permission from Ben Pfaff:
17404         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
17405
17406         isfinite: Relicense under LGPL.
17407         * modules/isfinite (License): Change to LGPL.
17408         With permission from Ben Pfaff, Bruno Haible:
17409         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
17410         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
17411
17412         acosl..tanl: Relicense under LGPL.
17413         * modules/acosl (License): Change to LGPL.
17414         * modules/asinl (License): Likewise.
17415         * modules/atanl (License): Likewise.
17416         * modules/cosl (License): Likewise.
17417         * modules/expl (License): Likewise.
17418         * modules/logl (License): Likewise.
17419         * modules/sinl (License): Likewise.
17420         * modules/sqrtl (License): Likewise.
17421         * modules/tanl (License): Likewise.
17422         Source code originally from glibc and Paolo Bonzini. Agreements:
17423         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
17424         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
17425
17426 2011-05-05  Bruno Haible  <bruno@clisp.org>
17427
17428         signal: Define sighandler_t.
17429         * lib/signal.in.h (sighandler_t): New type.
17430         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
17431         whether sighandler_t is defined.
17432         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
17433         * modules/signal (Depends-on): Add extensions.
17434         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
17435         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
17436         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
17437
17438 2011-05-05  Eric Blake  <eblake@redhat.com>
17439
17440         maint: remove useless REPLACE_*_H macros
17441         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
17442         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
17443         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
17444         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
17445         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
17446         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
17447         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
17448         * m4/btowc.m4: Update callers.
17449         * m4/dirfd.m4: Likewise.
17450         * m4/duplocale.m4: Likewise.
17451         * m4/fchdir.m4: Likewise.
17452         * m4/fdopendir.m4: Likewise.
17453         * m4/inet_ntop.m4: Likewise.
17454         * m4/inet_pton.m4: Likewise.
17455         * m4/ioctl.m4: Likewise.
17456         * m4/mbrlen.m4: Likewise.
17457         * m4/mbrtowc.m4: Likewise.
17458         * m4/mbsinit.m4: Likewise.
17459         * m4/mbsnrtowcs.m4: Likewise.
17460         * m4/mbsrtowcs.m4: Likewise.
17461         * m4/poll.m4: Likewise.
17462         * m4/setlocale.m4: Likewise.
17463         * m4/wcrtomb.m4: Likewise.
17464         * m4/wcsnrtombs.m4: Likewise.
17465         * m4/wcsrtombs.m4: Likewise.
17466         * m4/wctob.m4: Likewise.
17467         * m4/wcwidth.m4: Likewise.
17468         * modules/posix_spawn: Likewise.
17469         * modules/posix_spawn_file_actions_addclose: Likewise.
17470         * modules/posix_spawn_file_actions_adddup2: Likewise.
17471         * modules/posix_spawn_file_actions_addopen: Likewise.
17472         * modules/posix_spawn_file_actions_destroy: Likewise.
17473         * modules/posix_spawn_file_actions_init: Likewise.
17474         * modules/posix_spawnattr_destroy: Likewise.
17475         * modules/posix_spawnattr_getflags: Likewise.
17476         * modules/posix_spawnattr_getpgroup: Likewise.
17477         * modules/posix_spawnattr_getschedparam: Likewise.
17478         * modules/posix_spawnattr_getschedpolicy: Likewise.
17479         * modules/posix_spawnattr_getsigdefault: Likewise.
17480         * modules/posix_spawnattr_getsigmask: Likewise.
17481         * modules/posix_spawnattr_init: Likewise.
17482         * modules/posix_spawnattr_setflags: Likewise.
17483         * modules/posix_spawnattr_setpgroup: Likewise.
17484         * modules/posix_spawnattr_setschedparam: Likewise.
17485         * modules/posix_spawnattr_setschedpolicy: Likewise.
17486         * modules/posix_spawnattr_setsigdefault: Likewise.
17487         * modules/posix_spawnattr_setsigmask: Likewise.
17488         * modules/posix_spawnp: Likewise.
17489
17490 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
17491
17492         Add option to do-release-commit-and-tag to specify branch.
17493         * build-aux/do-release-commit-and-tag: Add --branch.
17494
17495 2011-05-03  Bruno Haible  <bruno@clisp.org>
17496
17497         Avoid unnecessary compilation units, through conditional dependencies.
17498         * modules/accept (Depends-on): Add conditions to the dependencies.
17499         * modules/acosl (Depends-on): Likewise.
17500         * modules/argz (Depends-on): Likewise.
17501         * modules/asinl (Depends-on): Likewise.
17502         * modules/atanl (Depends-on): Likewise.
17503         * modules/atoll (Depends-on): Likewise.
17504         * modules/bind (Depends-on): Likewise.
17505         * modules/btowc (Depends-on): Likewise.
17506         * modules/canonicalize-lgpl (Depends-on): Likewise.
17507         * modules/ceil (Depends-on): Likewise.
17508         * modules/ceilf (Depends-on): Likewise.
17509         * modules/ceill (Depends-on): Likewise.
17510         * modules/chdir-long (Depends-on): Likewise.
17511         * modules/chown (Depends-on): Likewise.
17512         * modules/close (Depends-on): Likewise.
17513         * modules/connect (Depends-on): Likewise.
17514         * modules/cosl (Depends-on): Likewise.
17515         * modules/dirfd (Depends-on): Likewise.
17516         * modules/dprintf (Depends-on): Likewise.
17517         * modules/dprintf-posix (Depends-on): Likewise.
17518         * modules/error (Depends-on): Likewise.
17519         * modules/euidaccess (Depends-on): Likewise.
17520         * modules/expl (Depends-on): Likewise.
17521         * modules/faccessat (Depends-on): Likewise.
17522         * modules/fchdir (Depends-on): Likewise.
17523         * modules/fclose (Depends-on): Likewise.
17524         * modules/fcntl (Depends-on): Likewise.
17525         * modules/fdopendir (Depends-on): Likewise.
17526         * modules/fflush (Depends-on): Likewise.
17527         * modules/floor (Depends-on): Likewise.
17528         * modules/floorf (Depends-on): Likewise.
17529         * modules/floorl (Depends-on): Likewise.
17530         * modules/fnmatch (Depends-on): Likewise.
17531         * modules/fopen (Depends-on): Likewise.
17532         * modules/fprintf-posix (Depends-on): Likewise.
17533         * modules/frexp (Depends-on): Likewise.
17534         * modules/frexp-nolibm (Depends-on): Likewise.
17535         * modules/frexpl (Depends-on): Likewise.
17536         * modules/frexpl-nolibm (Depends-on): Likewise.
17537         * modules/fseek (Depends-on): Likewise.
17538         * modules/fsusage (Depends-on): Likewise.
17539         * modules/ftell (Depends-on): Likewise.
17540         * modules/ftello (Depends-on): Likewise.
17541         * modules/futimens (Depends-on): Likewise.
17542         * modules/getcwd (Depends-on): Likewise.
17543         * modules/getcwd-lgpl (Depends-on): Likewise.
17544         * modules/getdelim (Depends-on): Likewise.
17545         * modules/getdomainname (Depends-on): Likewise.
17546         * modules/getgroups (Depends-on): Likewise.
17547         * modules/gethostname (Depends-on): Likewise.
17548         * modules/getline (Depends-on): Likewise.
17549         * modules/getlogin_r (Depends-on): Likewise.
17550         * modules/getopt-posix (Depends-on): Likewise.
17551         * modules/getpeername (Depends-on): Likewise.
17552         * modules/getsockname (Depends-on): Likewise.
17553         * modules/getsockopt (Depends-on): Likewise.
17554         * modules/getsubopt (Depends-on): Likewise.
17555         * modules/getusershell (Depends-on): Likewise.
17556         * modules/glob (Depends-on): Likewise.
17557         * modules/grantpt (Depends-on): Likewise.
17558         * modules/iconv_open (Depends-on): Likewise.
17559         * modules/iconv_open-utf (Depends-on): Likewise.
17560         * modules/inet_ntop (Depends-on): Likewise.
17561         * modules/inet_pton (Depends-on): Likewise.
17562         * modules/ioctl (Depends-on): Likewise.
17563         * modules/isapipe (Depends-on): Likewise.
17564         * modules/isfinite (Depends-on): Likewise.
17565         * modules/isinf (Depends-on): Likewise.
17566         * modules/lchown (Depends-on): Likewise.
17567         * modules/ldexpl (Depends-on): Likewise.
17568         * modules/link (Depends-on): Likewise.
17569         * modules/linkat (Depends-on): Likewise.
17570         * modules/listen (Depends-on): Likewise.
17571         * modules/logl (Depends-on): Likewise.
17572         * modules/lstat (Depends-on): Likewise.
17573         * modules/mbrlen (Depends-on): Likewise.
17574         * modules/mbrtowc (Depends-on): Likewise.
17575         * modules/mbsinit (Depends-on): Likewise.
17576         * modules/mbsnrtowcs (Depends-on): Likewise.
17577         * modules/mbsrtowcs (Depends-on): Likewise.
17578         * modules/mbtowc (Depends-on): Likewise.
17579         * modules/memcmp (Depends-on): Likewise.
17580         * modules/mkdir (Depends-on): Likewise.
17581         * modules/mkdtemp (Depends-on): Likewise.
17582         * modules/mkfifo (Depends-on): Likewise.
17583         * modules/mkfifoat (Depends-on): Likewise.
17584         * modules/mknod (Depends-on): Likewise.
17585         * modules/mkostemp (Depends-on): Likewise.
17586         * modules/mkostemps (Depends-on): Likewise.
17587         * modules/mkstemp (Depends-on): Likewise.
17588         * modules/mkstemps (Depends-on): Likewise.
17589         * modules/mktime (Depends-on): Likewise.
17590         * modules/nanosleep (Depends-on): Likewise.
17591         * modules/open (Depends-on): Likewise.
17592         * modules/openat (Depends-on): Likewise.
17593         * modules/perror (Depends-on): Likewise.
17594         * modules/poll (Depends-on): Likewise.
17595         * modules/popen (Depends-on): Likewise.
17596         * modules/posix_spawn (Depends-on): Likewise.
17597         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
17598         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
17599         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
17600         * modules/posix_spawnp (Depends-on): Likewise.
17601         * modules/pread (Depends-on): Likewise.
17602         * modules/printf-posix (Depends-on): Likewise.
17603         * modules/ptsname (Depends-on): Likewise.
17604         * modules/putenv (Depends-on): Likewise.
17605         * modules/pwrite (Depends-on): Likewise.
17606         * modules/readline (Depends-on): Likewise.
17607         * modules/readlink (Depends-on): Likewise.
17608         * modules/readlinkat (Depends-on): Likewise.
17609         * modules/recv (Depends-on): Likewise.
17610         * modules/recvfrom (Depends-on): Likewise.
17611         * modules/regex (Depends-on): Likewise.
17612         * modules/remove (Depends-on): Likewise.
17613         * modules/rename (Depends-on): Likewise.
17614         * modules/renameat (Depends-on): Likewise.
17615         * modules/rmdir (Depends-on): Likewise.
17616         * modules/round (Depends-on): Likewise.
17617         * modules/roundf (Depends-on): Likewise.
17618         * modules/roundl (Depends-on): Likewise.
17619         * modules/rpmatch (Depends-on): Likewise.
17620         * modules/select (Depends-on): Likewise.
17621         * modules/send (Depends-on): Likewise.
17622         * modules/sendto (Depends-on): Likewise.
17623         * modules/setenv (Depends-on): Likewise.
17624         * modules/setlocale (Depends-on): Likewise.
17625         * modules/setsockopt (Depends-on): Likewise.
17626         * modules/shutdown (Depends-on): Likewise.
17627         * modules/sigaction (Depends-on): Likewise.
17628         * modules/signbit (Depends-on): Likewise.
17629         * modules/sigprocmask (Depends-on): Likewise.
17630         * modules/sinl (Depends-on): Likewise.
17631         * modules/sleep (Depends-on): Likewise.
17632         * modules/snprintf (Depends-on): Likewise.
17633         * modules/snprintf-posix (Depends-on): Likewise.
17634         * modules/socket (Depends-on): Likewise.
17635         * modules/sprintf-posix (Depends-on): Likewise.
17636         * modules/sqrtl (Depends-on): Likewise.
17637         * modules/stat (Depends-on): Likewise.
17638         * modules/strchrnul (Depends-on): Likewise.
17639         * modules/strdup-posix (Depends-on): Likewise.
17640         * modules/strerror (Depends-on): Likewise.
17641         * modules/strerror_r-posix (Depends-on): Likewise.
17642         * modules/strndup (Depends-on): Likewise.
17643         * modules/strnlen (Depends-on): Likewise.
17644         * modules/strptime (Depends-on): Likewise.
17645         * modules/strsep (Depends-on): Likewise.
17646         * modules/strsignal (Depends-on): Likewise.
17647         * modules/strstr-simple (Depends-on): Likewise.
17648         * modules/strtod (Depends-on): Likewise.
17649         * modules/strtoimax (Depends-on): Likewise.
17650         * modules/strtok_r (Depends-on): Likewise.
17651         * modules/strtoumax (Depends-on): Likewise.
17652         * modules/symlink (Depends-on): Likewise.
17653         * modules/symlinkat (Depends-on): Likewise.
17654         * modules/tanl (Depends-on): Likewise.
17655         * modules/tcgetsid (Depends-on): Likewise.
17656         * modules/tmpfile (Depends-on): Likewise.
17657         * modules/trunc (Depends-on): Likewise.
17658         * modules/truncf (Depends-on): Likewise.
17659         * modules/truncl (Depends-on): Likewise.
17660         * modules/uname (Depends-on): Likewise.
17661         * modules/unlink (Depends-on): Likewise.
17662         * modules/unlockpt (Depends-on): Likewise.
17663         * modules/unsetenv (Depends-on): Likewise.
17664         * modules/usleep (Depends-on): Likewise.
17665         * modules/utimensat (Depends-on): Likewise.
17666         * modules/vasprintf (Depends-on): Likewise.
17667         * modules/vdprintf (Depends-on): Likewise.
17668         * modules/vdprintf-posix (Depends-on): Likewise.
17669         * modules/vfprintf-posix (Depends-on): Likewise.
17670         * modules/vprintf-posix (Depends-on): Likewise.
17671         * modules/vsnprintf (Depends-on): Likewise.
17672         * modules/vsnprintf-posix (Depends-on): Likewise.
17673         * modules/vsprintf-posix (Depends-on): Likewise.
17674         * modules/wcrtomb (Depends-on): Likewise.
17675         * modules/wcscasecmp (Depends-on): Likewise.
17676         * modules/wcscspn (Depends-on): Likewise.
17677         * modules/wcsdup (Depends-on): Likewise.
17678         * modules/wcsncasecmp (Depends-on): Likewise.
17679         * modules/wcsnrtombs (Depends-on): Likewise.
17680         * modules/wcspbrk (Depends-on): Likewise.
17681         * modules/wcsrtombs (Depends-on): Likewise.
17682         * modules/wcsspn (Depends-on): Likewise.
17683         * modules/wcsstr (Depends-on): Likewise.
17684         * modules/wcstok (Depends-on): Likewise.
17685         * modules/wcswidth (Depends-on): Likewise.
17686         * modules/wctob (Depends-on): Likewise.
17687         * modules/wctomb (Depends-on): Likewise.
17688         * modules/wctype (Depends-on): Likewise.
17689         * modules/wcwidth (Depends-on): Likewise.
17690         * modules/write (Depends-on): Likewise.
17691
17692 2011-05-03  Bruno Haible  <bruno@clisp.org>
17693
17694         Support for conditional dependencies.
17695         * doc/gnulib.texi (Module description): Document the syntax of
17696         conditional dependencies.
17697         * gnulib-tool: New option --conditional-dependencies.
17698         (func_usage): Document it.
17699         (cond_dependencies): New variable.
17700         (func_get_automake_snippet_conditional,
17701         func_get_automake_snippet_unconditional): New functions, extracted from
17702         func_get_automake_snippet.
17703         (func_get_automake_snippet): Use them.
17704         (sed_first_32_chars): New variable.
17705         (func_module_shellfunc_name): New function.
17706         (func_module_shellvar_name): New function.
17707         (func_module_conditional_name): New function.
17708         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
17709         func_cond_module_condition): New functions.
17710         (func_modules_transitive_closure): Add support for conditional
17711         dependencies.
17712         (func_emit_lib_Makefile_am): For a conditional module, enclose the
17713         conditional automake snippet in an automake conditional.
17714         (func_emit_autoconf_snippets): Emit shell functions that contain the
17715         code for conditional modules.
17716         (func_import, func_create_testdir): Update specification.
17717
17718 2011-05-03  Eric Blake  <eblake@redhat.com>
17719
17720         test-getaddrinfo: report error information
17721         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
17722
17723 2011-05-03  Jim Meyering  <meyering@redhat.com>
17724
17725         bootstrap: avoid build failure when $GZIP is set
17726         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
17727         program name.  If defined at all, it is supposed to list gzip options.
17728         Reported by Alan Curry in http://debbugs.gnu.org/8609
17729
17730 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
17731
17732         readme-release: new module with release instructions
17733         * modules/readme-release: New module.
17734         * top/README-release: New file, from coreutils, grep, diffutils.
17735         * MODULES.html.sh (Support for maintaining and releasing): Add it.
17736
17737 2011-05-02  Eric Blake  <eblake@redhat.com>
17738
17739         fflush: also replace fclose when fixing fflush
17740         * modules/fflush (Depends-on): Add fclose.
17741         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
17742         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
17743         memstreams with no backing fd.
17744         * doc/posix-functions/fclose.texi (fclose): Document the use of
17745         fflush module to fix the bug.
17746         * tests/test-fclose.c (main): Relax test when fclose is used in
17747         isolation.
17748
17749         fclose: add some tests
17750         * modules/fclose-tests: New test module.
17751         * tests/test-fclose.c: New file.
17752         * doc/posix-functions/fclose.texi (fclose): Document the bug.
17753
17754         fclose: reduced dependencies
17755         * modules/fclose (Depends-on): Switch from fflush/fseeko to
17756         simpler lseek.
17757         * lib/fclose.c (rpl_fclose): Likewise.
17758         Reported by Simon Josefsson.
17759
17760         exit: drop remaining clients
17761         * modules/argmatch (Depends-on): Replace exit with stdlib.
17762         * modules/copy-file (Depends-on): Likewise.
17763         * modules/execute (Depends-on): Likewise.
17764         * modules/exitfail (Depends-on): Likewise.
17765         * modules/obstack (Depends-on): Likewise.
17766         * modules/pagealign_alloc (Depends-on): Likewise.
17767         * modules/pipe-filter-gi (Depends-on): Likewise.
17768         * modules/pipe-filter-ii (Depends-on): Likewise.
17769         * modules/savewd (Depends-on): Likewise.
17770         * modules/spawn-pipe (Depends-on): Likewise.
17771         * modules/wait-process (Depends-on): Likewise.
17772         * modules/xsetenv (Depends-on): Likewise.
17773         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
17774         * modules/git-merge-changelog (Depends-on): Likewise.
17775         * modules/long-options (Depends-on): Likewise.
17776         * modules/pt_chown (Depends-on): Likewise.
17777         * modules/sysexits (Depends-on): Likewise.
17778
17779         freading: relax license from LGPLv3+ to LGPLv2+
17780         * modules/freading (License): Relax LGPL version.
17781
17782 2011-05-02  Bruno Haible  <bruno@clisp.org>
17783
17784         fchdir: Remove unused dependencies.
17785         * modules/fchdir (Depends-on): Remove include_next.
17786
17787 2011-05-02  Bruno Haible  <bruno@clisp.org>
17788
17789         gnulib-tool: Refactor.
17790         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
17791         from func_emit_autoconf_snippets.
17792         (func_emit_autoconf_snippets): Use it.
17793
17794 2011-05-02  Simon Josefsson  <simon@josefsson.org>
17795
17796         * NEWS: Document removal of 'exit'.
17797         * modules/exit: Remove file.
17798
17799 2011-05-01  Bruno Haible  <bruno@clisp.org>
17800
17801         Update DEPENDENCIES.
17802         * DEPENDENCIES (gettext): Recommend the newest release.
17803         Reported by Simon Josefsson.
17804
17805 2011-05-01  Bruno Haible  <bruno@clisp.org>
17806
17807         gnulib-tool: Reduce code duplication.
17808         * gnulib-tool (func_emit_autoconf_snippets): New function.
17809         (func_import, func_create_testdir): Use it.
17810
17811 2011-04-30  Eric Blake  <eblake@redhat.com>
17812
17813         fclose: don't fail on non-seekable input stream
17814         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
17815         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
17816         since fflush is allowed to fail in that case.
17817
17818 2011-04-30  Bruno Haible  <bruno@clisp.org>
17819
17820         dup3: cleanup
17821         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
17822
17823 2011-04-30  Bruno Haible  <bruno@clisp.org>
17824
17825         netdb: Make it work in C++ mode.
17826         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
17827         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
17828         module.
17829         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
17830         gl_MODULE_INDICATOR_FOR_TESTS.
17831         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
17832         * modules/netdb-c++-tests: New file.
17833         * tests/test-netdb-c++.cc: New file.
17834
17835 2011-04-30  Bruno Haible  <bruno@clisp.org>
17836
17837         New modules 'vfscanf', 'vscanf'.
17838         * modules/vfscanf: New file.
17839         * modules/vscanf: New file.
17840         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
17841         here.
17842         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
17843         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
17844
17845 2011-04-30  Bruno Haible  <bruno@clisp.org>
17846
17847         passfd: Add comments.
17848         * lib/passfd.c: Add comments about platforms.
17849
17850 2011-04-30  Bruno Haible  <bruno@clisp.org>
17851
17852         sys_uio: Make <sys/uio.h> self-contained.
17853         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
17854         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
17855
17856 2011-04-30  Bruno Haible  <bruno@clisp.org>
17857
17858         sys_socket: Ensure 'struct iovec' definition.
17859         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
17860         <sys/socket.h>.
17861         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
17862
17863 2011-04-30  Bruno Haible  <bruno@clisp.org>
17864
17865         sys_uio: Protect definition of 'struct iovec'.
17866         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
17867         it as a C struct.
17868
17869 2011-04-30  Bruno Haible  <bruno@clisp.org>
17870
17871         manywarnings: fix indentation
17872         * m4/manywarnings.m4: Indent by 2 spaces consistently.
17873
17874 2011-04-30  Pádraig Brady <P@draigBrady.com>
17875
17876         manywarnings: add -Wno-missing-field-initializers if needed.
17877         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
17878         option if it's needed to allow initialization with { 0, }
17879
17880 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
17881
17882         announce-gen: cosmetic improvement
17883         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
17884
17885 2011-04-29  Jim Meyering  <meyering@redhat.com>
17886
17887         vc-list-files: indent with spaces, not TABs
17888         * build-aux/vc-list-files: Convert leading TABs to spaces,
17889         to match the style of most other files in gnulib.
17890
17891         announce-gen: indent with spaces, not TABs
17892         * build-aux/announce-gen: Convert all TABs to spaces, to match
17893         the style of most other files in gnulib.
17894
17895 2011-04-29  Eric Blake  <eblake@redhat.com>
17896
17897         quotearg: avoid uninitialized variable use
17898         * lib/quotearg.c (quoting_options_from_style): Initialize
17899         remaining fields, and ensure that custom styles are only used via
17900         quoting_options rather than quoting_style.
17901
17902 2011-04-29  Jim Meyering  <meyering@redhat.com>
17903
17904         maint.mk: remove unused VC-tag variable
17905         * top/maint.mk (VC-tag): Remove unused variable.
17906
17907 2011-04-29  Bruno Haible  <bruno@clisp.org>
17908
17909         netdb: fix gai_strerror replacements
17910         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
17911         * modules/netdb: Substitute it.
17912
17913 2011-04-29  Jim Meyering  <meyering@redhat.com>
17914
17915         test-getcwd.c: avoid new set-but-not-used warning
17916         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
17917         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
17918         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
17919         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
17920
17921         test-hash.c: avoid a new shadowing warning
17922         * tests/test-hash.c (main): Don't shadow "dup".
17923
17924 2011-04-28  Eric Blake  <eblake@redhat.com>
17925
17926         getaddrinfo: fix gai_strerror signature
17927         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
17928         and work around mingw with UNICODE defined.
17929         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
17930         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
17931         * modules/netdb (Makefile.am): Substitute it.
17932         * lib/netdb.in.h (gai_strerror): Declare replacement.
17933         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
17934         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
17935         the fix.
17936
17937         getsockopt: avoid compiler warning
17938         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
17939         Reported by Matthias Bolte.
17940
17941         tests: drop unused link dependency
17942         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
17943         * modules/dirent-safer-tests (Makefile.am): Likewise.
17944         * modules/fdopendir-tests (Makefile.am): Likewise.
17945         * modules/mkfifoat-tests (Makefile.am): Likewise.
17946         * modules/openat-safer-tests (Makefile.am): Likewise.
17947         * modules/openat-tests (Makefile.am): Likewise.
17948         * modules/readlinkat-tests (Makefile.am): Likewise.
17949         * modules/symlinkat-tests (Makefile.am): Likewise.
17950         * modules/linkat-tests (Makefile.am): Likewise.
17951         (Depends-on): Switch to filenamecat-lgpl.
17952         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
17953         LIBINTL.
17954         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
17955         * tests/test-linkat.c (main): Don't require xalloc.
17956
17957         hash, mgetgroups: drop xalloc dependency
17958         * lib/hash.c (includes): Adjust includes.
17959         * lib/mgetgroups.c (includes): Likewise.
17960         (xgetgroups): Move...
17961         * lib/xgetgroups.c: ...to new file.
17962         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
17963         * modules/xgetgroups: New file, split from...
17964         * modules/mgetgroups: ...here.
17965         (Depends-on): Add xalloc-oversized.
17966         * modules/hash (Depends-on): Likewise.
17967         * modules/hash-tests (Depends-on): Drop xalloc.
17968         (test_hash_LDADD): Drop unused library.
17969         * tests/test-hash.c (main): Break xalloc dependency.
17970         (includes): Drop unused include.
17971
17972         xalloc-oversized: new module
17973         * modules/xalloc-oversized: New module.
17974         * modules/xalloc (Depends-on): Add it.
17975         * lib/xalloc.h (xalloc_oversized): Move...
17976         * lib/xalloc-oversized.h: ...into new file.
17977
17978         utimecmp: drop dependency on xmalloc
17979         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
17980         due to memory pressure.
17981         * modules/utimecmp (Depends-on): Drop xalloc.
17982
17983 2011-04-27  Eric Blake  <eblake@redhat.com>
17984
17985         getcwd: fix mingw bugs
17986         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
17987         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
17988         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
17989
17990 2011-04-27  Bruno Haible  <bruno@clisp.org>
17991
17992         mkstemps: Ensure declaration on MacOS X 10.5.
17993         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
17994         * doc/glibc-functions/mkstemps.texi: Document header file problem on
17995         MacOS X.
17996
17997 2011-04-27  Bruno Haible  <bruno@clisp.org>
17998
17999         mkstemp: More documentation.
18000         * doc/posix-functions/mkstemp.texi: Document header file problem on
18001         MacOS X.
18002
18003 2011-04-27  Bruno Haible  <bruno@clisp.org>
18004
18005         mkstemp: Tweak configure message when cross-compiling.
18006         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
18007         result as a guess.
18008
18009 2011-04-27  Bruno Haible  <bruno@clisp.org>
18010
18011         clean-temp: Clarify what it does.
18012         * lib/clean-temp.h: Add more comments.
18013         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
18014         module.
18015         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
18016         * doc/glibc-functions/mkstemps.texi: Likewise.
18017         * doc/glibc-functions/mkostemps.texi: Likewise.
18018
18019 2011-04-27  Eric Blake  <eblake@redhat.com>
18020
18021         fchdir: avoid extra chdir and fix test
18022         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
18023         getcwd-lgpl.
18024         * lib/fchdir.c (get_name): Any absolute name will do; it does not
18025         have to be canonical.
18026         (canonicalize_file_name): Drop unused macro.
18027         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
18028
18029         filenamecat-lgpl: fix licence
18030         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
18031         when it was first created.
18032
18033         linkat, renameat: add missing dependency
18034         * modules/linkat (Depends-on): Require getcwd-lgpl.
18035         * modules/renameat (Depends-on): Likewise.
18036
18037         tests: reduce dependencies
18038         * tests/test-linkat.c (main): Use lighter-weight getcwd.
18039         * tests/test-renameat.c (main): Likewise.
18040         * modules/linkat-tests (Depends-on): Relax dependency.
18041         * modules/renameat-tests (Depends-on): Likewise.
18042         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
18043         dependency explicit.
18044
18045         save-cwd: reduce default dependency
18046         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
18047         * lib/save-cwd.c: Update comments.
18048         * NEWS: Document the semantic change.
18049
18050         getcwd: enhance tests
18051         * tests/test-getcwd-lgpl.c: New file, taken from...
18052         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
18053         repeat long path stress tests from m4 probe.
18054         * modules/getcwd-lgpl-tests: New module.
18055         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
18056         * m4/getcwd-abort-bug.m4: Update comment.
18057         * m4/getcwd-path-max.m4: Likewise.
18058
18059         getcwd-lgpl: new module
18060         * modules/getcwd-lgpl: New module.
18061         * lib/getcwd-lgpl.c: New file.
18062         * doc/posix-functions/getcwd.texi (getcwd): Document it.
18063         * MODULES.html.sh (lacking POSIX:2008): Likewise.
18064         * modules/getcwd (configure.ac): Set C witness.
18065         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
18066
18067         getcwd: tweak comments
18068         * m4/getcwd-abort-bug.m4: Fix comments.
18069         * m4/getcwd-path-max.m4: Likewise.
18070         * m4/getcwd.m4: Likewise.
18071
18072 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
18073         and Eric Blake  <eblake@redhat.com>
18074
18075         mkstemp: replace if system version uses wrong permissions
18076         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
18077         read/write mode bits set in file created by mkstemp.
18078         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
18079
18080 2011-04-27  Eric Blake  <eblake@redhat.com>
18081
18082         passfd: avoid compiler warning
18083         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
18084         Reported by Laine Stump.
18085
18086 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
18087
18088         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
18089         required by the NetBSD (and perhaps other 4.4BSD derived) join.
18090
18091 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
18092         and Eric Blake  <eblake@redhat.com>
18093
18094         mkstemp: mention clean-temp module
18095         * lib/mkstemp.c: Add comment.
18096         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
18097
18098 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
18099
18100         inttypes: also provide default values for 32-bit tests
18101         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
18102         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
18103
18104 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
18105
18106         strtoumax: remove dependency on strtoimax
18107         This is like the strtoull change of yesterday.
18108         * modules/strtoumax (Files): Add lib/strtoimax.c.
18109         (Depends-on): Remove strtoimax and add verify.
18110
18111         inttypes-incomplete: new module
18112         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
18113         all but the PRI* and SCN* parts of gl_INTTYPES_H.
18114         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
18115         of gl_INTTYPES_H.
18116         (gl_INTTYPES_H): Rewrite in terms of these new macros.
18117         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
18118         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
18119         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
18120         * modules/strtoumax, modules/xstrtol (Depends-on):
18121         Depend on inttypes-incomplete, not inttypes.
18122         * modules/inttypes-incomplete: New module, containing the contents
18123         of the old modules/inttypes module, except that the Files: section
18124         omits m4/inttypes-pri.m4, and the configure.ac section invokes
18125         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
18126         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
18127         (Depends-on): Depend only on inttypes-incomplete.
18128         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
18129
18130         inttypes: omit now-redundant strtoimax and strtoumax work
18131         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
18132         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
18133
18134         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
18135         This supports apps that need pointers to strtoimax and strtoumax,
18136         and ports to HP-UX 11.00 64.bit, which has macros that expand to
18137         nonexistent functions.  See
18138         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
18139         et seq.
18140         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
18141         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
18142         a macro.
18143         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
18144
18145 2011-04-25  Simon Josefsson  <simon@josefsson.org>
18146
18147         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
18148
18149 2011-04-25  Bruno Haible  <bruno@clisp.org>
18150
18151         strtol, strtoul: Mark modules as obsolete.
18152         * modules/strtol (Status, Notice): New sections.
18153         * modules/strtoul (Status, Notice): New sections.
18154
18155 2011-04-25  Bruno Haible  <bruno@clisp.org>
18156
18157         strtod: Remove check for strtod, unless supporting old platforms.
18158         * modules/strtod-obsolete: New file.
18159         * m4/strtod-obsolete.m4: New file.
18160         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
18161         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
18162         * modules/strtod (Depends-on): Add strtod-obsolete.
18163         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
18164
18165 2011-04-25  Bruno Haible  <bruno@clisp.org>
18166
18167         strcase: Make module obsolete.
18168         * modules/strcase (Status, Notice): New sections.
18169
18170 2011-04-25  Bruno Haible  <bruno@clisp.org>
18171
18172         dup2: Remove check for dup2, unless supporting old obsolete platforms.
18173         * modules/dup2-obsolete: New file.
18174         * m4/dup2-obsolete.m4: New file.
18175         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
18176         gl_FUNC_DUP2_OBSOLETE is not also defined.
18177         * modules/dup2 (Depends-on): Add dup2-obsolete.
18178         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
18179
18180 2011-04-25  Bruno Haible  <bruno@clisp.org>
18181
18182         strnlen: Avoid memchr related link error on old obsolete platforms.
18183         * modules/memchr-obsolete: New file.
18184         * m4/memchr-obsolete.m4: New file.
18185         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
18186         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
18187         * modules/memchr (Depends-on): Add memchr-obsolete.
18188         * modules/strnlen (Depends-on): Likewise.
18189         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
18190
18191 2011-04-25  Jim Meyering  <meyering@redhat.com>
18192
18193         maint.mk: makefile_at_at_check extend and clean up
18194         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
18195         in addition to */Makefile.am.
18196         Exempt legitimate uses of @VAR@ notation, e.g.,
18197         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
18198         Remove obsolete coreutils-specific comment.
18199         Prompted by discussion here:
18200         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
18201
18202 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
18203
18204         strtoul: remove dependency on strtol
18205         This is so that 'configure' need not check for strtol merely because
18206         the application needs strtoul.
18207         * modules/strtoul (Files): Add lib/strtol.c.
18208         (Depends-on): Remove strtol.
18209
18210         strtoull: remove dependency on strtoul
18211         This is like the strtoll change.
18212         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
18213         (Depends-on): Remove strtoul.
18214
18215         strtoll: remove dependency on strtol
18216         This is so that 'configure' need not check for strtol merely because
18217         the application needs strtoll.
18218         * modules/strtoll (Files): Add lib/strtol.c.
18219         (Depends-on): Remove strtol.
18220
18221 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
18222
18223         inttypes: Move some configure check to module 'imaxdiv'.
18224         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
18225         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
18226         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
18227
18228 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
18229
18230         inttypes: Move some configure check to module 'imaxabs'.
18231         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
18232         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
18233         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
18234
18235 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
18236
18237         inttypes: Remove configure tests that are not needed since 2009-12-31.
18238         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
18239         gl_cv_header_working_inttypes_h.
18240
18241 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
18242
18243         * modules/strnlen (Depends-on): Remove memchr.
18244         The strnlen implementation doesn't need the memchr module's fixes; see
18245         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
18246
18247         strtol: remove dependency on wchar
18248         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
18249         * modules/strtol (Depends-on): Remove wchar.
18250
18251 2011-04-21  Eric Blake  <eblake@redhat.com>
18252
18253         passfd: fix test regression on Linux
18254         * modules/passfd-tests (configure.ac): Correct socketpair check.
18255
18256         passfd: speed up configure and drop unused code
18257         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
18258         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
18259         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
18260         Instead of probing at configure for unix_scm_rights_bsd44_way,
18261         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
18262         check to a struct member probe.
18263         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
18264         (sendfd, recvfd): Update preprocessor checks.
18265         * modules/passfd (Files): Reflect rename, and drop unused file.
18266         (Depends-on): Drop unused dependency.
18267
18268         passfd: allow compilation on mingw
18269         * modules/sys_socket (Depends-on): Add sys_uio.
18270         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
18271         iovec and a minimal struct msghdr.
18272         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
18273         * tests/test-sys_socket.c (main): Enhance test.
18274         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
18275         guaranteed to provide what we need.
18276         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
18277         * modules/passfd-tests (Depends-on): Add sys_wait.
18278         * tests/test-passfd.c (main): Skip test on mingw, for now.
18279         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
18280         partial 'struct msghdr' implementation.
18281
18282         sys_uio: new module
18283         * modules/sys_uio: New module.
18284         * modules/sys_uio-tests: Likewise.
18285         * lib/sys_uio.in.h: New file.
18286         * m4/sys_uio_h.m4: Likewise.
18287         * tests/test-sys_uio.c: Likewise.
18288         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
18289         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
18290
18291 2011-04-20  Jim Meyering  <meyering@redhat.com>
18292
18293         useless-if-before-free: avoid false-positive
18294         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
18295         disjunct so that it too requires a terminating ";".  Without that,
18296         this script would identify as useless one statement from gcc that
18297         was not:
18298           if (aligned_ptr)
18299             free (((void **) aligned_ptr) [-1]);
18300
18301 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
18302
18303         doc: update users.txt.
18304         * users.txt: Add barcode.
18305
18306 2011-04-19  Bruno Haible  <bruno@clisp.org>
18307
18308         ioctl: Remove link dependency on native Windows.
18309         * lib/fd-hook.h: Renamed from lib/close-hook.h.
18310         (gl_close_fn, gl_ioctl_fn): New types.
18311         (struct fd_hook): Renamed from struct close_hook. Change type of
18312         private_close_fn field. Add private_ioctl_fn field.
18313         (close_hook_fn): Add parameter for primary close method.
18314         (execute_close_hooks, execute_all_close_hooks): Likewise.
18315         (ioctl_hook_fn): New type.
18316         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
18317         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
18318         argument.
18319         (unregister_fd_hook): Renamed from unregister_close_hook.
18320         * lib/fd-hook.c: Renamed from lib/close-hook.c.
18321         Don't include <unistd.h>.
18322         (close): Remove undef.
18323         (anchor): Update.
18324         (execute_close_hooks): Add argument for primary close method.
18325         (execute_all_close_hooks): Likewise.
18326         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
18327         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
18328         argument. Allow each argument to be NULL.
18329         (unregister_fd_hook): Renamed from unregister_close_hook.
18330         * lib/close.c (rpl_close): Pass 'close' function pointer to
18331         execute_all_close_hooks.
18332         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
18333         (primary_ioctl): New function.
18334         (ioctl): Don't call ioctlsocket here. Instead, call
18335         execute_all_ioctl_hooks.
18336         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
18337         close method.
18338         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
18339         (fd_sockets_hook): Renamed from close_sockets_hook.
18340         (gl_sockets_startup, gl_sockets_cleanup): Update.
18341         * modules/fd-hook: Renamed from modules/close-hook. Update.
18342         * modules/close (Depends-on): Add fd-hook, remove close-hook.
18343         * modules/sockets (Depends-on): Likewise.
18344         * modules/ioctl (Depends-on): Add fd-hook.
18345         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
18346         GNULIB_SOCKET.
18347
18348 2011-04-19  Bruno Haible  <bruno@clisp.org>
18349
18350         Move the support of O_NONBLOCK in open() to the 'open' module.
18351         * modules/nonblocking (Depends-on): Remove 'open'.
18352         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
18353         gl_cv_have_open_O_NONBLOCK.
18354         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
18355         O_NONBLOCK support.
18356         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
18357
18358 2011-04-17  Bruno Haible  <bruno@clisp.org>
18359
18360         pipe2: Simplify code.
18361         * lib/pipe2.c (pipe2): Reduce code duplication.
18362
18363 2011-04-17  Bruno Haible  <bruno@clisp.org>
18364
18365         nonblocking: Add comment.
18366         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
18367
18368 2011-04-17  Bruno Haible  <bruno@clisp.org>
18369
18370         nonblocking: Add tests for sockets.
18371         * tests/test-nonblocking-socket.sh: New file.
18372         * tests/test-nonblocking-socket-main.c: New file.
18373         * tests/test-nonblocking-socket-child.c: New file.
18374         * tests/test-nonblocking-socket.h: New file.
18375         * tests/socket-server.h: New file.
18376         * tests/socket-client.h: New file.
18377         * modules/nonblocking-socket-tests: New file.
18378         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
18379
18380 2011-04-17  Bruno Haible  <bruno@clisp.org>
18381
18382         nonblocking: Add tests for pipes.
18383         * tests/test-nonblocking-pipe.sh: New file.
18384         * tests/test-nonblocking-pipe-main.c: New file.
18385         * tests/test-nonblocking-pipe-child.c: New file.
18386         * tests/test-nonblocking-pipe.h: New file.
18387         * tests/test-nonblocking-writer.h: New file.
18388         * tests/test-nonblocking-reader.h: New file.
18389         * tests/test-nonblocking-misc.h: New file.
18390         * modules/nonblocking-pipe-tests: New file.
18391         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
18392
18393 2011-04-16  Bruno Haible  <bruno@clisp.org>
18394
18395         gettext: Clarify the needed programmer actions.
18396         * modules/gettext (Notice): New field.
18397         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
18398
18399 2011-04-16  Bruno Haible  <bruno@clisp.org>
18400
18401         strchrnul: Tweak last commit.
18402         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
18403         bug.
18404         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
18405         as in _GL_FUNCDECL_SYS.
18406         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
18407         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
18408
18409 2011-04-15  Eric Blake  <eblake@redhat.com>
18410
18411         strchrnul: work around cygwin bug
18412         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
18413         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
18414         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
18415         * modules/string (Makefile.am): Substitute it.
18416         * lib/string.in.h (strchrnul): Use it.
18417
18418 2011-04-15  Bruno Haible  <bruno@clisp.org>
18419
18420         Don't require lib/stdio-write.c when only module 'stdio' is used.
18421         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
18422         invocation.
18423         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
18424
18425 2011-04-14  Bruno Haible  <bruno@clisp.org>
18426
18427         Support non-blocking pipe I/O in read() on native Windows.
18428         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
18429         (read): New declaration.
18430         * lib/read.c: New file.
18431         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
18432         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
18433         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
18434         vscanf): New declarations.
18435         * lib/stdio-read.c: New file.
18436         * m4/read.m4: New file.
18437         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
18438         REPLACE_READ.
18439         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
18440         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
18441         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
18442         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
18443         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
18444         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
18445         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
18446         * modules/read: New file.
18447         * modules/nonblocking (Files): Add lib/stdio-read.c.
18448         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
18449         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
18450         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
18451         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
18452         * modules/pread (Depends-on): Add read.
18453         * modules/safe-read (Depends-on): Likewise.
18454         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
18455         gets, scanf, vfscanf, vscanf): Verify signatures.
18456         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
18457         problem with non-blocking pipes.
18458         * doc/posix-functions/fgetc.texi: Likewise.
18459         * doc/posix-functions/fgets.texi: Likewise.
18460         * doc/posix-functions/fread.texi: Likewise.
18461         * doc/posix-functions/fscanf.texi: Likewise.
18462         * doc/posix-functions/getc.texi: Likewise.
18463         * doc/posix-functions/getchar.texi: Likewise.
18464         * doc/posix-functions/gets.texi: Likewise.
18465         * doc/posix-functions/scanf.texi: Likewise.
18466         * doc/posix-functions/vfscanf.texi: Likewise.
18467         * doc/posix-functions/vscanf.texi: Likewise.
18468
18469 2011-04-14  Bruno Haible  <bruno@clisp.org>
18470
18471         Support non-blocking pipe I/O in write() on native Windows.
18472         * lib/write.c (rpl_write): Split a write request that failed merely
18473         because the byte count was larger than the pipe buffer's size.
18474         * doc/posix-functions/write.texi: Mention the problem with large byte
18475         counts.
18476
18477 2011-04-14  Bruno Haible  <bruno@clisp.org>
18478
18479         wchar: Ensure that wchar_t gets defined on uClibc.
18480         * lib/wchar.in.h: On uClibc, include <stddef.h>.
18481         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
18482
18483 2011-04-13  Bruno Haible  <bruno@clisp.org>
18484
18485         safe-write, full-read: Avoid unnecessary compilation units.
18486         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
18487         (Depends-on): Remove safe-read. Add ssize_t.
18488         * modules/full-read (Files): Add lib/full-write.c.
18489         (Depends-on): Add full-write.
18490
18491 2011-04-13  Bruno Haible  <bruno@clisp.org>
18492
18493         Support non-blocking pipe I/O and SIGPIPE in pwrite().
18494         * modules/pwrite (Depends-on): Add 'write'.
18495
18496 2011-04-13  Bruno Haible  <bruno@clisp.org>
18497
18498         Support non-blocking pipe I/O in write() on native Windows.
18499         * lib/unistd.in.h (write): Enable replacement also if
18500         GNULIB_UNISTD_H_NONBLOCKING is 1.
18501         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
18502         (rpl_write): When failing to write on a non-blocking pipe, change
18503         errno from ENOSPC to EAGAIN.
18504         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
18505         putchar, puts, vfprintf, vprintf): Enable replacement also if
18506         GNULIB_STDIO_H_NONBLOCKING is 1.
18507         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
18508         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
18509         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
18510         CALL_WITH_SIGPIPE_EMULATION.
18511         (CALL_WITH_SIGPIPE_EMULATION): Use them.
18512         * m4/nonblocking.m4: New file.
18513         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
18514         for non-blocking I/O support.
18515         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
18516         GNULIB_UNISTD_H_NONBLOCKING.
18517         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
18518         required for non-blocking I/O support.
18519         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
18520         * modules/nonblocking (Files): Add m4/nonblocking.m4,
18521         lib/stdio-write.c, m4/asm-underscore.m4.
18522         (Depends-on): Add stdio, unistd.
18523         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
18524         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
18525         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
18526         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
18527         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
18528         problem with non-blocking pipes.
18529         * doc/posix-functions/fputc.texi: Likewise.
18530         * doc/posix-functions/fputs.texi: Likewise.
18531         * doc/posix-functions/fwrite.texi: Likewise.
18532         * doc/posix-functions/printf.texi: Likewise.
18533         * doc/posix-functions/putc.texi: Likewise.
18534         * doc/posix-functions/putchar.texi: Likewise.
18535         * doc/posix-functions/puts.texi: Likewise.
18536         * doc/posix-functions/vfprintf.texi: Likewise.
18537         * doc/posix-functions/vprintf.texi: Likewise.
18538         * doc/posix-functions/write.texi: Likewise.
18539
18540 2011-04-10  Jim Meyering  <meyering@redhat.com>
18541
18542         maint.mk: prohibit doubled words
18543         Detect them also when they're separated by a newline.
18544         There are 3 ways to customize it:
18545           - disable the test on a per file basis, as usual with rules using
18546             $(VC_LIST_EXCEPT)
18547           - replace the default doubled-word-selecting regexp (affects all files)
18548           - ignore a particular file-vs-doubled-word match
18549         I nearly used that last one to ignore the "is is" match in
18550         coreutils' NEWS file, since the text was "ls -is is ..."
18551         To do that, I would have added this line to cfg.mk:
18552           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
18553         but it would have ignored any "is is" match in NEWS.
18554         Low probability, but still...
18555         Instead, I changed the text, slightly:
18556           -  ls -is is now consistent with ls -lis in ignoring values returned
18557           +  "ls -is" is now consistent with ls -lis in ignoring values returned
18558         * top/maint.mk (prohibit_double_word_RE_): Provide default.
18559         (prohibit_doubled_word_): Define.
18560         (sc_prohibit_doubled_word): New rule.
18561         (sc_prohibit_the_the): Remove.  Subsumed by the above.
18562
18563 2011-04-10  Jim Meyering  <meyering@redhat.com>
18564
18565         maint: fix doubled-word typo in comment
18566         * m4/gethostname.m4: s/is is/it is/
18567         * m4/getdomainname.m4: Likewise.
18568
18569 2011-04-10  Jim Meyering  <meyering@redhat.com>
18570
18571         maint: remove doubled word: s/it it/it/
18572         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
18573
18574 2011-04-10  Jim Meyering  <meyering@redhat.com>
18575
18576         maint.mk: remove useless semicolon and backslash
18577         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
18578         semicolon and backslash.
18579
18580 2011-04-10  Bruno Haible  <bruno@clisp.org>
18581
18582         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
18583         * modules/stdint-tests (Depends-on): Add wchar.
18584
18585 2011-04-10  Jim Meyering  <meyering@redhat.com>
18586
18587         maint: remove doubled words in comments, e.g., s/a a/a/
18588         * lib/strptime.c (day_of_the_week): s/the the/the/
18589         * tests/test-chown.h (test_chown): s/a a/a/
18590
18591         test-chown.h: correct a cast
18592         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
18593         when the destination is a stat.st_gid.
18594
18595 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
18596
18597         getaddrinfo: Fix test for sa_len member.
18598         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
18599         include <sys/types.h> before <sys/socket.h>.
18600
18601 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
18602
18603         maint: change "can not" to "cannot"
18604         * doc/posix-functions/iconv.texi (iconv): This one crossed line
18605         boundaries.
18606
18607 2011-04-09  Jim Meyering  <meyering@redhat.com>
18608
18609         maint: change "a a" to "a"
18610         * tests/test-lchown.h (test_lchown): s/a a/a/
18611
18612         maint.mk: prohibit \<the the\>
18613         * top/maint.mk (sc_prohibit_the_the): New rule.
18614
18615         maint: fix "the the" in comment
18616         * lib/count-one-bits.h: s/the the/the/
18617
18618         maint: change "can not" to "cannot"
18619         But do not change the occurrences in maintain.texi or in
18620         build-aux/po/Makefile.in.in, which I presume comes from gettext.
18621         * doc/gnulib-tool.texi: s/can not/cannot/
18622         * doc/posix-functions/accept.texi (accept): Likewise.
18623         * doc/posix-functions/socket.texi (socket): Likewise.
18624         * lib/mbrtowc.c: Likewise.
18625
18626         maint.mk: prohibit use of "can not"
18627         * top/maint.mk (sc_prohibit_can_not): New rule.
18628         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
18629
18630 2011-04-09  Bruno Haible  <bruno@clisp.org>
18631
18632         careadlinkat: Guard against misuse of careadlinkatcwd.
18633         * lib/careadlinkat.c: Include <stdlib.h>.
18634         (careadlinkatcwd): Check that the fd argument is as expected.
18635
18636 2011-04-09  Bruno Haible  <bruno@clisp.org>
18637
18638         careadlinkat: Use common coding style.
18639         * lib/careadlinkat.c: Move gnulib includes after system includes.
18640
18641 2011-04-09  Bruno Haible  <bruno@clisp.org>
18642
18643         careadlinkat: Clarify specification.
18644         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
18645         (careadlinkatcwd): Add comment.
18646         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
18647
18648 2011-04-09  Bruno Haible  <bruno@clisp.org>
18649
18650         areadlinkat: Avoid link error on many platforms.
18651         * modules/areadlinkat (Depends-on): Add areadlink.
18652
18653 2011-04-09  Bruno Haible  <bruno@clisp.org>
18654
18655         allocator, careadlinkat: Fix double-inclusion guard.
18656         * lib/allocator.h: Fix double-inclusion guard.
18657         * lib/careadlinkat.h: Likewise.
18658
18659 2011-04-09  Bruno Haible  <bruno@clisp.org>
18660
18661         relocatable-prog-wrapper: Update after module 'areadlink' changed.
18662         * lib/relocwrapper.c: Update dependencies hierarchy.
18663         * build-aux/install-reloc: Update list of files to be compiled.
18664         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
18665         lib/allocator.[hc].
18666
18667 2011-04-08  Eric Blake  <eblake@redhat.com>
18668
18669         strftime: silence gnulib-tool warning
18670         * modules/strftime-tests (Depends-on): Drop automatic dependency.
18671
18672 2011-04-08  Bruno Haible  <bruno@clisp.org>
18673
18674         verify: Fix syntax error with GCC 4.6 in C++ mode.
18675         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
18676         (HAVE_STATIC_ASSERT): New macro.
18677         (verify_true, verify): Use 'static_assert' if it is supported and
18678         '_Static_assert' is not supported.
18679
18680 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
18681
18682         allocator: New module.
18683         * modules/allocator, lib/allocator.c: New files.
18684         * lib/allocator.h (stdlib_allocator): New decl.
18685         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
18686         Remove.  Do not include <stdlib.h>.
18687         (careadlinkat): Use stdlib_allocator instead of rolling our own.
18688         * modules/careadlinkat (Files): Remove lib/allocator.h.
18689         (Depends-on): Add allocator.
18690
18691         stdlib: let modules use system malloc, realloc
18692         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
18693         if !_GL_USE_STDLIB_ALLOC.
18694         (malloc, realloc): Limit this change to a smaller scope.
18695
18696         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
18697         (malloc, realloc): Don't #undef; no longer needed.
18698         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18699         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18700         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
18701         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18702         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18703         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18704         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18705         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
18706
18707         careadlinkat: rename members to avoid problem
18708         * lib/allocator.h (struct allocator): Rename members from
18709         malloc/realloc to allocate/reallocate, to avoid problems if malloc
18710         and realloc are #define'd.  Reported by Eric Blake in
18711         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
18712         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
18713
18714 2011-04-08  Eric Blake  <eblake@redhat.com>
18715
18716         nonblocking: reduce dependency
18717         * tests/test-nonblocking.c: Only test sockets when in use.
18718         * modules/nonblocking-tests (Depends-on): Drop socket.
18719         (Makefile.am): Link even if sockets are not present.
18720         * modules/pipe2-tests (Makefile.am): Likewise.
18721         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
18722
18723         pipe2: fix O_NONBLOCK support on mingw
18724         * modules/pipe2 (Depends-on): Add nonblocking.
18725         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
18726         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
18727         * tests/test-nonblocking.c (main): Likewise.
18728         * modules/pipe2-tests (Makefile.am): Avoid link failure.
18729
18730         fcntl-h: fix O_ACCMODE on cygwin
18731         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
18732         * lib/fcntl.in.h (O_ACCMODE): Fix it.
18733
18734         pipe-filter: drop O_NONBLOCK workarounds
18735         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
18736         * modules/pipe-filter-ii (Depends-on): Likewise.
18737         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
18738
18739         nonblocking: provide O_NONBLOCK for mingw
18740         * modules/nonblocking (Depends-on): Add open.
18741         (configure.ac): Set new witness macro.
18742         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
18743         * modules/fcntl-h (Makefile.am): Substitute it.
18744         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
18745         nonblocking module is in use.
18746         * lib/nonblocking.c: Adjust portability test.
18747         * lib/open.c (open): Don't let native open see gnulib flag.
18748         * tests/test-fcntl-h.c (main): Enhance test.
18749         * tests/test-open.h (test_open): Likewise.
18750         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
18751
18752         careadlinkat: fix compilation error on mingw
18753         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
18754         within struct allocator.
18755
18756 2011-04-06  Eric Blake  <eblake@redhat.com>
18757
18758         binary-io: relicense under LGPLv2+
18759         * modules/binary-io (License): Relax to LGPLv2+.
18760         Requested for libvirt, and required by pipe2.
18761
18762 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
18763
18764         verify: use _Static_assert if available
18765         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
18766         (verify_true, verify): Use it if available.  This generates better
18767         diagnostics with GCC 4.6.0 and later.
18768
18769 2011-04-05  Bruno Haible  <bruno@clisp.org>
18770
18771         Remove leftover generated .h files after config.status changed.
18772
18773         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
18774         GL_GENERATE_ALLOCA_H.
18775         * modules/alloca-opt (Makefile.am): Remove alloca.h if
18776         GL_GENERATE_ALLOCA_H evaluates to false.
18777
18778         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
18779         GL_GENERATE_ARGZ_H.
18780         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
18781         evaluates to false.
18782
18783         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
18784         GL_GENERATE_BYTESWAP_H.
18785         * modules/byteswap (Makefile.am): Remove byteswap.h if
18786         GL_GENERATE_BYTESWAP_H evaluates to false.
18787
18788         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
18789         GL_GENERATE_ERRNO_H.
18790         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
18791         evaluates to false.
18792
18793         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
18794         GL_GENERATE_FLOAT_H.
18795         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
18796         evaluates to false.
18797
18798         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
18799         GL_GENERATE_FNMATCH_H.
18800         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
18801         GL_GENERATE_FNMATCH_H evaluates to false.
18802
18803         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
18804         GL_GENERATE_GLOB_H.
18805         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
18806         evaluates to false.
18807
18808         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
18809         automake conditional GL_GENERATE_ICONV_H.
18810         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
18811         evaluates to false.
18812
18813         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
18814         GL_GENERATE_NETINET_IN_H.
18815         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
18816         GL_GENERATE_NETINET_IN_H evaluates to false.
18817
18818         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
18819         conditional GL_GENERATE_PTHREAD_H.
18820         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
18821         * modules/pthread (Makefile.am): Remove pthread.h if
18822         GL_GENERATE_PTHREAD_H evaluates to false.
18823
18824         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
18825         GL_GENERATE_SCHED_H.
18826         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
18827         evaluates to false.
18828
18829         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
18830         conditional GL_GENERATE_SELINUX_CONTEXT_H.
18831         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
18832         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
18833
18834         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
18835         GL_GENERATE_STDARG_H.
18836         * modules/stdarg (Makefile.am): Remove stdarg.h if
18837         GL_GENERATE_STDARG_H evaluates to false.
18838
18839         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
18840         GL_GENERATE_STDBOOL_H.
18841         * modules/stdbool (Makefile.am): Remove stdbool.h if
18842         GL_GENERATE_STDBOOL_H evaluates to false.
18843
18844         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
18845         conditional GL_GENERATE_STDDEF_H.
18846         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
18847         * modules/stddef (Makefile.am): Remove stddef.h if
18848         GL_GENERATE_STDDEF_H evaluates to false.
18849
18850         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
18851         GL_GENERATE_STDINT_H.
18852         * modules/stdint (Makefile.am): Remove stdint.h if
18853         GL_GENERATE_STDINT_H evaluates to false.
18854
18855         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
18856         GL_GENERATE_SYSEXITS_H.
18857         * modules/sysexits (Makefile.am): Remove sysexits.h if
18858         GL_GENERATE_SYSEXITS_H evaluates to false.
18859
18860         Reported by Karl Berry and Ralf Wildenhues.
18861
18862 2011-04-05  Bruno Haible  <bruno@clisp.org>
18863
18864         Ensure to rebuild generated .h files when config.status has changed.
18865         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
18866         config.status.
18867         * modules/ctype (Makefile.am): Likewise.
18868         * modules/dirent (Makefile.am): Likewise.
18869         * modules/errno (Makefile.am): Likewise.
18870         * modules/fcntl-h (Makefile.am): Likewise.
18871         * modules/float (Makefile.am): Likewise.
18872         * modules/getopt-posix (Makefile.am): Likewise.
18873         * modules/glob (Makefile.am): Likewise.
18874         * modules/iconv-h (Makefile.am): Likewise.
18875         * modules/inttypes (Makefile.am): Likewise.
18876         * modules/langinfo (Makefile.am): Likewise.
18877         * modules/locale (Makefile.am): Likewise.
18878         * modules/math (Makefile.am): Likewise.
18879         * modules/netdb (Makefile.am): Likewise.
18880         * modules/netinet_in (Makefile.am): Likewise.
18881         * modules/poll-h (Makefile.am): Likewise.
18882         * modules/pthread (Makefile.am): Likewise.
18883         * modules/pty (Makefile.am): Likewise.
18884         * modules/sched (Makefile.am): Likewise.
18885         * modules/search (Makefile.am): Likewise.
18886         * modules/selinux-h (Makefile.am): Likewise.
18887         * modules/signal (Makefile.am): Likewise.
18888         * modules/spawn (Makefile.am): Likewise.
18889         * modules/stdarg (Makefile.am): Likewise.
18890         * modules/stdbool (Makefile.am): Likewise.
18891         * modules/stddef (Makefile.am): Likewise.
18892         * modules/stdint (Makefile.am): Likewise.
18893         * modules/stdio (Makefile.am): Likewise.
18894         * modules/stdlib (Makefile.am): Likewise.
18895         * modules/string (Makefile.am): Likewise.
18896         * modules/strings (Makefile.am): Likewise.
18897         * modules/sys_file (Makefile.am): Likewise.
18898         * modules/sys_ioctl (Makefile.am): Likewise.
18899         * modules/sys_select (Makefile.am): Likewise.
18900         * modules/sys_socket (Makefile.am): Likewise.
18901         * modules/sys_stat (Makefile.am): Likewise.
18902         * modules/sys_time (Makefile.am): Likewise.
18903         * modules/sys_times (Makefile.am): Likewise.
18904         * modules/sys_utsname (Makefile.am): Likewise.
18905         * modules/sys_wait (Makefile.am): Likewise.
18906         * modules/sysexits (Makefile.am): Likewise.
18907         * modules/termios (Makefile.am): Likewise.
18908         * modules/time (Makefile.am): Likewise.
18909         * modules/unistd (Makefile.am): Likewise.
18910         * modules/wchar (Makefile.am): Likewise.
18911         * modules/wctype-h (Makefile.am): Likewise.
18912         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
18913
18914 2011-04-05  Bruno Haible  <bruno@clisp.org>
18915
18916         pipe2: Relicense under LGPLv2+.
18917         * modules/pipe2 (License): Change to LGPLv2+.
18918         Requested by Eric Blake, for libvirt.
18919
18920 2011-04-05  Bruce Korb  <bkorb@gnu.org>
18921
18922         bootstrap: compute gnulib_extra_files after updating build_aux
18923         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
18924         change build_aux or also supply gnulib_extra_files.  Handle correctly.
18925
18926 2011-04-05  Eric Blake  <eblake@redhat.com>
18927
18928         bootstrap: preserve git whitelist item sorting
18929         * build-aux/bootstrap (sort_patterns): New function.
18930         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
18931
18932 2011-04-05  Simon Josefsson  <simon@josefsson.org>
18933
18934         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
18935         sc_space_tab check.
18936
18937 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
18938
18939         areadlink, areadlinkat: rewrite in terms of careadlinkat
18940         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
18941         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
18942         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
18943         (malloc, realloc): Remove #undefs.
18944         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
18945         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
18946         readlink, ssize_t, stdint, unistd.
18947         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
18948         areadlink, stdint.
18949
18950         careadlinkat: new module
18951         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
18952         * modules/careadlinkat: New files, written by me with
18953         a review and feedback from Ben Pfaff in
18954         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
18955
18956 2011-04-01  Bruno Haible  <bruno@clisp.org>
18957
18958         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
18959         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
18960         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
18961         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
18962         Reported by Bruce Korb <bruce.korb@gmail.com>.
18963
18964 2011-04-01  Bruno Haible  <bruno@clisp.org>
18965
18966         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
18967         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
18968         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
18969         * modules/wcpcpy (Depends-on): Add extensions.
18970         * modules/wcpncpy (Depends-on): Likewise.
18971         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
18972         systems.
18973         * doc/posix-functions/wcpncpy.texi: Likewise.
18974         * doc/posix-functions/wcwidth.texi: Likewise.
18975
18976 2011-03-31  Eric Blake  <eblake@redhat.com>
18977
18978         nonblocking: fix mingw test failures
18979         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
18980         non-blocking flag on regular file.
18981         (get_nonblocking_flag): Set errno on invalid fd.
18982         * tests/test-nonblocking.c (main): Avoid test failure on
18983         directories if fchdir is not active.
18984         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
18985
18986 2011-03-31  Bruno Haible  <bruno@clisp.org>
18987
18988         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
18989         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
18990         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
18991         Reported by Simon Josefsson <simon@josefsson.org>.
18992
18993 2011-03-31  Bruno Haible  <bruno@clisp.org>
18994         and Eric Blake  <eblake@redhat.com>
18995
18996         nonblocking: new module
18997         * modules/nonblocking: New module.
18998         * modules/nonblocking-tests: Likewise.
18999         * lib/nonblocking.h: New file.
19000         * lib/nonblocking.c: Likewise.
19001         * tests/test-nonblocking.c: New test.
19002         * lib/ioctl.c (ioctl) [mingw]: Update comment.
19003
19004 2011-03-30  Bruno Haible  <bruno@clisp.org>
19005
19006         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
19007         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
19008         instead of 'printf' format for GCC >= 4.4.
19009         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
19010         (fprintf, printf, vfprintf, vprintf): Declare with
19011         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
19012         the system's vfprintf() function.
19013         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
19014
19015 2011-03-30  Eric Blake  <eblake@redhat.com>
19016
19017         passfd: fix scoping bug
19018         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
19019         before sendmsg/recvmsg.
19020
19021         passfd: standardize coding conventions
19022         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
19023         can be learned at compile time.
19024         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
19025         ifdefs.
19026         (sendfd, recvfd): Follow gnulib code conventions.
19027
19028         passfd: fix incorrect sendmsg arguments
19029         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
19030         incorrect msg_controllen value.
19031         * modules/passfd-tests (Depends-on): Check for alarm.
19032         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
19033         Reported by Bastien ROUCARIES.
19034
19035 2011-03-30  Bruno Haible  <bruno@clisp.org>
19036
19037         c-strcasestr: Relicense under LGPLv2+.
19038         * modules/c-strcasestr (License): Change to LGPLv2+.
19039         Requested by Eric Blake, for libvirt.
19040
19041 2011-03-30  Simon Josefsson  <simon@josefsson.org>
19042
19043         * users.txt: Add libidn2.  Fix libtasn1 link.
19044
19045 2011-03-30  Jim Meyering  <meyering@redhat.com>
19046
19047         tests: readlink* ("",... fails with EINVAL on newer kernels
19048         readlink and readlinkat have typically failed with ENOENT for
19049         the invalid, empty file name,  "".  However, with the advent
19050         of linux-2.6.39, they fail with EINVAL.
19051         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
19052         when operating on the empty file name.
19053         * tests/test-readlink.h (test_readlink): Likewise.
19054
19055 2011-03-29  Bruno Haible  <bruno@clisp.org>
19056
19057         Relicense some modules under LGPLv2+, for libidn2.
19058         * modules/array-mergesort (License): Change to LGPLv2+.
19059         * modules/c-strcaseeq (License): Likewise.
19060         * modules/striconveh (License): Likewise.
19061         * modules/striconveha (License): Likewise.
19062         * modules/uniconv/base (License): Likewise.
19063         * modules/uniconv/u8-conv-from-enc (License): Likewise.
19064         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
19065         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
19066         * modules/unictype/base (License): Likewise.
19067         * modules/unictype/bidiclass-of (License): Likewise.
19068         * modules/unictype/category-M (License): Likewise.
19069         * modules/unictype/category-none (License): Likewise.
19070         * modules/unictype/category-of (License): Likewise.
19071         * modules/unictype/category-test (License): Likewise.
19072         * modules/unictype/category-test-withtable (License): Likewise.
19073         * modules/unictype/combining-class (License): Likewise.
19074         * modules/unictype/joiningtype-of (License): Likewise.
19075         * modules/unictype/scripts (License): Likewise.
19076         * modules/uninorm/base (License): Likewise.
19077         * modules/uninorm/canonical-decomposition (License): Likewise.
19078         * modules/uninorm/composition (License): Likewise.
19079         * modules/uninorm/decompose-internal (License): Likewise.
19080         * modules/uninorm/decomposition-table (License): Likewise.
19081         * modules/uninorm/nfc (License): Likewise.
19082         * modules/uninorm/nfd (License): Likewise.
19083         * modules/uninorm/u32-normalize (License): Likewise.
19084         * modules/unistr/base (License): Likewise.
19085         * modules/unistr/u32-cpy (License): Likewise.
19086         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
19087         * modules/unistr/u32-to-u8 (License): Likewise.
19088         * modules/unistr/u32-uctomb (License): Likewise.
19089         * modules/unistr/u8-check (License): Likewise.
19090         * modules/unistr/u8-mblen (License): Likewise.
19091         * modules/unistr/u8-mbtouc (License): Likewise.
19092         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
19093         * modules/unistr/u8-mbtoucr (License): Likewise.
19094         * modules/unistr/u8-prev (License): Likewise.
19095         * modules/unistr/u8-strlen (License): Likewise.
19096         * modules/unistr/u8-to-u32 (License): Likewise.
19097         * modules/unistr/u8-uctomb (License): Likewise.
19098         * modules/unitypes (License): Likewise.
19099         Requested by Simon Josefsson.
19100
19101 2011-03-29  Simon Josefsson  <simon@josefsson.org>
19102
19103         lib-symbol-visibility: Add a notice.
19104         * modules/lib-symbol-visibility (Notice): New field.
19105
19106 2011-03-29  Bruno Haible  <bruno@clisp.org>
19107
19108         getaddrinfo: Doc fix.
19109         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
19110         section "fixed in Gnulib".
19111
19112 2011-03-28  Simon Josefsson  <simon@josefsson.org>
19113
19114         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
19115         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
19116
19117 2011-03-26  Bruno Haible  <bruno@clisp.org>
19118
19119         unictype/property-byname: Reduce the number of load-time relocations.
19120         * lib/unictype/pr_byname.c: Include <stdlib.h>.
19121         (UC_PROPERTY_INDEX_*): New enumeration values.
19122         (uc_property_byname): Convert an index from the lookup table to an
19123         uc_property_t.
19124         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
19125         values.
19126
19127 2011-03-26  Bruno Haible  <bruno@clisp.org>
19128
19129         unictype/property-byname: Allow omitted word separators and aliases.
19130         * lib/unictype/pr_byname.gperf: Add property names without word
19131         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
19132         for 'space'.
19133
19134 2011-03-26  Bruno Haible  <bruno@clisp.org>
19135
19136         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
19137         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
19138         also hyphens to space.
19139         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
19140         without spaces.
19141         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
19142
19143 2011-03-26  Bruno Haible  <bruno@clisp.org>
19144
19145         unictype/joiningtype-byname: Recognize long names as well.
19146         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
19147         a long name.
19148         * lib/unictype/joiningtype_byname.c: Include <string.h>,
19149         unictype/joiningtype_byname.h.
19150         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
19151         * lib/unictype/joiningtype_byname.gperf: New file.
19152         * modules/unictype/joiningtype-byname (Files): Add
19153         lib/unictype/joiningtype_byname.gperf.
19154         (Depends-on): Add gperf.
19155         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
19156         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
19157         long names.
19158
19159         Tests for module 'unictype/joiningtype-longname'.
19160         * modules/unictype/joiningtype-longname-tests: New file.
19161         * tests/unictype/test-joiningtype_longname.c: New file.
19162
19163         New module 'unictype/joiningtype-longname'.
19164         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
19165         * lib/unictype/joiningtype_longname.c: New file.
19166         * modules/unictype/joiningtype-longname: New file.
19167         * modules/unictype/joiningtype-all (Depends-on): Add
19168         unictype/joiningtype-longname.
19169
19170 2011-03-26  Bruno Haible  <bruno@clisp.org>
19171
19172         unictype/bidiclass-byname: Recognize long names as well.
19173         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
19174         name.
19175         * lib/unictype/bidi_byname.c: Include <string.h>,
19176         unictype/bidi_byname.h.
19177         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
19178         * lib/unictype/bidi_byname.gperf: New file.
19179         * modules/unictype/bidiclass-byname (Files): Add
19180         lib/unictype/bidi_byname.gperf.
19181         (Depends-on): Add gperf.
19182         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
19183         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
19184         long names.
19185
19186         Tests for module 'unictype/bidiclass-longname'.
19187         * modules/unictype/bidiclass-longname-tests: New file.
19188         * tests/unictype/test-bidi_longname.c: New file.
19189
19190         New module 'unictype/bidiclass-longname'.
19191         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
19192         * lib/unictype/bidi_longname.c: New file.
19193         * modules/unictype/bidiclass-longname: New file.
19194         * modules/unictype/bidiclass-all (Depends-on): Add
19195         unictype/bidiclass-longname.
19196
19197 2011-03-26  Bruno Haible  <bruno@clisp.org>
19198
19199         unictype/bidi*: Rename modules.
19200         * modules/unictype/bidiclass-all: Renamed from
19201         modules/unictype/bidicategory-all.
19202         * modules/unictype/bidiclass-name: Renamed from
19203         modules/unictype/bidiclass-name.
19204         (Description): Update.
19205         * modules/unictype/bidiclass-name-tests: Renamed from
19206         modules/unictype/bidicategory-name-tests.
19207         * modules/unictype/bidiclass-byname: Renamed from
19208         modules/unictype/bidicategory-byname.
19209         (Description): Update.
19210         * modules/unictype/bidiclass-byname-tests: Renamed from
19211         modules/unictype/bidicategory-byname-tests.
19212         * modules/unictype/bidiclass-of: Renamed from
19213         modules/unictype/bidicategory-of.
19214         (Description): Update.
19215         * modules/unictype/bidiclass-of-tests: Renamed from
19216         modules/unictype/bidicategory-of-tests.
19217         * modules/unictype/bidiclass-test: Renamed from
19218         modules/unictype/bidicategory-test.
19219         (Description): Update.
19220         * modules/unictype/bidiclass-test-tests: Renamed from
19221         modules/unictype/bidicategory-test-tests.
19222         * modules/unictype/bidicategory-all: New file, a simple redirection.
19223         * modules/unictype/bidicategory-name: Likewise.
19224         * modules/unictype/bidicategory-byname: Likewise.
19225         * modules/unictype/bidicategory-of: Likewise.
19226         * modules/unictype/bidicategory-test: Likewise.
19227         * modules/unictype/property-bidi-* (Dependencies): Update.
19228         * lib/unictype/bidi_*.c: Update comment.
19229
19230 2011-03-26  Bruno Haible  <bruno@clisp.org>
19231
19232         unictype/bidi*: Rename functions, part 2.
19233         * modules/unictype/bidicategory-name (configure.ac): Update required
19234         libunistring version.
19235         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
19236
19237 2011-03-25  Bruno Haible  <bruno@clisp.org>
19238
19239         New module 'unictype/combining-class-all'.
19240         * modules/unictype/combining-class-all: New file.
19241
19242         Tests for module 'unictype/combining-class-byname'.
19243         * modules/unictype/combining-class-byname-tests: New file.
19244         * tests/unictype/test-combiningclass_byname.c: New file.
19245
19246         New module 'unictype/combining-class-byname'.
19247         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
19248         * lib/unictype/combiningclass_byname.c: New file.
19249         * lib/unictype/combiningclass_byname.gperf: New file.
19250         * modules/unictype/combining-class-byname: New file.
19251
19252         Tests for module 'unictype/combining-class-longname'.
19253         * modules/unictype/combining-class-longname-tests: New file.
19254         * tests/unictype/test-combiningclass_longname.c: New file.
19255
19256         New module 'unictype/combining-class-longname'.
19257         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
19258         * lib/unictype/combiningclass_longname.c: New file.
19259         * modules/unictype/combining-class-longname: New file.
19260
19261         Tests for module 'unictype/combining-class-name'.
19262         * modules/unictype/combining-class-name-tests: New file.
19263         * tests/unictype/test-combiningclass_name.c: New file.
19264
19265         New module 'unictype/combining-class-name'.
19266         * lib/unictype.in.h (uc_combining_class_name): New declaration.
19267         * lib/unictype/combiningclass_name.c: New file.
19268         * modules/unictype/combining-class-name: New file.
19269
19270 2011-03-25  Bruno Haible  <bruno@clisp.org>
19271
19272         unictype/combining-class: Rename source files.
19273         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
19274         of unictype/combining.h.
19275         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
19276         Update.
19277         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
19278         * modules/unictype/combining-class (Description): Fix.
19279         (Files, Makefile.am): Update.
19280         * tests/unictype/test-combiningclass.c: Renamed from
19281         tests/unictype/test-combining.c.
19282         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
19283
19284 2011-03-25  Bruno Haible  <bruno@clisp.org>
19285
19286         unictype: Update list of canonical combining classes.
19287         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
19288
19289 2011-03-25  Bruno Haible  <bruno@clisp.org>
19290
19291         unictype/category-byname: Recognize long names as well.
19292         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
19293         a long name.
19294         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
19295         unictype/categ_byname.h.
19296         (UC_CATEGORY_INDEX_*): New enumeration values.
19297         (uc_general_category_byname): Use uc_general_category_lookup and
19298         convert from index to value.
19299         * lib/unictype/categ_byname.gperf: New file.
19300         * modules/unictype/category-byname (Files): Add
19301         lib/unictype/categ_byname.gperf.
19302         (Depends-on): Add gperf.
19303         (Makefile.am): Add rule for generating unictype/categ_byname.h.
19304         * tests/unictype/test-categ_byname.c (main): Test the recognition of
19305         long names.
19306
19307         Tests for module 'unictype/category-longname'.
19308         * modules/unictype/category-longname-tests: New file.
19309         * tests/unictype/test-categ_longname.c: New file.
19310
19311         New module 'unictype/category-longname'.
19312         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
19313         * lib/unictype/categ_longname.c: New file.
19314         * modules/unictype/category-longname: New file.
19315         * modules/unictype/category-all (Depends-on): Add it.
19316
19317 2011-03-25  Bruno Haible  <bruno@clisp.org>
19318
19319         Tests for module 'unictype/category-LC'.
19320         * modules/unictype/category-LC-tests: New file.
19321         * tests/unictype/test-categ_LC.c: New file, automatically generated.
19322
19323         New module 'unictype/category-LC'.
19324         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
19325         (UC_CATEGORY_LC): New declaration.
19326         (UC_CASED_LETTER): New macro.
19327         * lib/gen-uni-tables.c (is_category_LC): New function.
19328         (output_categories): Also handle category LC.
19329         (UC_CATEGORY_MASK_LC): New enumeration value.
19330         (general_category_byname): Also handle category LC.
19331         * lib/unictype/categ_LC.c: New file.
19332         * lib/unictype/categ_LC.h: New file, automatically generated.
19333         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
19334         category LC.
19335         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
19336         * modules/unictype/category-LC: New file.
19337         * modules/unictype/category-byname (Depends-on): Add
19338         unictype/category-LC.
19339         * modules/unictype/category-all (Depends-on): Likewise.
19340
19341 2011-03-25  Eric Blake  <eblake@redhat.com>
19342
19343         xmalloc: revert yesterday's regression
19344         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
19345         realloc's underlying behavior (allowing allocation of zero-size
19346         objects, especially if malloc-gnu is also in use).
19347
19348 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
19349
19350         maint.mk: add missing version to VC-tag
19351         * top/maint.mk: git tag was missing actual tag name; add it.
19352
19353         valgrind: do leak checking, and exit with code 1 on error (not 0)
19354         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
19355         to VALGRIND.
19356
19357 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
19358
19359         posix-modules: say what it does.
19360         * posix-modules: Add a line to the --help output saying what it does.
19361
19362 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
19363
19364         xmalloc: Do not leak if underlying realloc is C99 compatible.
19365         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
19366         This avoids a leak on C99-based systems.  See
19367         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
19368
19369 2011-03-24  Eric Blake  <eblake@redhat.com>
19370
19371         realloc: document portability problem
19372         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
19373         passing 0 size to realloc.
19374
19375 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
19376
19377         doc: update users.txt
19378         * users.txt: Add cvsps, tmpwatch
19379
19380 2011-03-23  Matt Rice  <ratmice@gmail.com>
19381
19382         doc: update users.txt
19383         * users.txt: Add gdb.
19384
19385 2011-03-23  Jim Meyering  <meyering@redhat.com>
19386
19387         doc: update users.txt
19388         Looking through matches up to the following URL (there are still
19389         several more pages), I found several projects that use gnulib:
19390         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
19391         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
19392         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
19393
19394 2011-03-22  Bruno Haible  <bruno@clisp.org>
19395
19396         unictype/bidi*: Rename functions.
19397         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
19398         uc_bidi_class, uc_is_bidi_class): New declarations.
19399         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
19400         uc_bidi_category_byname.
19401         (uc_bidi_category_byname): New function.
19402         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
19403         u_bidi_category_name.
19404         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
19405         (uc_bidi_category_name): New function.
19406         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
19407         uc_bidi_category.
19408         (uc_bidi_category): New function.
19409         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
19410         uc_is_bidi_category. Invoke uc_bidi_class.
19411         (uc_is_bidi_category): New function.
19412         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
19413         instead of uc_bidi_category_byname.
19414         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
19415         instead of uc_bidi_category_name.
19416         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
19417         uc_bidi_category.
19418         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
19419         instead of uc_is_bidi_category.
19420
19421 2011-03-21  Bruno Haible  <bruno@clisp.org>
19422
19423         New module 'unictype/joininggroup-all'.
19424         * modules/unictype/joininggroup-all: New file.
19425
19426         Tests for module 'unictype/joininggroup-of'.
19427         * modules/unictype/joininggroup-of-tests: New file.
19428         * tests/unictype/test-joininggroup_of.c: New file.
19429         * tests/unictype/test-joininggroup_of.h: New file, automatically
19430         generated by gen-uni-tables.
19431
19432         New module 'unictype/joininggroup-of'.
19433         * modules/unictype/joininggroup-of: New file.
19434         * lib/unictype/joininggroup_of.c: New file.
19435         * lib/unictype/joininggroup_of.h: New file, automatically generated by
19436         gen-uni-tables.
19437
19438         Tests for module 'unictype/joininggroup-byname'.
19439         * modules/unictype/joininggroup-byname-tests: New file.
19440         * tests/unictype/test-joininggroup_byname.c: New file.
19441
19442         New module 'unictype/joininggroup-byname'.
19443         * modules/unictype/joininggroup-byname: New file.
19444         * lib/unictype/joininggroup_byname.c: New file.
19445         * lib/unictype/joininggroup_byname.gperf: New file.
19446
19447         Tests for module 'unictype/joininggroup-name'.
19448         * modules/unictype/joininggroup-name-tests: New file.
19449         * tests/unictype/test-joininggroup_name.c: New file.
19450
19451         New module 'unictype/joininggroup-name'.
19452         * modules/unictype/joininggroup-name: New file.
19453         * lib/unictype/joininggroup_name.c: New file.
19454         * lib/unictype/joininggroup_name.h: New file.
19455
19456         New module 'unictype/joiningtype-all'.
19457         * modules/unictype/joiningtype-all: New file.
19458
19459         Tests for module 'unictype/joiningtype-of'.
19460         * modules/unictype/joiningtype-of-tests: New file.
19461         * tests/unictype/test-joiningtype_of.c: New file.
19462         * tests/unictype/test-joiningtype_of.h: New file, automatically
19463         generated by gen-uni-tables.
19464
19465         New module 'unictype/joiningtype-of'.
19466         * modules/unictype/joiningtype-of: New file.
19467         * lib/unictype/joiningtype_of.c: New file.
19468         * lib/unictype/joiningtype_of.h: New file, automatically generated by
19469         gen-uni-tables.
19470
19471         Tests for module 'unictype/joiningtype-byname'.
19472         * modules/unictype/joiningtype-byname-tests: New file.
19473         * tests/unictype/test-joiningtype_byname.c: New file.
19474
19475         New module 'unictype/joiningtype-byname'.
19476         * modules/unictype/joiningtype-byname: New file.
19477         * lib/unictype/joiningtype_byname.c: New file.
19478
19479         Tests for module 'unictype/joiningtype-name'.
19480         * modules/unictype/joiningtype-name-tests: New file.
19481         * tests/unictype/test-joiningtype_name.c: New file.
19482
19483         New module 'unictype/joiningtype-name'.
19484         * modules/unictype/joiningtype-name: New file.
19485         * lib/unictype/joiningtype_name.c: New file.
19486
19487         unictype: Add support for Arabic shaping properties.
19488         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
19489         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
19490         declarations.
19491         (UC_JOINING_GROUP_*): New enumeration values.
19492         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
19493         declarations.
19494         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
19495         (unicode_joining_type): New variable.
19496         (UC_JOINING_GROUP_*): New enumeration values.
19497         (unicode_joining_group): New variable.
19498         (fill_arabicshaping, joining_type_as_c_identifier,
19499         output_joining_type_test, output_joining_type,
19500         joining_group_as_c_identifier, output_joining_group_test,
19501         output_joining_group): New functions.
19502         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
19503         fill_arabicshaping and output_joining_type_test, output_joining_type,
19504         output_joining_group_test, output_joining_group.
19505         Reported by Simon Josefsson.
19506
19507 2011-03-21  Jim Meyering  <meyering@redhat.com>
19508
19509         strftime: fix a bug in yesterday's change
19510         * lib/strftime.c (add): Accommodate width's initial value of -1.
19511         Otherwise, nstrftime would copy uninitialized data into
19512         the result buffer.
19513
19514 2011-03-21  Jim Meyering  <meyering@redhat.com>
19515
19516         tests: add strftime-tests module
19517         * tests/test-strftime.c: New file.
19518         * modules/strftime-tests: New module.
19519
19520 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
19521
19522         strftime: don't assume a byte count fits in 'int'
19523         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
19524         found this problem by static analysis, using gcc -Wstrict-overflow
19525         (GCC 4.5.2, x86-64).  This reported an optimization that depended
19526         on an integer overflow having undefined behavior, but it turns out
19527         that the argument is a size, which might not fit in 'int' anyway,
19528
19529 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
19530
19531         stdio: don't require ignore_value around fwrite
19532
19533         This patch works around libc bug 11959
19534         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
19535         Without this patch, applications must often write
19536         ignore_value (fwrite (...)) even though the ignore_value is
19537         not helpful here.  It's common to write many objects, using
19538         fwrite/printf/etc., and then use ferror to detect output error.
19539
19540         I considered making this patch optional, but decided against it,
19541         because libc is obviously being inconsistent here: there is no
19542         reason libc should insist that user code must inspect fwrite
19543         return's value without also insisting that it inspect printf's,
19544         putchar's, etc.  If user code wants to have a strict style where
19545         all these functions' values are checked (so that ferror need not
19546         be checked), we could add support for that style in a new gnulib
19547         module, but in the meantime it's better to be consistent and to
19548         support common usage.
19549
19550         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
19551         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
19552         that we are compiling in checking mode, and if not C++, and
19553         if not already wrapping fwrite for some other reason.
19554         (fwrite): #define to rpl_fwrite if the latter is defined.
19555
19556 2011-03-20  Bruno Haible  <bruno@clisp.org>
19557
19558         verror: Fix compilation error introduced on 2011-02-13.
19559         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
19560         instead of __attribute__.
19561         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19562
19563 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
19564             Bruno Haible  <bruno@clisp.org>
19565
19566         socklen: do not depend on sys_socket
19567         While trying to modify Emacs to use gnulib's socklen module,
19568         I discovered a circular dependency: socklen depends on sys_socket
19569         and vice versa.  Emacs can use socklen, but it does not need
19570         sys_socket because it has its own substitute for sys/socket.h.
19571         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
19572         gl_TYPE_SOCKLEN_T.
19573         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
19574         gl_PREREQ_SYS_H_SOCKET.
19575         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
19576         gl_PREREQ_SYS_H_SOCKET.
19577         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
19578         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
19579         * modules/socklen (Depends-on): Do not depend on sys_socket.
19580         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
19581
19582 2011-03-20  Jim Meyering  <meyering@redhat.com>
19583
19584         maint.mk: sort file names *after* new transformation
19585         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
19586         prefix would have led to an unwarranted failure in GNU parted.
19587         Sort after that transformation.
19588
19589 2011-03-19  Jim Meyering  <meyering@redhat.com>
19590
19591         maint.mk: fix po-file syntax-check rule
19592         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
19593         Patch by Bruno Haible.
19594
19595 2011-03-19  Bruno Haible  <bruno@clisp.org>
19596
19597         socklen: Update comment.
19598         * m4/socklen.m4: Update comment about platforms.
19599
19600 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
19601             Bruno Haible  <bruno@clisp.org>
19602
19603         inet_ntop, inet_pton: Simplify.
19604         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
19605         documented to provide socklen_t and we already depend on sys_socket.
19606         * modules/inet_pton (Depends-on): Likewise.
19607         * lib/arpa_inet.in.h: Adjust comment.
19608
19609 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
19610             Bruno Haible  <bruno@clisp.org>
19611
19612         netdb: Simplify.
19613         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
19614         documented to provide socklen_t and we already depend on sys_socket.
19615         * lib/netdb.in.h: Adjust comment.
19616
19617 2011-03-19  Bruno Haible  <bruno@clisp.org>
19618
19619         sys_socket, netdb: Document problem with socklen_t.
19620         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
19621         platforms.
19622         * doc/posix-headers/netdb.texi: Likewise.
19623
19624 2011-03-18  Eric Blake  <eblake@redhat.com>
19625
19626         maint.mk: let po check work in VPATH build
19627         * top/maint.mk (po_file): Allow cfg.mk override.
19628         (sc_po_check): Allow VPATH use.
19629         Reported by Jiri Denemark.
19630
19631 2011-03-16  Jim Meyering  <meyering@redhat.com>
19632
19633         maint.mk: allow fine-grained syntax-check exclusion via Make variables
19634         Before, you would have had to create one .x-sc_ file per rule in order
19635         to exempt offending files.  Now, you may instead use a Make variable --
19636         usually defined in cfg.mk -- whose name identifies the affected rule.
19637         * top/maint.mk (_sc_excl): Define.
19638         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
19639         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
19640
19641 2011-03-13  Bruno Haible  <bruno@clisp.org>
19642
19643         ignore-value tests: Avoid warnings.
19644         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
19645         empty for gcc < 3.4.
19646
19647 2011-03-13  Bruno Haible  <bruno@clisp.org>
19648
19649         passfd: Fix link error on Solaris.
19650         * modules/passfd (Description): Correct.
19651         (Depends-on): Add socketlib.
19652         (Link): New section.
19653         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
19654
19655 2011-03-13  Bruno Haible  <bruno@clisp.org>
19656
19657         passfd: Fix link error on AIX 5.2.
19658         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
19659
19660 2011-03-13  Bruno Haible  <bruno@clisp.org>
19661
19662         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
19663         * lib/sys_socket.in.h: Include <stddef.h>.
19664         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
19665         CMSG_FIRSTHDR. Remove unused variable.
19666
19667 2011-03-13  Bruno Haible  <bruno@clisp.org>
19668
19669         passfd: Fix compilation error on OpenBSD.
19670         * lib/passfd.c: Include <sys/uio.h>.
19671
19672 2011-03-13  Bruno Haible  <bruno@clisp.org>
19673
19674         passfd test: Fix warnings.
19675         * tests/test-passfd.c: Include <sys/wait.h>.
19676         (main): Fix typo.
19677
19678 2011-03-13  Bruno Haible  <bruno@clisp.org>
19679
19680         passfd module, part 4, tweaks.
19681         * tests/test-passfd.c: Reorder includes.
19682         (main): Fix perror and printf calls.
19683
19684 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
19685
19686         passfd module, part 4.
19687         * modules/passfd-tests: New file.
19688         * tests/test-passfd.c: New file.
19689
19690 2011-03-13  Jim Meyering  <meyering@redhat.com>
19691
19692         Makefile: rely on GNU make; derive syntax-check rule names
19693         Rather than requiring that each sc_ rule be listed as a dependent
19694         of "check", use features of GNU make to derive the list.
19695         * Makefile (syntax-check-rules): Define.
19696         (check): Depend on the new variable, not the hard-coded list.
19697
19698 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
19699             Bruno Haible  <bruno@clisp.org>
19700
19701         passfd module, part 3.
19702         * lib/passfd.h (recvfd): Add a flags argument.
19703         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
19704         (recvfd): Add a flags argument.
19705         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
19706         exists.
19707         * modules/passfd (Depends-on): Add cloexec.
19708         Suggested by Eric Blake.
19709
19710 2011-03-13  Bruno Haible  <bruno@clisp.org>
19711
19712         passfd module, part 2, tweaks.
19713         * modules/passfd (Files): Reorder.
19714         (Depends-on): Remove errno.
19715         (Include): Remove <sys/socket.h>, <sys/un.h>.
19716         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
19717         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
19718         specification header. Include <sys/socket.h> always. Don't include
19719         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
19720         (sendfd): Clarify that it sets errno when it fails.
19721         (recvfd): Fix specification.
19722
19723 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
19724
19725         passfd module, part 2.
19726         * modules/passfd: New file.
19727         * lib/passfd.h: New file.
19728         * lib/passfd.c: New file.
19729
19730 2011-03-12  Bruno Haible  <bruno@clisp.org>
19731
19732         wcswidth, mbswidth: Avoid integer overflow.
19733         * lib/wcswidth.c: Include <limits.h>.
19734         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
19735         * lib/mbswidth.c: Include <limits.h>.
19736         (mbsnwidth): Avoid 'int' overflow.
19737         Reported by Jim Meyering.
19738
19739 2011-03-12  Bruno Haible  <bruno@clisp.org>
19740
19741         futimens, utimensat: Avoid endless recursion on Solaris 10.
19742         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
19743         Solaris.
19744         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
19745         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
19746
19747 2011-03-11  Jim Meyering  <meyering@redhat.com>
19748
19749         maint.mk: relax a regexp to accommodate other formatting styles
19750         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
19751         between "ngettext" and the following "(".
19752
19753 2011-03-11  Pádraig Brady <P@draigBrady.com>
19754
19755         maint.mk: suppress a false positive warning
19756         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
19757         diagnostics are marked with ngettext.
19758
19759 2011-03-10  Eric Blake  <eblake@redhat.com>
19760
19761         wchar: add explicit dependencies, for Tru64
19762         * modules/mbmemcasecoll (Depends-on): Add wchar.
19763         * modules/mbtowc (Depends-on): Likewise.
19764         * modules/vasnprintf (Depends-on): Likewise.
19765         * modules/unistdio/u-printf-args (Depends-on): Likewise.
19766         * modules/wctomb (Depends-on): Likewise.
19767         Reported by Peter O'Gorman.
19768
19769 2011-03-08  Bruno Haible  <bruno@clisp.org>
19770
19771         passfd module, part 1, tweaks.
19772         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
19773         Improve indentation. Improve AC_MSG_CHECKING messages.
19774         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
19775         gl_SOCKET_FAMILIES.
19776
19777 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
19778
19779         passfd module, part 1.
19780         * m4/afunix.m4: New file.
19781         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
19782         sockets.
19783
19784 2011-03-08  Bruno Haible  <bruno@clisp.org>
19785
19786         regex-quote: New API.
19787         * lib/regex-quote.h: Include <stdbool.h>.
19788         (struct regex_quote_spec): New type.
19789         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
19790         New declarations.
19791         (regex_quote_length, regex_quote_copy, regex_quote): Take a
19792         'const struct regex_quote_spec *' argument.
19793         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
19794         (pcre_special): New constant.
19795         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
19796         New functions.
19797         (regex_quote_length, regex_quote_copy, regex_quote): Take a
19798         'const struct regex_quote_spec *' argument.
19799         * modules/regex-quote (Depends-on): Add stdbool.
19800         * tests/test-regex-quote.c (check): Update for new API. Add test for
19801         anchored results.
19802         * NEWS: Mention the API change.
19803         Reported by Reuben Thomas and Eric Blake.
19804
19805 2011-03-06  Bruno Haible  <bruno@clisp.org>
19806
19807         regex-quote: Fix creation of POSIX extended regular expressions.
19808         * lib/regex-quote.c (ere_special): Add grouping and alternation
19809         operators.
19810
19811 2011-03-05  Bruno Haible  <bruno@clisp.org>
19812
19813         doc: Improve doc regarding autopoint vs. gnulib.
19814         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
19815         disable autopoint while running autoreconf.
19816         Suggested by Ralf Wildenhues.
19817
19818 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19819
19820         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
19821         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
19822
19823 2011-03-03  Bruce Korb  <bkorb@gnu.org>
19824
19825         parse-duration: remove xalloc.h dependency
19826         * lib/parse-duration.c (parse_period): handle NULL return from
19827         strdup instead of calling xstrdup().
19828         * modules/parse-duration: remove "xalloc" dependency
19829
19830 2011-03-03  Matthew Booth  <mbooth@redhat.com>
19831
19832         bootstrap: honor m4_base when running aclocal
19833         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
19834
19835 2011-03-02  Jim Meyering  <meyering@redhat.com>
19836
19837         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
19838         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
19839         on request from Matt Booth.
19840
19841 2011-03-01  Eric Blake  <eblake@redhat.com>
19842
19843         test-link: work on Hurd
19844         * tests/test-link.h (test_link): Hurd rejects linking directories
19845         with EISDIR instead of the POSIX-mandated EPERM.
19846
19847 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
19848
19849         stdio: simplify by moving files to printf-posix, sigpipe
19850         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
19851         since this symbol is needed only if printf is replaced.
19852         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
19853         Require gl_ASM_SYMBOL_PREFIX.
19854         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
19855         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
19856         (Depends-on): Add 'raise'.
19857         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
19858         * modules/stdio (Files): Remove lib/stdio-write.c,
19859         m4/asm-underscore.m4.
19860         (Depends-on): Remove 'raise'.
19861
19862         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
19863         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
19864         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
19865         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
19866
19867 2011-02-28  Bruno Haible  <bruno@clisp.org>
19868
19869         localcharset: Assume ANSI C behaviour of free().
19870         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
19871         calling free().
19872         Suggested by Simon Josefsson <simon@josefsson.org>.
19873
19874 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
19875             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
19876             Bruno Haible  <bruno@clisp.org>  (tiny change)
19877
19878         On Cygwin, use /proc file system instead of win32 API.
19879         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
19880         Win32 file names.
19881         (DllMain): Simplify by removing Cygwin specific code.
19882         (find_shared_library_fullname): Use Linux specific implementation also
19883         for Cygwin.
19884         (get_shared_library_fullname): Update accordingly.
19885         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
19886         Win32 file names.
19887         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
19888         Cygwin specific code.
19889
19890 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
19891             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
19892
19893         Fix OpenMP flag detection for various Fortran compilers.
19894         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
19895         OpenMP-conditional compilation construct, to force compile
19896         failure with missing OpenMP flag.
19897         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
19898
19899 2011-02-25  Eric Blake  <eblake@redhat.com>
19900
19901         strstr: expand test coverage
19902         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
19903         compilation.
19904         * tests/test-memmem.c (main): Duplicate tests.
19905         * tests/test-strcasestr.c (main): Likewise.
19906         * tests/test-c-strcasestr.c (main): Likewise.
19907
19908 2011-02-25  Jim Meyering  <meyering@redhat.com>
19909
19910         maint.mk: detect missing-NL-at-EOF, too
19911         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
19912         it also detects when a file lacks a newline at EOF.
19913         (require_exactly_one_NL_at_EOF_): Renamed from
19914         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
19915         since people may well have .x-sc_... file names tied to the
19916         existing name.  Suggested by Eric Blake.
19917
19918 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
19919
19920         dirname: move m4/dos.m4 functionality into lib/dosname.h
19921
19922         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
19923         extracts symbols from it, puts them into config.h; but it's much
19924         easier to use the symbols directly.  filename.h already does this,
19925         but it disagrees with dos.m4 in some respects.  This patch
19926         introduces a different include file dosname.h that packages up
19927         dos.m4, and then later we can work on merging filename.h and
19928         dosname.h.  Applications that need only the easy-to-configure
19929         symbols should consider including dosname.h rather than dirname.h.
19930         * NEWS: Mention incompatible changes.
19931         * m4/dos.m4: Remove.
19932         * lib/dosname.h, modules/dosname: New files.
19933         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
19934         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
19935         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
19936         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
19937         Include dosname.h, not dirname.h.
19938         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
19939         Include dosname.h, for definitions of symbols like ISSLASH
19940         that used to be in config.h.
19941         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
19942         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
19943         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
19944         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
19945         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
19946         * modules/rmdir (Files): Likewise.
19947         * modules/stat (Files): Likewise.
19948         * modules/unlink (Files): Likewise.
19949         * modules/dirname-lgpl (Depends-on): Add dosname.
19950         * modules/lstat (Depends-on): Likewise.
19951         * modules/openat (Depends-on): Likewise.
19952         * modules/rmdir (Depends-on): Likewise.
19953         * modules/savewd (Depends-on): Likewise.
19954         * modules/stat (Depends-on): Likewise.
19955         * modules/unlink (Depends-on): Likewise.
19956         * modules/openat (Depends-on): Remove dirname-lgpl.
19957         * modules/savewd (Depends-on): Likewise.
19958         * tests/test-dirname.c: Do not use removed symbols like
19959         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
19960         the remaining symbols, e.g., ISSLASH ('\\').
19961
19962 2011-02-25  Eric Blake  <eblake@redhat.com>
19963
19964         strstr: revert patches that introduced bug and pessimization
19965         * lib/str-two-way.h: Add another reference.
19966         (two_way_short_needle, two_way_long_needle): Revert changes from
19967         2011-02-24; they pessimize search speed.
19968         (critical_factorization): Partially revert changes from
19969         2010-06-22; they violate the requirement that the left half of the
19970         needle be smaller than the period of the needle.
19971
19972 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
19973
19974         filenamecat: remove unnecessary dependency on dirname-lgpl
19975         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
19976         is no direct dependency, just an indirect one via filenamecat-lgpl.
19977
19978         remove: remove unnecessary use of m4/dos.m4
19979         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
19980         * modules/remove (FILES): Remove m4/dos.m4.
19981
19982         * lib/openat-proc.c: Don't include dirname.h; not needed.
19983
19984         backupfile: remove unnecessary use of m4/dos.m4
19985         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
19986         of its symbols are used by the backupfile code.  backupfile.c does
19987         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
19988         for the rare case of programs that want all their backup file
19989         names to live within 8+3 limits, and dos.m4 doesn't address that.
19990         * modules/backupfile (Files): Remove m4/dos.m4.
19991
19992 2011-02-24  Jim Meyering  <meyering@redhat.com>
19993
19994         strstr: fix a bug whereby strstr would mistakenly return NULL
19995         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
19996         in period calculation.
19997         (two_way_long_needle): Likewise.
19998         The original problem was reported by Mike Stump in
19999         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
20000         Ralf Wildenhues provided the short needle and haystack.
20001         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
20002         Add a more involved test to trigger the bug in two_way_long_needle.
20003
20004 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
20005
20006         gnulib-tool: remove use of bold display in help screen
20007         * gnulib-tool (func_usage): Do not use bold display anymore in the
20008         help screen.  That was just meant to be a temporary emphasis for a
20009         backward-incompatible change.
20010
20011 2011-02-23  Bruno Haible  <bruno@clisp.org>
20012
20013         Fix misindentation of preprocessor directives.
20014         * lib/argp-namefrob.h: Reindent preprocessor directives.
20015         * lib/getopt_int.h (struct _getopt_data): Likewise.
20016         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
20017         * lib/vasnprintf.c (decode_long_double): Likewise.
20018         * tests/test-argmatch.c: Insert blank lines, for clarity.
20019         * tests/test-exclude.c: Likewise.
20020
20021 2011-02-22  Bruno Haible  <bruno@clisp.org>
20022
20023         ioctl: Fix for MacOS X in 64-bit mode.
20024         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
20025         value.
20026         Suggested by Eric Blake.
20027         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
20028
20029 2011-02-22  Jim Meyering  <meyering@redhat.com>
20030
20031         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
20032         * Makefile (sc_cpp_indent_check): Don't limit the check to files
20033         in lib/.
20034
20035 2011-02-22  Eric Blake  <eblake@redhat.com>
20036
20037         maint: avoid any CDPATH issue
20038         * Makefile (sc_cpp_indent_check): Anchor cd argument.
20039
20040         maint: adjust cpp indentation for my modules, as well
20041         * Makefile (sc_cpp_indent_check): Add my name.
20042         * lib/fbufmode.c: Filter through cppi.
20043         * lib/fpurge.c: Likewise.
20044         * lib/freadable.c: Likewise.
20045         * lib/freading.c: Likewise.
20046         * lib/fwritable.c: Likewise.
20047         * lib/fwriting.c: Likewise.
20048         * lib/sigaction.c: Likewise.
20049
20050 2011-02-22  Jim Meyering  <meyering@redhat.com>
20051
20052         maint: adjust cpp indentation to reflect nesting depth
20053         I.e., in a block of code that begins with an unnested "#if",
20054         put one space between the "#" in column 1 and following token.
20055         For example,
20056         -#include <sys/vfs.h>
20057         +# include <sys/vfs.h>
20058         Do this only in .c files that are part of a module I maintain.
20059         * lib/linkat.c: Filter through cppi.
20060         * lib/nanosleep.c: Likewise.
20061         * lib/openat.c: Likewise.
20062         * lib/openat-die.c: Likewise.
20063         * lib/dup3.c: Likewise.
20064         * lib/fchownat.c: Likewise.
20065         * lib/flock.c: Likewise.
20066         * lib/fsync.c: Likewise.
20067         * lib/fts.c: Likewise.
20068         * lib/getpass.c: Likewise.
20069         * lib/gettimeofday.c: Likewise.
20070         * lib/userspec.c: Likewise.
20071         * Makefile (sc_cpp_indent_check): New rule, to check this.
20072
20073 2011-02-22  Bruno Haible  <bruno@clisp.org>
20074
20075         New module 'wctomb'.
20076         * lib/stdlib.in.h (wctomb): New declaration.
20077         * lib/wctomb.c: New file.
20078         * lib/wctomb-impl.h: New file.
20079         * m4/wctomb.m4: New file.
20080         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
20081         REPLACE_WCTOMB.
20082         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
20083         REPLACE_WCTOMB.
20084         * modules/wctomb: New file.
20085         * tests/test-stdlib-c++.cc: Test signature of wctomb.
20086         * doc/posix-functions/wctomb.texi: Mention the new module.
20087         * modules/wctob (Depends-on): Add wctomb.
20088
20089 2011-02-22  Bruno Haible  <bruno@clisp.org>
20090
20091         New module 'mbtowc'.
20092         * lib/stdlib.in.h (mbtowc): New declaration.
20093         * lib/mbtowc.c: New file.
20094         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
20095         * m4/mbtowc.m4: New file.
20096         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
20097         REPLACE_MBTOWC.
20098         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
20099         REPLACE_MBTOWC.
20100         * modules/mbtowc: New file.
20101         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
20102         * doc/posix-functions/mbtowc.texi: Mention the new module.
20103         * modules/btowc (Depends-on): Add mbtowc.
20104
20105 2011-02-22  Bruno Haible  <bruno@clisp.org>
20106
20107         wcrtomb: Add more tests for native Windows platforms.
20108         * tests/test-wcrtomb-w32-1.sh: New file.
20109         * tests/test-wcrtomb-w32-2.sh: New file.
20110         * tests/test-wcrtomb-w32-3.sh: New file.
20111         * tests/test-wcrtomb-w32-4.sh: New file.
20112         * tests/test-wcrtomb-w32-5.sh: New file.
20113         * tests/test-wcrtomb-w32.c: New file.
20114         * modules/wcrtomb-tests (Files): Add them.
20115         (Makefile.am): Arrange to run these tests.
20116         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
20117         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
20118
20119 2011-02-20  Bruno Haible  <bruno@clisp.org>
20120
20121         wcrtomb: Enhance test.
20122         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
20123
20124 2011-02-20  Bruno Haible  <bruno@clisp.org>
20125
20126         mbrtowc: Tiny optimization.
20127         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
20128
20129 2011-02-20  Jim Meyering  <meyering@redhat.com>
20130
20131         test-exclude.c: remove unmatched #endif
20132         * tests/test-exclude.c: Remove stray #endif, left over from
20133         the change of a week ago.
20134
20135 2011-02-19  Jim Meyering  <meyering@redhat.com>
20136
20137         git-version-gen: skip "-dirty" check when appropriate
20138         * build-aux/git-version-gen: Don't run any git commands when the
20139         version string comes from .tarball-version.  Prior to this, we
20140         would run git update-index --refresh even from a just-unpacked
20141         tarball directory, and that could affect a .git/ directory in a
20142         parent of the build directory.  Reported by Mike Frysinger.
20143
20144 2011-02-19  Bruno Haible  <bruno@clisp.org>
20145
20146         unictype/property-byname: Reduce the size of the 'data' segment.
20147         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
20148
20149 2011-02-19  Bruno Haible  <bruno@clisp.org>
20150
20151         unictype/scripts: Reduce the size of the 'data' segment.
20152         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
20153         '%pic'.
20154         * lib/unictype/scripts_byname.gperf: Regenerated.
20155
20156 2011-02-19  Bruno Haible  <bruno@clisp.org>
20157
20158         stdint: Update documentation.
20159         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
20160
20161 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
20162
20163         stdint: omit redundant check for wchar.h
20164         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
20165         always tests whether wchar.h exists, so remove the now-redundant test.
20166
20167 2011-02-18  Bruno Haible  <bruno@clisp.org>
20168
20169         stdint: Cut dependency to module 'wchar'.
20170         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
20171         include the necessary prerequisites.
20172         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
20173         * modules/stdint (Depends-on): Remove wchar.
20174         (Makefile.am): Substitute HAVE_WCHAR_H.
20175         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
20176
20177 2011-02-18  Eric Blake  <eblake@redhat.com>
20178
20179         longlong: skip, rather than fail, on cross-compilation
20180         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
20181         when cross-compiling; regression from 2011-02-16.
20182
20183 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
20184
20185         * NEWS: Mention 2011-02-08 change to stdlib.
20186
20187 2011-02-17  Bruno Haible  <bruno@clisp.org>
20188
20189         getloadavg: Add comments about platforms.
20190         * m4/getloadavg.m4: Add comment.
20191         * lib/getloadavg.c: Likewise.
20192
20193 2011-02-17  Bruno Haible  <bruno@clisp.org>
20194
20195         getloadavg: Fix link error on Solaris 2.6.
20196         * modules/getloadavg (Link): New section.
20197         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
20198         linking test-getloadavg.
20199         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
20200         getloadavg.
20201
20202 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
20203
20204         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
20205         It was 'int', but this doesn't match the IRIX 6.5 manual.
20206         Suggested by Bruno Haible in
20207         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
20208
20209 2011-02-17  Bruno Haible  <bruno@clisp.org>
20210
20211         havelib: Fix comments.
20212         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
20213         change.
20214
20215 2011-02-17  Bruno Haible  <bruno@clisp.org>
20216
20217         havelib: Update config.rpath.
20218         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
20219
20220 2011-02-17  Bruno Haible  <bruno@clisp.org>
20221
20222         getloadavg test: Add some plausibility checks.
20223         * tests/test-getloadavg.c (check_avg): Print a warning when the value
20224         is improbable.
20225
20226 2011-02-16  Eric Blake  <eblake@redhat.com>
20227
20228         maintainer-makefile: make syntax-check a no-op from tarballs
20229         * top/maint.mk (no-vc-detected): New rule.
20230         (local-checks-available): Use it to avoid hanging if someone tries
20231         'make syntax-check' from a tarball.  Also append to any non-syntax
20232         checks already defined in cfg.mk.
20233
20234 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
20235
20236         longlong: tune, particularly for common case of c99
20237
20238         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
20239         or running anything if c99, or if unsigned long long int does not
20240         work.  In either case, we know the answer without further tests.
20241         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
20242         it at most once, and use its results for both long long int and
20243         unsigned long long int.  This is more likely to be efficient in
20244         the common case where the program wants to check for both long
20245         long int and unsigned long long int.
20246         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
20247         since the answer is already known.
20248
20249 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
20250
20251         getloadavg: set errno
20252         * lib/getloadavg.c: Set errno when returning -1.  If no other
20253         error number looks appropriate, set it to ENOSYS if the getloadavg
20254         looks like it can't possibly ever work, ENOTSUP otherwise.
20255         Suggested by Bruno Haible in
20256         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
20257
20258         getloadavg: trim unused parts and speed up 'configure'
20259         * NEWS: Document this.
20260         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
20261         always compiled if getloadavg is absent.
20262         Move test code to ...
20263         * tests/test-getloadavg.c: New file, containing previous
20264         contents of test from lib/getloadavg.c.  It also contains
20265         suggestions by Bruno Haible in
20266         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
20267         * modules/getloadavg-tests: New file.
20268         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
20269         Do tests in the same order as they're needed for getloadavg.c.
20270         Omit setgid-related tests that generate symbols KMEM_GROUP,
20271         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
20272         Do only the tests that are needed to see whether the system has
20273         getloadavg, moving the other tests into ...
20274         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
20275         NLIST_NAME_UNION; nobody should be using it.  Do not define
20276         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
20277         relevant, as the user of this module shouldn't care how getloadavg
20278         is implemented.
20279
20280         getloadavg: omit unused var
20281         * lib/getloadavg.c (getloadavg): Omit unused local variable.
20282
20283 2011-02-15  Jim Meyering  <meyering@redhat.com>
20284
20285         doc: update users.txt
20286         * users.txt: Update iwhd's URL.
20287
20288 2011-02-13  Bruno Haible  <bruno@clisp.org>
20289
20290         Consistent macro naming for macros that use GCC __attribute__.
20291         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
20292         _ATTRIBUTE_NONNULL_.
20293         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
20294         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
20295         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
20296         ATTRIBUTE_DEPRECATED.
20297         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
20298         ATTRIBUTE_NORETURN.
20299         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
20300         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
20301         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
20302         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
20303         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
20304         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
20305         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
20306         ATTRIBUTE_SENTINEL.
20307         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
20308         ATTRIBUTE_RETURN_CHECK.
20309         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
20310         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
20311         ATTRIBUTE_NORETURN.
20312         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
20313         Reported by Paul Eggert.
20314
20315 2011-02-13  Bruno Haible  <bruno@clisp.org>
20316
20317         Don't interfere with a program's definition of __attribute__.
20318         * lib/argp.h (__attribute__): Remove definition.
20319         (_GL_ATTRIBUTE_FORMAT): New macro.
20320         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
20321         * lib/argp-fmtstream.h (__attribute__): Remove definition.
20322         (_GL_ATTRIBUTE_FORMAT): New macro.
20323         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
20324         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
20325         GCC 3 or newer.
20326         * lib/error.h (__attribute__): Remove definition.
20327         (_GL_ATTRIBUTE_FORMAT): New macro.
20328         (error, error_at_line): Use it.
20329         * lib/hash.h (__attribute__): Remove definition.
20330         (ATTRIBUTE_WUR): Update definition. Define always.
20331         * lib/openat.h (__attribute__): Remove definition.
20332         (ATTRIBUTE_NORETURN): Update definition. Define always.
20333         * lib/sigpipe-die.h (__attribute__): Remove definition.
20334         (ATTRIBUTE_NORETURN): Update definition. Define always.
20335         * lib/vasnprintf.h (__attribute__): Remove definition.
20336         (_GL_ATTRIBUTE_FORMAT): New macro.
20337         (asnprintf, vasnprintf): Use it.
20338         * lib/xalloc.h (__attribute__): Remove definition.
20339         (ATTRIBUTE_NORETURN): Update definition. Define always.
20340         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
20341         * lib/xmemdup0.h (__attribute__): Remove definition.
20342         (ATTRIBUTE_NORETURN): Update definition. Define always.
20343         * lib/xprintf.h (__attribute__): Remove definition.
20344         (_GL_ATTRIBUTE_FORMAT): New macro.
20345         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
20346         * lib/xstrtol.h (__attribute__): Remove definition.
20347         (ATTRIBUTE_NORETURN): Update definition. Define always.
20348         * lib/xvasprintf.h (__attribute__): Remove definition.
20349         (_GL_ATTRIBUTE_FORMAT): New macro.
20350         (xasprintf, xvasprintf): Use it.
20351         * tests/test-argmatch.c (__attribute__): Remove definition.
20352         (ATTRIBUTE_NORETURN): Update definition. Define always.
20353         * tests/test-exclude.c (__attribute__): Remove definition.
20354         (ATTRIBUTE_NORETURN): Update definition. Define always.
20355         Reported by Paul Eggert.
20356
20357 2011-02-13  Bruno Haible  <bruno@clisp.org>
20358
20359         mbrtowc: Add more tests for native Windows platforms.
20360         * tests/test-mbrtowc-w32-1.sh: New file.
20361         * tests/test-mbrtowc-w32-2.sh: New file.
20362         * tests/test-mbrtowc-w32-3.sh: New file.
20363         * tests/test-mbrtowc-w32-4.sh: New file.
20364         * tests/test-mbrtowc-w32-5.sh: New file.
20365         * tests/test-mbrtowc-w32.c: New file.
20366         * modules/mbrtowc-tests (Files): Add them.
20367         (Makefile.am): Arrange to run these tests.
20368         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
20369         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
20370
20371 2011-02-13  Bruno Haible  <bruno@clisp.org>
20372
20373         mbrtowc: Work around native Windows bug.
20374         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
20375         guess when no suitable locale for testing was found.
20376         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
20377
20378 2011-02-13  Bruno Haible  <bruno@clisp.org>
20379
20380         mbsinit: Work around mingw bug.
20381         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
20382         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
20383         Windows.
20384         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
20385
20386 2011-02-13  Bruno Haible  <bruno@clisp.org>
20387
20388         mbsinit: Don't crash for a NULL argument.
20389         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
20390         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
20391
20392 2011-02-13  Bruno Haible  <bruno@clisp.org>
20393
20394         Don't interfere with a program's definition of __attribute__.
20395         * lib/stdio.in.h (__attribute__): Remove definition.
20396         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
20397         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
20398         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
20399         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
20400         * lib/string.in.h (__attribute__): Remove definition.
20401         Reported by Paul Eggert.
20402
20403 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
20404
20405         stdlib: don't get in the way of non-GCC __attribute__
20406         See thread starting at
20407         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
20408         Revert previous stdlib change, installing the following instead:
20409         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
20410         to get in the way of a non-GCC compiler that supports __attribute__.
20411         (_GL_ATTRIBUTE_RETURN): New macro.
20412         (_Exit): Use it instead of __attribute__.
20413
20414 2011-02-12  Bruno Haible  <bruno@clisp.org>
20415
20416         quotearg test: Avoid test failure on mingw.
20417         * tests/test-quotearg.sh: Convert the locale identifier from native
20418         Windows syntax to Unix syntax.
20419
20420 2011-02-12  Bruno Haible  <bruno@clisp.org>
20421
20422         setlocale: Prefer gnulib's override over libintl's override.
20423         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
20424         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
20425         GNULIB_defined_setlocale is set.
20426
20427 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
20428
20429         stdlib: support non-GCC __attribute__
20430
20431         Fix a serious and tricky problem encountered when attempting to
20432         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
20433         5.5, but it crashed due to memory corruption on Solaris 10 with
20434         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
20435         bits that are otherwise zero.  This tagging is optional inside
20436         Emacs but is preferred and is used when __attribute__ ((__aligned
20437         (8))) works, as it does with both recent-enough GCC and with Sun C
20438         5.11.  However, Sun C 5.11 is not GCC and does not #define
20439         __GNUC__ and __GNUC_MINOR__.
20440
20441         When I added the getloadavg module to Emacs, it brought in
20442         stdlib.in.h, which contained this fragment:
20443
20444            #ifndef __attribute__
20445            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
20446            #  define __attribute__(Spec)   /* empty */
20447            # endif
20448            #endif
20449
20450         When files that include <stdlib.h> were compiled with Sun C 5.11,
20451         the above code disabled __attribute__ ((__aligned (8))), which
20452         caused variables to not be properly aligned, which eventually led
20453         to the pointer corruption mentioned above.  (This was a bit hard
20454         to diagnose, unfortunately.)
20455
20456         Several "#define __attribute__(X) /* empty */" code snippets need
20457         to be eradicated from Gnulib to work with non-GCC compilers that
20458         support __attribute__.  The Autoconf way to do this is to test for
20459         each kind of attribute that we want support for, and selectively
20460         enable that in source code.
20461
20462         Fix this problem just for stdlib.h, by adding a test for the
20463         __noreturn__ attribute, and change stdlib.in.h to use that test
20464         when needed.  This technique can be easily generalized to the
20465         other *.in.h files and attributes, and a similar technique can be
20466         used for *.h and *.c files.  This patch is enough to solve the
20467         problem for Emacs + getloadavg, and I thought I'd publish it for
20468         feedback before undertaking further, similar fixes in other
20469         modules.
20470
20471         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
20472         because it's not needed for stdlib.h.  It merely substitutes the
20473         value directly into stdlib.h.  We may well need to #define it, or
20474         similar symbols, for other modules, but it's nice to also have an
20475         option to not #define it for applications like Emacs that do not
20476         need it.
20477
20478         * lib/stdlib.in.h (__attribute__): Do not #define.
20479         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
20480         be defined only if the _Exit module is also used.
20481         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
20482         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
20483         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
20484         platforms.
20485         * modules/_Exit (Files): Add m4/attribute.m4.
20486         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
20487         * m4/attribute.m4: New file.
20488
20489 2011-02-12  Bruno Haible  <bruno@clisp.org>
20490
20491         wcsrtombs: Work around bug on native Windows.
20492         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
20493         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
20494         instead of len.
20495         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
20496
20497 2011-02-12  Bruno Haible  <bruno@clisp.org>
20498
20499         mbsrtowcs: Work around bug on native Windows.
20500         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
20501         against mingw bug.
20502         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
20503
20504 2011-02-12  Bruno Haible  <bruno@clisp.org>
20505
20506         Avoid setlocale bugs in tests.
20507         * modules/btowc (Dependencies): Add setlocale.
20508         * modules/c-strcase (Dependencies): Likewise.
20509         * modules/mbmemcasecmp (Dependencies): Likewise.
20510         * modules/mbmemcasecoll (Dependencies): Likewise.
20511         * modules/mbrtowc (Dependencies): Likewise.
20512         * modules/mbscasecmp (Dependencies): Likewise.
20513         * modules/mbscasestr (Dependencies): Likewise.
20514         * modules/mbschr (Dependencies): Likewise.
20515         * modules/mbscspn (Dependencies): Likewise.
20516         * modules/mbsinit (Dependencies): Likewise.
20517         * modules/mbsncasecmp (Dependencies): Likewise.
20518         * modules/mbsnrtowcs (Dependencies): Likewise.
20519         * modules/mbspbrk (Dependencies): Likewise.
20520         * modules/mbspcasecmp (Dependencies): Likewise.
20521         * modules/mbsrchr (Dependencies): Likewise.
20522         * modules/mbsrtowcs (Dependencies): Likewise.
20523         * modules/mbsspn (Dependencies): Likewise.
20524         * modules/mbsstr (Dependencies): Likewise.
20525         * modules/nl_langinfo (Dependencies): Likewise.
20526         * modules/quotearg (Dependencies): Likewise.
20527         * modules/unicase/locale-language (Dependencies): Likewise.
20528         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
20529         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
20530         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
20531         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
20532         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
20533         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
20534         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
20535         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
20536         * modules/vasnprintf-posix (Dependencies): Likewise.
20537         * modules/wcrtomb (Dependencies): Likewise.
20538         * modules/wcsnrtombs (Dependencies): Likewise.
20539         * modules/wcsrtombs (Dependencies): Likewise.
20540
20541 2011-02-12  Bruno Haible  <bruno@clisp.org>
20542
20543         setlocale: Workaround native Windows bug.
20544         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
20545         succeeds but sets LC_CTYPE to "C", report a failure.
20546         * tests/test-setlocale2.sh: New file.
20547         * tests/test-setlocale2.c: New file.
20548         * modules/setlocale-tests (Files): Add the new files.
20549         (Makefile.am): Enable test-setlocale2.sh test.
20550         * doc/posix-functions/setlocale.texi: Mention workaround.
20551
20552 2011-02-11  Bruno Haible  <bruno@clisp.org>
20553
20554         Tests for module 'setlocale'.
20555         * modules/setlocale-tests: New file.
20556         * tests/test-setlocale1.sh: New file.
20557         * tests/test-setlocale1.c: New file.
20558
20559         New module 'setlocale'.
20560         * lib/locale.in.h (setlocale): New declaration.
20561         * lib/setlocale.c: New file, based on
20562         gettext/gettext-runtime/intl/setlocale.c.
20563         * m4/setlocale.m4: New file.
20564         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
20565         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
20566         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
20567         REPLACE_SETLOCALE.
20568         * modules/setlocale: New file.
20569         * tests/test-locale-c++.cc: Test the declaration of setlocale.
20570         * doc/posix-functions/setlocale.texi: Mention the new module.
20571
20572 2011-02-11  Bruno Haible  <bruno@clisp.org>
20573
20574         Prepare for locale dependent tests on mingw.
20575         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
20576         because it has the wrong locale encoding.
20577         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
20578         French_France.1252 instead of "fr".
20579         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
20580         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
20581         because it has the wrong locale encoding.
20582         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
20583         native Windows, try Turkish_Turkey.65001.
20584         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
20585         Chinese_China.54936.
20586
20587         Prepare for locale dependent tests on mingw.
20588         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
20589         differently.
20590         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
20591         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
20592         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
20593         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
20594
20595 2011-02-11  Eric Blake  <eblake@redhat.com>
20596
20597         strptime: avoid compiler warnings
20598         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
20599         compiler warnings about dead code.
20600         Reported by Daniel P. Berrange.
20601
20602 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
20603
20604         doc: update users.txt
20605         * users.txt: Add rcs.
20606
20607 2011-02-10  John W. Eaton  <jwe@gnu.org>
20608
20609         doc: update users.txt
20610         * users.txt: Add octave.
20611
20612 2011-02-10  Jim Meyering  <meyering@redhat.com>
20613
20614         doc: update users.txt
20615         * users.txt: Add iwhd.
20616
20617 2011-02-09  Bruno Haible  <bruno@clisp.org>
20618
20619         gnulib-tool: Make copyright notice adjustment more robust.
20620         * gnulib-tool (func_import): In sed_transform_main_lib_file,
20621         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
20622         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
20623         License".
20624         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
20625
20626 2011-02-06  Bruno Haible  <bruno@clisp.org>
20627
20628         New module 'towctrans'.
20629         * modules/towctrans: New file.
20630         * lib/wctype.in.h (towctrans): New declaration.
20631         * lib/towctrans.c: New file.
20632         * lib/towctrans-impl.h: New file.
20633         * m4/towctrans.m4: New file.
20634         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
20635         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
20636         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
20637         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
20638         * doc/posix-functions/towctrans.texi: Mention the new module.
20639
20640 2011-02-06  Bruno Haible  <bruno@clisp.org>
20641
20642         New module 'wctrans'.
20643         * modules/wctrans: New file.
20644         * lib/wctype.in.h (wctrans): New declaration.
20645         * lib/wctrans.c: New file.
20646         * lib/wctrans-impl.h: New file.
20647         * m4/wctrans.m4: New file.
20648         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
20649         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
20650         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
20651         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
20652         * doc/posix-functions/wctrans.texi: Mention the new module.
20653
20654 2011-02-06  Bruno Haible  <bruno@clisp.org>
20655
20656         New module 'iswctype'.
20657         * modules/iswctype: New file.
20658         * lib/wctype.in.h (iswctype): New declaration.
20659         * lib/iswctype.c: New file.
20660         * lib/iswctype-impl.h: New file.
20661         * m4/iswctype.m4: New file.
20662         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
20663         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
20664         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
20665         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
20666         * doc/posix-functions/iswctype.texi: Mention the new module and the
20667         HP-UX 11.00 problem.
20668
20669 2011-02-06  Bruno Haible  <bruno@clisp.org>
20670
20671         New module 'wctype'.
20672         * modules/wctype: Change to represent the wctype() substitute.
20673         * lib/wctype.in.h (wctype): New declaration.
20674         * lib/wctype.c: New file.
20675         * lib/wctype-impl.h: New file.
20676         * m4/wctype.m4: New file.
20677         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
20678         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
20679         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
20680         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
20681         * doc/posix-functions/wctype.texi: Mention the new module and the
20682         HP-UX 11.00 problem.
20683
20684 2011-02-06  Bruno Haible  <bruno@clisp.org>
20685
20686         wctype-h: Ensure wctype_t and wctrans_t are defined.
20687         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
20688         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
20689         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
20690         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
20691         HAVE_WCTRANS_T.
20692         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
20693
20694 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
20695
20696         flock: fix license typo
20697
20698         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
20699         omitted.
20700
20701 2011-02-08  Bruno Haible  <bruno@clisp.org>
20702
20703         Split large sed scripts, for HP-UX sed.
20704         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
20705         to avoid HP-UX limit of 99 commands, in the near future.
20706         * modules/stdlib (Makefile.am): Likewise.
20707         * modules/unistd (Makefile.am): Likewise.
20708         * modules/wchar (Makefile.am): Likewise.
20709         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
20710         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
20711         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
20712
20713 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
20714             Bruno Haible  <bruno@clisp.org>
20715
20716         stdlib: improve random_r modularization
20717         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
20718         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
20719         you also need the random_r module to get this material right.
20720         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
20721         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
20722         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
20723
20724 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
20725
20726         stdlib: don't depend on stdint
20727         * lib/stdlib.in.h: Don't include <stdint.h> merely because
20728         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
20729         be independent of whether stdint.h is needed.
20730         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
20731         here, instead of ...
20732         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
20733         struct random_data should be using the random_r module, not just
20734         the stdlib module (which wouldn't make sense: what package needs
20735         just struct random_data without also needing random_r?).
20736         * modules/stdlib (Depends-on): Remove stdint.
20737
20738         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
20739         See the thread rooted at
20740         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
20741         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
20742         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
20743         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
20744         __VMS)); previously it was always included (via fcntl--.h).
20745         (getloadavg): Do not use c_strtod.  Instead, approximate it by
20746         hand; this is good enough for load averages.  Also, do not use
20747         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
20748         flags directly if available and don't bother otherwise.  (Packages
20749         that need the extra reliability should use the modules that define
20750         these flags on older platforms that lack them.)
20751         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
20752         fcntl-safer.
20753
20754 2011-02-08  Jim Meyering  <meyering@redhat.com>
20755
20756         di-set.h, ino-map.h: add multiple-inclusion guard
20757         Technically, the guard is required only for ino-map.h, due to its
20758         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
20759         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
20760         * lib/ino-map.h: Likewise.
20761
20762 2011-02-06  Bruno Haible  <bruno@clisp.org>
20763
20764         iswblank: Ensure declaration on glibc systems.
20765         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
20766         * modules/iswblank (Dependencies): Add 'extensions'.
20767         * doc/posix-functions/iswblank.texi: Document the glibc problem.
20768
20769 2011-02-06  Bruno Haible  <bruno@clisp.org>
20770
20771         New module 'iswblank'.
20772         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
20773         * modules/iswblank: New file.
20774         * modules/wctype-h (Files): Remove lib/iswblank.c.
20775         (Makefile.am): Substitute GNULIB_ISWBLANK.
20776         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
20777         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
20778         (gl_WCTYPE_H_DEFAULTS): New macro.
20779         (gl_WCTYPE_H): Require it. Remove iswblank related code.
20780         * modules/iswblank-tests: New file.
20781         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
20782         * tests/test-wctype-h.c (main): Remove iswblank tests.
20783         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
20784         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
20785         of 'wctype-h'.
20786         * NEWS: Mention the change.
20787         * modules/mbchar (Depends-on): Add iswblank.
20788
20789 2011-02-08  Bruno Haible  <bruno@clisp.org>
20790
20791         di-set tests: Refactor.
20792         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
20793         unnecessary includes.
20794         (ASSERT): Remove macro.
20795         (main): Make C90 compliant by avoiding variable declaration after
20796         statement.
20797         * modules/di-set-tests (Files): Add tests/macros.h.
20798
20799 2011-02-08  Bruno Haible  <bruno@clisp.org>
20800
20801         ino-map tests: Refactor.
20802         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
20803         unnecessary includes.
20804         (ASSERT): Remove macro.
20805         (main): Make C90 compliant by avoiding variable declaration after
20806         statement.
20807         * modules/ino-map-tests (Files): Add tests/macros.h.
20808
20809 2011-02-08  Jim Meyering  <meyering@redhat.com>
20810
20811         di-set: add "const" to a cast
20812         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
20813         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
20814
20815 2011-02-06  Bruno Haible  <bruno@clisp.org>
20816
20817         Rename module 'wctype' to 'wctype-h'.
20818         * modules/wctype-h: Renamed from modules/wctype.
20819         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
20820         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
20821         (Files, Depends-on, Makefile.am): Update.
20822         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
20823         (Files, Makefile.am): Update.
20824         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
20825         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
20826         * doc/posix-headers/wctype.texi: Update.
20827         * doc/posix-functions/iswalnum.texi: Update.
20828         * doc/posix-functions/iswalpha.texi: Update.
20829         * doc/posix-functions/iswblank.texi: Update.
20830         * doc/posix-functions/iswcntrl.texi: Update.
20831         * doc/posix-functions/iswdigit.texi: Update.
20832         * doc/posix-functions/iswgraph.texi: Update.
20833         * doc/posix-functions/iswlower.texi: Update.
20834         * doc/posix-functions/iswprint.texi: Update.
20835         * doc/posix-functions/iswpunct.texi: Update.
20836         * doc/posix-functions/iswspace.texi: Update.
20837         * doc/posix-functions/iswupper.texi: Update.
20838         * doc/posix-functions/iswxdigit.texi: Update.
20839         * doc/posix-functions/towlower.texi: Update.
20840         * doc/posix-functions/towupper.texi: Update.
20841         * NEWS: Mention the change.
20842         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
20843         * modules/mbchar (Dependencies): Likewise.
20844         * modules/mbswidth (Dependencies): Likewise.
20845         * modules/quotearg (Dependencies): Likewise.
20846         * modules/regex (Dependencies): Likewise.
20847         * modules/wcscasecmp (Dependencies): Likewise.
20848         * modules/wcsncasecmp (Dependencies): Likewise.
20849         * modules/wcwidth (Dependencies): Likewise.
20850
20851 2011-02-06  Bruno Haible  <bruno@clisp.org>
20852
20853         New module 'wcswidth'.
20854         * modules/wcswidth: New file.
20855         * lib/wchar.in.h (wcswidth): New declaration.
20856         * lib/wcswidth.c: New file.
20857         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
20858         * m4/wcswidth.m4: New file.
20859         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
20860         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
20861         REPLACE_WCSWIDTH.
20862         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
20863         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
20864         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
20865         * doc/posix-functions/wcswidth.texi: Mention the new module.
20866
20867 2011-02-06  Bruno Haible  <bruno@clisp.org>
20868
20869         New module 'wcstok'.
20870         * modules/wcstok: New file.
20871         * lib/wchar.in.h (wcstok): New declaration.
20872         * lib/wcstok.c: New file.
20873         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
20874         * m4/wcstok.m4: New file.
20875         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
20876         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
20877         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
20878         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
20879         * doc/posix-functions/wcstok.texi: Mention the new module.
20880
20881 2011-02-06  Bruno Haible  <bruno@clisp.org>
20882
20883         New module 'wcsstr'.
20884         * modules/wcsstr: New file.
20885         * lib/wchar.in.h (wcsstr): New declaration.
20886         * lib/wcsstr.c: New file.
20887         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
20888         * m4/wcsstr.m4: New file.
20889         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
20890         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
20891         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
20892         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
20893         * doc/posix-functions/wcsstr.texi: Mention the new module.
20894
20895 2011-02-06  Bruno Haible  <bruno@clisp.org>
20896
20897         New module 'wcspbrk'.
20898         * modules/wcspbrk: New file.
20899         * lib/wchar.in.h (wcspbrk): New declaration.
20900         * lib/wcspbrk.c: New file.
20901         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
20902         * m4/wcspbrk.m4: New file.
20903         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
20904         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
20905         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
20906         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
20907         * doc/posix-functions/wcspbrk.texi: Mention the new module.
20908
20909 2011-02-06  Bruno Haible  <bruno@clisp.org>
20910
20911         New module 'wcsspn'.
20912         * modules/wcsspn: New file.
20913         * lib/wchar.in.h (wcsspn): New declaration.
20914         * lib/wcsspn.c: New file.
20915         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
20916         * m4/wcsspn.m4: New file.
20917         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
20918         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
20919         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
20920         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
20921         * doc/posix-functions/wcsspn.texi: Mention the new module.
20922
20923 2011-02-06  Bruno Haible  <bruno@clisp.org>
20924
20925         New module 'wcscspn'.
20926         * modules/wcscspn: New file.
20927         * lib/wchar.in.h (wcscspn): New declaration.
20928         * lib/wcscspn.c: New file.
20929         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
20930         * m4/wcscspn.m4: New file.
20931         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
20932         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
20933         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
20934         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
20935         * doc/posix-functions/wcscspn.texi: Mention the new module.
20936
20937 2011-02-06  Bruno Haible  <bruno@clisp.org>
20938
20939         New module 'wcsrchr'.
20940         * modules/wcsrchr: New file.
20941         * lib/wchar.in.h (wcsrchr): New declaration.
20942         * lib/wcsrchr.c: New file.
20943         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
20944         * m4/wcsrchr.m4: New file.
20945         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
20946         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
20947         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
20948         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
20949         * doc/posix-functions/wcsrchr.texi: Mention the new module.
20950
20951 2011-02-06  Bruno Haible  <bruno@clisp.org>
20952
20953         New module 'wcschr'.
20954         * modules/wcschr: New file.
20955         * lib/wchar.in.h (wcschr): New declaration.
20956         * lib/wcschr.c: New file.
20957         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
20958         * m4/wcschr.m4: New file.
20959         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
20960         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
20961         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
20962         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
20963         * doc/posix-functions/wcschr.texi: Mention the new module.
20964
20965 2011-02-06  Bruno Haible  <bruno@clisp.org>
20966
20967         New module 'wcsdup'.
20968         * modules/wcsdup: New file.
20969         * lib/wchar.in.h (wcsdup): New declaration.
20970         * lib/wcsdup.c: New file.
20971         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
20972         * m4/wcsdup.m4: New file.
20973         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
20974         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
20975         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
20976         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
20977         * doc/posix-functions/wcsdup.texi: Mention the new module.
20978
20979 2011-02-06  Bruno Haible  <bruno@clisp.org>
20980
20981         New module 'wcsxfrm'.
20982         * modules/wcsxfrm: New file.
20983         * lib/wchar.in.h (wcsxfrm): New declaration.
20984         * lib/wcsxfrm.c: New file.
20985         * lib/wcsxfrm-impl.h: New file.
20986         * m4/wcsxfrm.m4: New file.
20987         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
20988         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
20989         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
20990         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
20991         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
20992
20993 2011-02-06  Bruno Haible  <bruno@clisp.org>
20994
20995         New module 'wcscoll'.
20996         * modules/wcscoll: New file.
20997         * lib/wchar.in.h (wcscoll): New declaration.
20998         * lib/wcscoll.c: New file.
20999         * lib/wcscoll-impl.h: New file.
21000         * m4/wcscoll.m4: New file.
21001         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
21002         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
21003         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
21004         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
21005         * doc/posix-functions/wcscoll.texi: Mention the new module.
21006
21007 2011-02-06  Bruno Haible  <bruno@clisp.org>
21008
21009         New module 'wcsncasecmp'.
21010         * modules/wcsncasecmp: New file.
21011         * lib/wchar.in.h (wcsncasecmp): New declaration.
21012         * lib/wcsncasecmp.c: New file.
21013         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
21014         * m4/wcsncasecmp.m4: New file.
21015         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
21016         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
21017         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
21018         HAVE_WCSNCASECMP.
21019         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
21020         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
21021
21022 2011-02-06  Bruno Haible  <bruno@clisp.org>
21023
21024         New module 'wcscasecmp'.
21025         * modules/wcscasecmp: New file.
21026         * lib/wchar.in.h (wcscasecmp): New declaration.
21027         * lib/wcscasecmp.c: New file.
21028         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
21029         * m4/wcscasecmp.m4: New file.
21030         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
21031         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
21032         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
21033         HAVE_WCSCASECMP.
21034         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
21035         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
21036
21037 2011-02-05  Bruno Haible  <bruno@clisp.org>
21038
21039         New module 'wcsncmp'.
21040         * modules/wcsncmp: New file.
21041         * lib/wchar.in.h (wcsncmp): New declaration.
21042         * lib/wcsncmp.c: New file.
21043         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
21044         * m4/wcsncmp.m4: New file.
21045         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
21046         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
21047         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
21048         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
21049         * doc/posix-functions/wcsncmp.texi: Mention the new module.
21050
21051 2011-02-05  Bruno Haible  <bruno@clisp.org>
21052
21053         New module 'wcscmp'.
21054         * modules/wcscmp: New file.
21055         * lib/wchar.in.h (wcscmp): New declaration.
21056         * lib/wcscmp.c: New file.
21057         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
21058         * m4/wcscmp.m4: New file.
21059         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
21060         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
21061         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
21062         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
21063         * doc/posix-functions/wcscmp.texi: Mention the new module.
21064
21065 2011-02-05  Bruno Haible  <bruno@clisp.org>
21066
21067         New module 'wcsncat'.
21068         * modules/wcsncat: New file.
21069         * lib/wchar.in.h (wcsncat): New declaration.
21070         * lib/wcsncat.c: New file.
21071         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
21072         * m4/wcsncat.m4: New file.
21073         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
21074         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
21075         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
21076         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
21077         * doc/posix-functions/wcsncat.texi: Mention the new module.
21078
21079 2011-02-05  Bruno Haible  <bruno@clisp.org>
21080
21081         New module 'wcscat'.
21082         * modules/wcscat: New file.
21083         * lib/wchar.in.h (wcscat): New declaration.
21084         * lib/wcscat.c: New file.
21085         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
21086         * m4/wcscat.m4: New file.
21087         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
21088         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
21089         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
21090         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
21091         * doc/posix-functions/wcscat.texi: Mention the new module.
21092
21093 2011-02-05  Bruno Haible  <bruno@clisp.org>
21094
21095         New module 'wcpncpy'.
21096         * modules/wcpncpy: New file.
21097         * lib/wchar.in.h (wcpncpy): New declaration.
21098         * lib/wcpncpy.c: New file.
21099         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
21100         * m4/wcpncpy.m4: New file.
21101         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
21102         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
21103         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
21104         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
21105         * doc/posix-functions/wcpncpy.texi: Mention the new module.
21106
21107 2011-02-05  Bruno Haible  <bruno@clisp.org>
21108
21109         New module 'wcsncpy'.
21110         * modules/wcsncpy: New file.
21111         * lib/wchar.in.h (wcsncpy): New declaration.
21112         * lib/wcsncpy.c: New file.
21113         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
21114         * m4/wcsncpy.m4: New file.
21115         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
21116         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
21117         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
21118         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
21119         * doc/posix-functions/wcsncpy.texi: Mention the new module.
21120
21121 2011-02-05  Bruno Haible  <bruno@clisp.org>
21122
21123         New module 'wcpcpy'.
21124         * modules/wcpcpy: New file.
21125         * lib/wchar.in.h (wcpcpy): New declaration.
21126         * lib/wcpcpy.c: New file.
21127         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
21128         * m4/wcpcpy.m4: New file.
21129         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
21130         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
21131         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
21132         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
21133         * doc/posix-functions/wcpcpy.texi: Mention the new module.
21134
21135 2011-02-05  Bruno Haible  <bruno@clisp.org>
21136
21137         New module 'wcscpy'.
21138         * modules/wcscpy: New file.
21139         * lib/wchar.in.h (wcscpy): New declaration.
21140         * lib/wcscpy.c: New file.
21141         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
21142         * m4/wcscpy.m4: New file.
21143         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
21144         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
21145         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
21146         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
21147         * doc/posix-functions/wcscpy.texi: Mention the new module.
21148
21149 2011-02-05  Bruno Haible  <bruno@clisp.org>
21150
21151         New module 'wcsnlen'.
21152         * modules/wcsnlen: New file.
21153         * lib/wchar.in.h (wcsnlen): New declaration.
21154         * lib/wcsnlen.c: New file.
21155         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
21156         * m4/wcsnlen.m4: New file.
21157         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
21158         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
21159         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
21160         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
21161         * doc/posix-functions/wcsnlen.texi: Mention the new module.
21162
21163 2011-02-05  Bruno Haible  <bruno@clisp.org>
21164
21165         New module 'wcslen'.
21166         * modules/wcslen: New file.
21167         * lib/wchar.in.h (wcslen): New declaration.
21168         * lib/wcslen.c: New file.
21169         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
21170         * m4/wcslen.m4: New file.
21171         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
21172         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
21173         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
21174         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
21175         * doc/posix-functions/wcslen.texi: Mention the new module.
21176
21177 2011-02-05  Bruno Haible  <bruno@clisp.org>
21178
21179         New module 'wmemset'.
21180         * modules/wmemset: New file.
21181         * lib/wchar.in.h (wmemset): New declaration.
21182         * lib/wmemset.c: New file.
21183         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
21184         * m4/wmemset.m4: New file.
21185         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
21186         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
21187         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
21188         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
21189         * doc/posix-functions/wmemset.texi: Mention the new module.
21190
21191 2011-02-05  Bruno Haible  <bruno@clisp.org>
21192
21193         New module 'wmemmove'.
21194         * modules/wmemmove: New file.
21195         * lib/wchar.in.h (wmemmove): New declaration.
21196         * lib/wmemmove.c: New file.
21197         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
21198         * m4/wmemmove.m4: New file.
21199         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
21200         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
21201         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
21202         HAVE_WMEMMOVE.
21203         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
21204         * doc/posix-functions/wmemmove.texi: Mention the new module.
21205
21206 2011-02-05  Bruno Haible  <bruno@clisp.org>
21207
21208         New module 'wmemcpy'.
21209         * modules/wmemcpy: New file.
21210         * lib/wchar.in.h (wmemcpy): New declaration.
21211         * lib/wmemcpy.c: New file.
21212         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
21213         * m4/wmemcpy.m4: New file.
21214         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
21215         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
21216         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
21217         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
21218         * doc/posix-functions/wmemcpy.texi: Mention the new module.
21219
21220 2011-02-05  Bruno Haible  <bruno@clisp.org>
21221
21222         New module 'wmemcmp'.
21223         * modules/wmemcmp: New file.
21224         * lib/wchar.in.h (wmemcmp): New declaration.
21225         * lib/wmemcmp.c: New file.
21226         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
21227         * m4/wmemcmp.m4: New file.
21228         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
21229         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
21230         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
21231         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
21232         * doc/posix-functions/wmemcmp.texi: Mention the new module.
21233
21234 2011-02-07  Jim Meyering  <meyering@redhat.com>
21235
21236         di-set, ino-map: new modules, from coreutils
21237         * lib/di-set.c: New file.
21238         * lib/di-set.h: Likewise.
21239         * lib/ino-map.c: Likewise.
21240         * lib/ino-map.h: Likewise.
21241         * modules/di-set: Likewise.
21242         * modules/di-set-tests: Likewise.
21243         * modules/ino-map: Likewise.
21244         * modules/ino-map-tests: Likewise.
21245         * tests/test-di-set.c: Likewise.
21246         * tests/test-ino-map.c: Likewise.
21247
21248 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
21249
21250         getloadavg: merge minor changes from Emacs
21251
21252         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
21253         (getloadavg): Use memset, not bzero.
21254
21255         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
21256         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
21257         clash (bug#86).
21258
21259 2010-11-14  Bruno Haible  <bruno@clisp.org>
21260
21261         Allow multiple gnulib generated replacements to coexist.
21262         * lib/getopt.in.h (struct option): Avoid identical redefinition.
21263         * lib/inttypes.in.h (imaxdiv_t): Likewise.
21264         * lib/langinfo.in.h (nl_item): Likewise.
21265         * lib/math.in.h (_NaN, NAN): Likewise.
21266         * lib/netdb.in.h (struct addrinfo): Likewise.
21267         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
21268         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
21269         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
21270         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
21271         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
21272         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
21273         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
21274         pthread_mutexattr_init, pthread_mutexattr_settype,
21275         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
21276         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
21277         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
21278         pthread_spin_trylock, pthread_spin_unlock): Likewise.
21279         * lib/sched.in.h (struct sched_param): Likewise.
21280         * lib/se-selinux.in.h (security_class_t, security_context_t,
21281         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
21282         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
21283         lsetfilecon, fsetfilecon, security_check_context,
21284         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
21285         Likewise.
21286         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
21287         Likewise.
21288         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
21289         _gl_function_taking_int_returning_void_t, union sigval,
21290         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
21291         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
21292         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
21293         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
21294         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
21295         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
21296         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
21297         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
21298         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
21299         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
21300         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
21301         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
21302         socklen_t, rpl_fd_isset): Likewise.
21303         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
21304         * lib/sys_time.in.h (struct timeval): Likewise.
21305         * lib/sys_times.in.h (struct tms): Likewise.
21306         * lib/sys_utsname.in.h (struct utsname):
21307         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
21308         * lib/unistd.in.h (getpagesize): Likewise.
21309         * lib/wchar.in.h (mbstate_t): Likewise.
21310         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
21311         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
21312         towlower, towupper): Likewise.
21313         Reported by Sam Steingold <sds@gnu.org>.
21314
21315 2011-02-05  Eric Blake  <eblake@redhat.com>
21316
21317         unsetenv: work around Haiku issues
21318         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
21319         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
21320
21321 2010-12-30  Bruce Korb  <bkorb@gnu.org>
21322
21323         libposix: avoid calling error() within libposix
21324         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
21325         is defined.
21326
21327 2011-02-05  Eric Blake  <eblake@redhat.com>
21328
21329         strerror_r-posix: port to cygwin
21330         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
21331         implementation.
21332         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
21333         * tests/test-strerror_r.c (main): Fix test.
21334         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
21335         issue.
21336
21337 2011-02-05  Bruno Haible  <bruno@clisp.org>
21338
21339         New module 'wmemchr'.
21340         * modules/wmemchr: New file.
21341         * lib/wchar.in.h (wmemchr): New declaration.
21342         * lib/wmemchr.c: New file.
21343         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
21344         * m4/wmemchr.m4: New file.
21345         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
21346         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
21347         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
21348         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
21349         * doc/posix-functions/wmemchr.texi: Mention the new module.
21350
21351 2011-02-04  Eric Blake  <eblake@redhat.com>
21352
21353         fdopendir: detect FreeBSD bug
21354         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
21355         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
21356
21357 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
21358
21359         stdbool: do not define HAVE_STDBOOL_H
21360         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
21361         AC_HEADER_STDBOOL.  All uses changed.  Do not define
21362         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
21363         imported from the latest Autoconf git.  It was motivated by Emacs,
21364         which uses gnulib but does not need HAVE_STDBOOL_H.
21365
21366 2011-02-04  Bruno Haible  <bruno@clisp.org>
21367
21368         wcsnrtombs: Prepare for new module wwcsnrtombs.
21369         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
21370         * lib/wcsnrtombs.c: Include it.
21371         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
21372
21373         wcsrtombs: Prepare for new module wwcsrtombs.
21374         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
21375         * lib/wcsrtombs.c: Include it.
21376         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
21377
21378         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
21379         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
21380         * lib/mbsnrtowcs.c: Include it.
21381         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
21382
21383         mbsrtowcs: Prepare for new module mbsrtowwcs.
21384         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
21385         * lib/mbsrtowcs.c: Include it.
21386         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
21387
21388 2011-02-04  Bruno Haible  <bruno@clisp.org>
21389
21390         vasnprintf: Reduce use of malloc for small format strings.
21391         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
21392         (arguments): Add room for the first 7 arguments.
21393         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
21394         (char_directives, u8_directives, u16_directives, u32_directives): Add
21395         room for the first 7 directives.
21396         * lib/printf-parse.c: Include <string.h>.
21397         (PRINTF_PARSE): Change memory handling code so that it uses the first
21398         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
21399         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
21400         Reported by Pádraig Brady <P@draigbrady.com>.
21401
21402 2011-01-31  Eric Blake  <eblake@redhat.com>
21403
21404         dup2: work around Haiku bug
21405         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
21406         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
21407         * doc/posix-functions/dup2.texi (dup2): Document the bug.
21408         * tests/test-dup2.c (main): Enhance test.
21409
21410 2011-01-31  Simon Josefsson  <simon@josefsson.org>
21411
21412         doc: off_t is not available in eglibc 2.11.2 stdio.h.
21413         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
21414         declared by eglibc 2.11.2.
21415         * lib/stdio.in.h: Likewise.
21416
21417 2011-01-31  Eric Blake  <eblake@redhat.com>
21418
21419         ignore-value: add missing test dependency
21420         * tests/test-ignore-value.c: Revert previous change; stdio.h
21421         provides off_t.
21422         * modules/ignore-value-tests (Depends-on): Add missing dependency.
21423
21424 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
21425
21426         mktime: clarify long_int width checking
21427         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
21428         the top level, to make it clearer that the assumption about
21429         long_int width is being checked.  See
21430         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
21431
21432 2011-01-30  Simon Josefsson  <simon@josefsson.org>
21433
21434         ignore-value: Fix self-test.
21435         * tests/test-ignore-value.c: Include sys/types.h for off_t.
21436
21437 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
21438
21439         TYPE_MAXIMUM: avoid theoretically undefined behavior
21440         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
21441         negative number, which the C Standard says has undefined behavior.
21442         In practice this is not a problem, but might as well do it by the book.
21443         Reported by Rich Felker and Eric Blake; see
21444         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
21445         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
21446         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
21447         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
21448         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
21449         * m4/stdint.m4 (gl_STDINT_H): Likewise.
21450         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
21451
21452         mktime: #undef mktime before #defining it
21453         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
21454
21455         mktime: systematically normalize tm_isdst comparisons
21456         * lib/mktime.c (isdst_differ): New function.
21457         (__mktime_internal): Use it systematically for all isdst comparisons.
21458         This completes the fix for libc BZ #6723, and removes the need for
21459         normalizing tm_isdst.  See
21460         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
21461         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
21462
21463         mktime: fix some integer overflow issues and sidestep the rest
21464
21465         This was prompted by a bug report by Benjamin Lindner for MinGW
21466         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
21467         His bug is due to signed integer overflow (0 - INT_MIN), and I
21468         I scanned through mktime.c looking for other integer overflow
21469         problems, fixing all the bugs I found.
21470
21471         Although the C Standard says the resulting code is still not safe
21472         in the presence of integer overflow, in practice it should be good
21473         enough for all real-world two's-complement implementations, except
21474         for debugging environments that deliberately trap on integer
21475         overflow (e.g., gcc -ftrapv).
21476
21477         * lib/mktime.c (WRAPV): New macro.
21478         (SHR): Also check that long_int and time_t shift right in the
21479         usual way, before using the fast-but-unportable method.
21480         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
21481         used.  The code already assumed two's complement, so there's
21482         no need to test for alternatives.  All uses removed.
21483         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
21484         the C standard.  Problem reported by Rich Felker in
21485         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
21486         (twos_complement_arithmetic): Also check long_int and time_t.
21487         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
21488         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
21489         (__mktime_internal): Avoid integer overflow with unary subtraction
21490         in two instances where -1 - X is an adequate replacement for -X,
21491         since the calculations are approximate.
21492
21493 2011-01-29  Eric Blake  <eblake@redhat.com>
21494
21495         mktime: avoid infinite loop
21496         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
21497         type; behavior is still undefined but portable to all known targets.
21498         Reported by Rich Felker.
21499
21500 2011-01-29  Simon Josefsson  <simon@josefsson.org>
21501
21502         rename, unlink, same-inode: Relicense.
21503         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
21504         * modules/unlink (License): Likewise.
21505         * modules/same-inode (License): Likewise.
21506
21507 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
21508
21509         mktime: avoid problems on NetBSD 5 / i386
21510         * lib/mktime.c (long_int): New type.  This works around a problem
21511         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
21512         but time_t is 64 bits, and where I expect the existing code is
21513         wrong in some cases.
21514         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
21515         (ydhms_diff): Bring back the compile-time check for wide-enough
21516         year and yday.
21517
21518         mktime: fix misspelling in comment
21519         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
21520         This merges all recent glibc changes of importance.
21521
21522 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21523
21524         move-if-change: cope with concurrent mv of identical file.
21525         * build-aux/move-if-change (CMPPROG): Accept environment
21526         variable as an override for `cmp'.
21527         (usage): Document CMPPROG.
21528         Adjust comparison to drop stdout.  Cope with failure of mv if
21529         the target file exists and is identical to the source, for
21530         parallel builds.
21531         Report from H.J. Lu against binutils in PR binutils/12283.
21532
21533 2011-01-28  Bruce Korb  <bkorb@gnu.org>
21534
21535         * users.txt: Mention sharutils.
21536
21537 2011-01-28  Simon Josefsson  <simon@josefsson.org>
21538
21539         * users.txt: Mention OATH Toolkit.
21540
21541 2011-01-27  Bruno Haible  <bruno@clisp.org>
21542
21543         Prepare for supporting FreeBSD 10.
21544         * build-aux/config.libpath: Remove handling of freebsd1*.
21545
21546 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
21547
21548         Prepare for supporting FreeBSD 10.
21549         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
21550         match FreeBSD 10.0.
21551
21552 2011-01-27  Bruno Haible  <bruno@clisp.org>
21553
21554         vma-iter, get-rusage-as: Add OpenBSD support.
21555         * modules/vma-iter (configure.ac): Test for mquery.
21556         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
21557         * lib/vma-iter.c: Include <sys/mman.h>.
21558         (vma_iterate): Add an implementation based on mquery().
21559         * lib/resource-ext.h (get_rusage_as): Update comments.
21560         * lib/get-rusage-as.c: Likewise.
21561         * lib/get-rusage-data.c: Likewise.
21562
21563 2011-01-26  Karl Berry  <karl@gnu.org>
21564
21565         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
21566         variables to make it easier to override the makeinfo program used.
21567
21568 2011-01-26  Eric Blake  <eblake@redhat.com>
21569
21570         fcntl: work around Haiku F_DUPFD bugs
21571         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
21572         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
21573         cloexec bit on duplication.
21574         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
21575
21576 2011-01-26  Bruno Haible  <bruno@clisp.org>
21577
21578         Enable memory leak tests on AIX.
21579         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
21580         * tests/test-fprintf-posix3.c (main): Likewise.
21581
21582 2011-01-26  Bruno Haible  <bruno@clisp.org>
21583
21584         Tests for module 'get-rusage-data'.
21585         * modules/get-rusage-data-tests: New file.
21586         * tests/test-get-rusage-data.c: New file.
21587
21588         New module 'get-rusage-data'.
21589         * lib/resource-ext.h (get_rusage_data): New declaration.
21590         * lib/get-rusage-data.c: New file.
21591         * modules/get-rusage-data: New file.
21592
21593 2011-01-25  Bruno Haible  <bruno@clisp.org>
21594
21595         get-rusage-as: Allow for easier testing.
21596         * lib/resource-ext.h (get_rusage_as): Add comment.
21597         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
21598         (main): New function for interactive testing.
21599
21600 2011-01-25  Bruno Haible  <bruno@clisp.org>
21601
21602         vma-iter: Treat Haiku like BeOS.
21603         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
21604         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
21605
21606 2011-01-25  Eric Blake  <eblake@redhat.com>
21607
21608         c-stack: fix regression on cygwin when libsigsegv is present
21609         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
21610
21611 2011-01-24  Bruno Haible  <bruno@clisp.org>
21612
21613         vma-iter: Avoid empty intervals.
21614         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
21615         on an empty interval.
21616
21617 2011-01-24  Jim Meyering  <meyering@redhat.com>
21618
21619         u64: remove unnecessary #include
21620         * lib/u64.h: Don't include <stddef.h>.  It was not used.
21621
21622 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
21623
21624         Allow the user to avoid the HAVE_RAW_DECL_* macros.
21625         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
21626
21627 2011-01-23  Bruno Haible  <bruno@clisp.org>
21628
21629         New module 'vma-iter'.
21630         * lib/vma-iter.h: New file.
21631         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
21632         * modules/vma-iter: New file.
21633         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
21634         for get_rusage_as_via_iterator.
21635         (vma_iterate_callback): New function.
21636         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
21637         * modules/get-rusage-as (Depends-on): Add vma-iter.
21638
21639 2011-01-23  Bruno Haible  <bruno@clisp.org>
21640
21641         uninorm: Tweak includes.
21642         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
21643         Reported by Jim Meyering.
21644
21645 2011-01-23  Bruno Haible  <bruno@clisp.org>
21646
21647         get-rusage-as: Improve on NetBSD.
21648         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
21649         /proc, like on FreeBSD.
21650
21651 2011-01-23  Jim Meyering  <meyering@redhat.com>
21652
21653         xreadlink.h: remove unnecessary #include
21654         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
21655
21656         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
21657         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
21658
21659 2011-01-23  Bruno Haible  <bruno@clisp.org>
21660
21661         get-rusage-as: Fix bug.
21662         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
21663         original limit when aborting the first loop.
21664
21665 2011-01-23  Bruno Haible  <bruno@clisp.org>
21666
21667         wctype: Ensure valid C syntax.
21668         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
21669         unconditionally, instead of gl_NEXT_HEADERS conditionally.
21670
21671 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
21672
21673         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
21674         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
21675         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
21676         as they are needed only for configure's test case.
21677         This removes two unnecessary symbols from config.h.
21678
21679         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
21680         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
21681         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
21682         AC_CHECK_HEADERS_ONCE on a header that we also invoke
21683         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
21684         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
21685         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
21686         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
21687         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
21688         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
21689         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
21690         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
21691         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
21692         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
21693         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
21694         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
21695         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
21696         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
21697
21698 2011-01-21  Eric Blake  <eblake@redhat.com>
21699
21700         maintainer-makefile: work with older git for submodule check
21701         * top/maint.mk (public-submodule-commit): Rewrite to avoid
21702         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
21703         Reported by Matthias Bolte.
21704
21705         bootstrap: minor portability fixes
21706         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
21707         (usage): Omit leading capital and trailing . on help phrases, per
21708         GNU Coding Standards.
21709         (check_versions, top level): Prefix messages with script name.
21710
21711 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
21712
21713         bootstrap: support --no-git option
21714         * build-aux/bootstrap: Add --no-git option, to be used when
21715         --gnulib-srcdir points to the exact desired checkout.
21716
21717 2011-01-21  Eric Blake  <eblake@redhat.com>
21718
21719         strerror_r-posix: work with glibc 2.13
21720         * lib/strerror_r.c (strerror_r): Fix return type.
21721
21722 2011-01-21  Pádraig Brady  <P@draigBrady.com>
21723             Bruno Haible  <bruno@clisp.org>
21724
21725         uN_strstr: New unit tests.
21726         * modules/unistr/u8-strstr-tests: New file.
21727         * modules/unistr/u16-strstr-tests: New file.
21728         * modules/unistr/u32-strstr-tests: New file.
21729         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
21730         * tests/unistr/test-u8-strstr.c: New file.
21731         * tests/unistr/test-u16-strstr.c: New file.
21732         * tests/unistr/test-u32-strstr.c: New file.
21733
21734 2011-01-21  Pádraig Brady  <P@draigBrady.com>
21735             Bruno Haible  <bruno@clisp.org>
21736
21737         Make uN_strstr functions O(n) worst-case.
21738         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
21739         16-bit and 32-bit unit cases, use the unibyte algorithm from
21740         lib/mbsstr.c.
21741         * lib/unistr/u8-strstr.c: Include <string.h>.
21742         (UNIT_IS_UINT8_T): New macro.
21743         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
21744         (U_STRLEN, U_STRNLEN): New macros.
21745         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
21746         (U_STRLEN, U_STRNLEN): New macros.
21747         * modules/unistr/u8-strstr (Depends-on): Add strstr.
21748         (configure.ac): Update required libunistring version.
21749         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
21750         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
21751         malloca.
21752         (configure.ac): Update required libunistring version.
21753         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
21754         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
21755         malloca.
21756         (configure.ac): Update required libunistring version.
21757
21758 2011-01-21  Pádraig Brady  <P@draigBrady.com>
21759             Bruno Haible  <bruno@clisp.org>
21760
21761         Prepare for faster uN_strstr functions.
21762         * lib/str-kmp.h: Support definable UNITs.
21763         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
21764         needle_len argument.
21765         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
21766         * lib/mbscasestr.c (mbscasestr): Likewise.
21767
21768 2011-01-21  Pádraig Brady <P@draigBrady.com>
21769
21770         malloca-tests: make faster by unsetting MALLOC_PERTURB_
21771         * tests/test-malloca.c (main): Unset the environment variable
21772         to greatly speed up the test.
21773         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
21774         * modules/malloca-tests: Depend on unsetenv.
21775
21776 2011-01-21  Pádraig Brady <P@draigBrady.com>
21777
21778         ignore-value: remove stdint dependency
21779         * lib/ignore-value.h: Remove <stdint.h>
21780         * modules/ignore-value: Remove stdint dependency.
21781
21782 2011-01-21  Jim Meyering  <meyering@redhat.com>
21783
21784         maint.mk: adjust variable name to be consistent with other gl_ vars
21785         * top/maint.mk (gl_public_submodule_commit): Rename the variable
21786         to be lower case.
21787
21788 2011-01-20  Jim Meyering  <meyering@redhat.com>
21789
21790         maint.mk: make "check" depend on public-submodule-commit by default
21791         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
21792
21793 2011-01-20  Bruno Haible  <bruno@clisp.org>
21794
21795         mbfile, mbiter: Complete change from 2008-12-21.
21796         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
21797         * m4/mbiter.m4 (gl_MBITER): Likewise.
21798
21799 2011-01-20  Jim Meyering  <meyering@redhat.com>
21800
21801         init.sh: insert space between each function name and "()"
21802         * tests/init.sh: Make it a little easier to see that a function's
21803         name is "warn_", and not "warn" when looking at the first part of
21804         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
21805
21806 2011-01-20  Jim Meyering  <meyering@redhat.com>
21807
21808         mountlist: clean up code formatting
21809         * lib/mountlist.c (read_file_system_list): Split a long line,
21810         correct bracing style, use NULL in place of "(struct statfs *)0",
21811         don't parenthesize return value, add spaces around "=" and after
21812         ";-in-for-stmt".
21813
21814 2011-01-14  Markus Duft <mduft@gentoo.org>
21815
21816         mountlist: add support for Interix
21817         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
21818         Apply statvfs to all entries of /dev/fs.
21819         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
21820         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
21821
21822 2011-01-20  Jim Meyering  <meyering@redhat.com>
21823
21824         maint.mk: improve the public-submodule-commit rule
21825         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
21826         to suppress printing of its commands... unless V=1.
21827         Add git submodule's --quiet option to suppress printing of e.g.,
21828         "Entering gnulib" output.
21829         "cd" into $(srcdir) before running git submodule.
21830
21831 2011-01-20  Bruno Haible  <bruno@clisp.org>
21832
21833         include_next: Fix bug introduced on 2011-01-18.
21834         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
21835         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
21836         ac_cv_header_... variable if the second argument is not 'check'.
21837         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
21838         gl_NEXT_HEADERS_INTERNAL.
21839
21840 2011-01-20  Bruno Haible  <bruno@clisp.org>
21841
21842         Allow the user to avoid the GNULIB_TEST_* macros.
21843         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
21844         Suggested by Paul Eggert.
21845
21846 2011-01-14  Jim Meyering  <meyering@redhat.com>
21847
21848         bootstrap: avoid failure when there is no .gitmodules file
21849         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
21850         has been assigned to, even when its value is the empty string.
21851         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
21852         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
21853         Reported by John W. Eaton <jwe@gnu.org>.
21854
21855 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
21856
21857         assume <ctype.h>, ..., <time.h> exist
21858         For years gnulib has been assuming the existence of the headers
21859         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
21860         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
21861         them, since they don't appear to be needed.
21862         * README (Portability guidelines): Document this.
21863         * lib/flock.c: Assume <fcntl.h> exists.
21864         * lib/regex_internal.h: Assume <locale.h> exists.
21865         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
21866         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
21867         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
21868         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
21869         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
21870         * m4/regex.m4 (gl_REGEX): Likewise.
21871         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
21872         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
21873         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
21874         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
21875         * tests/test-argp.c: Likewise.
21876         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
21877
21878         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
21879         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
21880         AA_APPLE_UNIVERSAL_BUILD.  See
21881         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
21882         * NEWS: Document this.
21883
21884 2011-01-19  Eric Blake  <eblake@redhat.com>
21885
21886         c-stack: assume stack overflow if SA_SIGINFO unsupported
21887         * lib/c-stack.c (SIGACTION_WORKS): Rename...
21888         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
21889         sigaction will work.
21890         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
21891         behavior match Linux.
21892         * tests/test-c-stack.c (main): Prefer NULL for pointers.
21893
21894         stdbool-tests: accommodate Haiku
21895         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
21896
21897         binary-io: fix O_TEXT on Haiku
21898         * modules/binary-io (Depends-on): Add fcntl-h.
21899         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
21900         than blindly undefining O_TEXT.
21901         Reported by Scott McCreary.
21902
21903 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
21904
21905         include_next: do not check for standard headers like stddef.h
21906
21907         I found this problem when modifying Emacs to use gnulib.
21908         I noticed that it added HAVE_STDDEF_H to config.h, even though
21909         gnulib always assumes <stddef.h> exists as per README and this
21910         symbol is unnecessary.
21911         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
21912         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
21913         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
21914         faster for headers like stddef.h that are known to exist.
21915         (gl_CHECK_NEXT_HEADERS): Use it.
21916         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
21917         rather than gl_CHECK_NEXT_HEADERS.
21918         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
21919         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
21920
21921 2011-01-18  Eric Blake  <eblake@redhat.com>
21922
21923         ansi-c++-opt: skip C++ dependency style if C++ is unused
21924         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
21925         tests when we know C++ compilation is not desired.
21926         Reported by Scott McCreary.
21927
21928 2011-01-18  Bruno Haible  <bruno@clisp.org>
21929
21930         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
21931         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
21932         (main): Perform test also when getrlimit and setrlimit don't exist or
21933         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
21934         limiting the address space size using setrlimit, compare the address
21935         space size before and after the the test.
21936         * tests/test-dprintf-posix2.c: Likewise.
21937         * tests/test-fprintf-posix3.sh: Update skip messages.
21938         * tests/test-dprintf-posix2.sh: Likewise.
21939         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
21940         * modules/dprintf-posix-tests (Depends-on): Likewise.
21941         Reported by Bruce Korb <bkorb@gnu.org> and
21942         Gary V. Vaughan <gary@gnu.org>.
21943
21944 2011-01-18  Bruno Haible  <bruno@clisp.org>
21945
21946         get-rusage-as: Improvement for Cygwin.
21947         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
21948         areas that are merely reserved.
21949
21950 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
21951
21952         strftime: remove dependencies on multibyte modules
21953
21954         strftime depended on mbrlen, mbsinit, and wchar, but these modules
21955         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
21956         only if __osf__ is defined, and I suspect OSF doesn't need these
21957         other modules.  If my guess is wrong, we'll need to come up with a
21958         variant of strftime that doesn't need the multibyte modules.
21959
21960         I discovered this problem when attempting modify Emacs to use the
21961         strftime module.  With the previous gnulib, this caused Emacs to
21962         need 31 new files, ranging from lib/config.charset to
21963         m4/wint_t.m4.  This was overkill and I expect would be offputting
21964         to the Emacs maintainers.  After this change, only 6 new files are
21965         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
21966         stdbool.m4, and tm_gmtoff.m4.
21967
21968         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
21969         Suggested by Bruno Haible in
21970         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
21971         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
21972         and do not check for wchar.h.
21973         * modules/strftime (Files): Remove m4/mbstate_t.m4.
21974         (Depends-on): Remove mbrlen, mbsinit, wchar.
21975
21976 2011-01-18  Bruno Haible  <bruno@clisp.org>
21977
21978         Tests for module 'get-rusage-as'.
21979         * modules/get-rusage-as-tests: New file.
21980         * tests/test-get-rusage-as.c: New file.
21981
21982         New module 'get-rusage-as'.
21983         * modules/get-rusage-as: New file.
21984         * lib/resource-ext.h: New file.
21985         * lib/get-rusage-as.c: New file.
21986
21987 2011-01-17  Eric Blake  <eblake@redhat.com>
21988
21989         sigaction: relax license from LGPLv3+ to LGPLv2+
21990         * modules/sigaction (License): Relax to LGPLv2+.
21991
21992 2011-01-14  Bruno Haible  <bruno@clisp.org>
21993
21994         filemode: Make function declarations usable in C++ mode.
21995         * lib/filemode.h: Enclose function declarations in extern "C" block.
21996         Reported by John W. Eaton <jwe@gnu.org>.
21997
21998 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
21999
22000         save-cwd: no longer include "xgetcwd.h"
22001         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
22002         This avoids a compilation failure in projects that use save-cwd
22003         without also using the xgetcwd module.
22004
22005 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
22006
22007         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
22008         This is so that a program like Emacs, which needs only dtoastr,
22009         does not have to bother with distributing and compiling ftoastr
22010         and ldtoastr.
22011         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
22012         * modules/dtoastr, modules/ldtoastr: New files.
22013         * modules/ftoastr: Now works just for 'float'.
22014         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
22015         (Makefile.am): Remove ftoastr.h (not needed and no effect),
22016         dtoastr.c, ldtoastr.c.
22017
22018 2011-01-11  Jim Meyering  <meyering@redhat.com>
22019
22020         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
22021         There is no need to work around the lack of the fchdir function,
22022         since gnulib can now provide a replacement when required.
22023         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
22024         * modules/save-cwd (Depends-on): Add fchdir.
22025
22026 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
22027
22028         openat, save-cwd: avoid xmalloc
22029
22030         This removes a direct (but undocumented) dependency of openat on
22031         xalloc, along with an indirect dependency via save-cwd.  It also
22032         removes a dependency of save-cwd on xgetcwd, and thereby
22033         indirectly on xalloc.  This change causes the openat substitute
22034         to fall back on save_cwd when memory is tight, and for save_cwd to
22035         fail instead of dying when memory is tight, but that's good enough.
22036         Problem and initial idea for fix reported by Bastien Roucaries in
22037         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
22038
22039         * lib/openat-proc.c: Include stdlib.h (for malloc), not
22040         xalloc.h (for xmalloc).
22041         (openat_proc_name): Use malloc, not xmalloc.
22042         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
22043         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
22044
22045         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
22046         This avoids heap allocation for file names whose lengths are in
22047         the range 512..1023, with the upper bound increasing to at most
22048         4031 depending on the platform's PATH_MAX.  (We do not want
22049         pathmax.h here as it might supply a non-constant PATH_MAX.)
22050         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
22051         Perhaps they should be moved to malloca.h?
22052         (OPENAT_BUFFER_SIZE): Use them.
22053
22054 2011-01-10  Bruno Haible  <bruno@clisp.org>
22055
22056         doc: Update users.txt.
22057         * users.txt: Add recutils.
22058
22059 2011-01-09  Karl Berry  <karl@gnu.org>
22060
22061         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
22062
22063         * doc/configmake.texi: New file.
22064         * doc/gnulib.texi: Include it.
22065         * modules/configmake: Move documentation from here.
22066
22067 2011-01-09  Bruno Haible  <bruno@clisp.org>
22068
22069         Update to Unicode 6.0.0.
22070         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
22071         (get_lbp): Update for Unicode 6.0.0.
22072         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
22073         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
22074         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
22075         U+11001, U+11038..U+11046. Remove U+06DE.
22076         (uc_width): Fix bounds of planes.
22077         * tests/uniwidth/test-uc_width2.sh: Same updates as in
22078         lib/uniwidth/width.c.
22079         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
22080         trailing whitespace removed.
22081         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
22082         without comments, but with the original copyright notice.
22083         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
22084         * lib/unicase/ignorable.h: Likewise.
22085         * lib/unicase/tocasefold.h: Likewise.
22086         * lib/unicase/tolower.h: Likewise.
22087         * lib/unicase/totitle.h: Likewise.
22088         * lib/unicase/toupper.h: Likewise.
22089         * lib/unictype/bidi_of.h: Likewise.
22090         * lib/unictype/blocks.h: Likewise.
22091         * lib/unictype/categ_C.h: Likewise.
22092         * lib/unictype/categ_Cn.h: Likewise.
22093         * lib/unictype/categ_L.h: Likewise.
22094         * lib/unictype/categ_Ll.h: Likewise.
22095         * lib/unictype/categ_Lm.h: Likewise.
22096         * lib/unictype/categ_Lo.h: Likewise.
22097         * lib/unictype/categ_Lu.h: Likewise.
22098         * lib/unictype/categ_M.h: Likewise.
22099         * lib/unictype/categ_Mc.h: Likewise.
22100         * lib/unictype/categ_Me.h: Likewise.
22101         * lib/unictype/categ_Mn.h: Likewise.
22102         * lib/unictype/categ_N.h: Likewise.
22103         * lib/unictype/categ_Nd.h: Likewise.
22104         * lib/unictype/categ_No.h: Likewise.
22105         * lib/unictype/categ_P.h: Likewise.
22106         * lib/unictype/categ_Po.h: Likewise.
22107         * lib/unictype/categ_S.h: Likewise.
22108         * lib/unictype/categ_Sc.h: Likewise.
22109         * lib/unictype/categ_Sk.h: Likewise.
22110         * lib/unictype/categ_Sm.h: Likewise.
22111         * lib/unictype/categ_So.h: Likewise.
22112         * lib/unictype/categ_of.h: Likewise.
22113         * lib/unictype/combining.h: Likewise.
22114         * lib/unictype/ctype_alnum.h: Likewise.
22115         * lib/unictype/ctype_alpha.h: Likewise.
22116         * lib/unictype/ctype_graph.h: Likewise.
22117         * lib/unictype/ctype_lower.h: Likewise.
22118         * lib/unictype/ctype_print.h: Likewise.
22119         * lib/unictype/ctype_punct.h: Likewise.
22120         * lib/unictype/ctype_upper.h: Likewise.
22121         * lib/unictype/decdigit.h: Likewise.
22122         * lib/unictype/digit.h: Likewise.
22123         * lib/unictype/numeric.h: Likewise.
22124         * lib/unictype/pr_alphabetic.h: Likewise.
22125         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
22126         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
22127         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
22128         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
22129         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
22130         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
22131         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
22132         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
22133         * lib/unictype/pr_case_ignorable.h: Likewise.
22134         * lib/unictype/pr_cased.h: Likewise.
22135         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
22136         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
22137         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
22138         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
22139         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
22140         * lib/unictype/pr_combining.h: Likewise.
22141         * lib/unictype/pr_composite.h: Likewise.
22142         * lib/unictype/pr_currency_symbol.h: Likewise.
22143         * lib/unictype/pr_decimal_digit.h: Likewise.
22144         * lib/unictype/pr_deprecated.h: Likewise.
22145         * lib/unictype/pr_format_control.h: Likewise.
22146         * lib/unictype/pr_grapheme_base.h: Likewise.
22147         * lib/unictype/pr_grapheme_extend.h: Likewise.
22148         * lib/unictype/pr_grapheme_link.h: Likewise.
22149         * lib/unictype/pr_id_continue.h: Likewise.
22150         * lib/unictype/pr_id_start.h: Likewise.
22151         * lib/unictype/pr_ideographic.h: Likewise.
22152         * lib/unictype/pr_lowercase.h: Likewise.
22153         * lib/unictype/pr_math.h: Likewise.
22154         * lib/unictype/pr_numeric.h: Likewise.
22155         * lib/unictype/pr_other_alphabetic.h: Likewise.
22156         * lib/unictype/pr_other_id_continue.h: Likewise.
22157         * lib/unictype/pr_other_math.h: Likewise.
22158         * lib/unictype/pr_punctuation.h: Likewise.
22159         * lib/unictype/pr_sentence_terminal.h: Likewise.
22160         * lib/unictype/pr_terminal_punctuation.h: Likewise.
22161         * lib/unictype/pr_unassigned_code_value.h: Likewise.
22162         * lib/unictype/pr_unified_ideograph.h: Likewise.
22163         * lib/unictype/pr_uppercase.h: Likewise.
22164         * lib/unictype/pr_xid_continue.h: Likewise.
22165         * lib/unictype/pr_xid_start.h: Likewise.
22166         * lib/unictype/scripts.h: Likewise.
22167         * lib/unictype/scripts_byname.gperf: Likewise.
22168         * lib/unictype/sy_java_ident.h: Likewise.
22169         * lib/unigbrk/gbrkprop.h: Likewise.
22170         * lib/unilbrk/lbrkprop1.h: Likewise.
22171         * lib/unilbrk/lbrkprop2.h: Likewise.
22172         * lib/uninorm/decomposition-table2.h: Likewise.
22173         * lib/uniwbrk/wbrkprop.h: Likewise.
22174         * tests/unicase/test-cased.c: Likewise.
22175         * tests/unicase/test-ignorable.c: Likewise.
22176         * tests/unicase/test-uc_tolower.c: Likewise.
22177         * tests/unicase/test-uc_totitle.c: Likewise.
22178         * tests/unicase/test-uc_toupper.c: Likewise.
22179         * tests/unictype/test-categ_C.c: Likewise.
22180         * tests/unictype/test-categ_Cn.c: Likewise.
22181         * tests/unictype/test-categ_L.c: Likewise.
22182         * tests/unictype/test-categ_Ll.c: Likewise.
22183         * tests/unictype/test-categ_Lm.c: Likewise.
22184         * tests/unictype/test-categ_Lo.c: Likewise.
22185         * tests/unictype/test-categ_Lu.c: Likewise.
22186         * tests/unictype/test-categ_M.c: Likewise.
22187         * tests/unictype/test-categ_Mc.c: Likewise.
22188         * tests/unictype/test-categ_Me.c: Likewise.
22189         * tests/unictype/test-categ_Mn.c: Likewise.
22190         * tests/unictype/test-categ_N.c: Likewise.
22191         * tests/unictype/test-categ_Nd.c: Likewise.
22192         * tests/unictype/test-categ_No.c: Likewise.
22193         * tests/unictype/test-categ_P.c: Likewise.
22194         * tests/unictype/test-categ_Po.c: Likewise.
22195         * tests/unictype/test-categ_S.c: Likewise.
22196         * tests/unictype/test-categ_Sc.c: Likewise.
22197         * tests/unictype/test-categ_Sk.c: Likewise.
22198         * tests/unictype/test-categ_Sm.c: Likewise.
22199         * tests/unictype/test-categ_So.c: Likewise.
22200         * tests/unictype/test-ctype_alnum.c: Likewise.
22201         * tests/unictype/test-ctype_alpha.c: Likewise.
22202         * tests/unictype/test-ctype_graph.c: Likewise.
22203         * tests/unictype/test-ctype_lower.c: Likewise.
22204         * tests/unictype/test-ctype_print.c: Likewise.
22205         * tests/unictype/test-ctype_punct.c: Likewise.
22206         * tests/unictype/test-ctype_upper.c: Likewise.
22207         * tests/unictype/test-decdigit.h: Likewise.
22208         * tests/unictype/test-digit.h: Likewise.
22209         * tests/unictype/test-numeric.h: Likewise.
22210         * tests/unictype/test-pr_alphabetic.c: Likewise.
22211         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
22212         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
22213         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
22214         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
22215         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
22216         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
22217         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
22218         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
22219         * tests/unictype/test-pr_case_ignorable.c: Likewise.
22220         * tests/unictype/test-pr_cased.c: Likewise.
22221         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
22222         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
22223         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
22224         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
22225         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
22226         * tests/unictype/test-pr_combining.c: Likewise.
22227         * tests/unictype/test-pr_composite.c: Likewise.
22228         * tests/unictype/test-pr_currency_symbol.c: Likewise.
22229         * tests/unictype/test-pr_decimal_digit.c: Likewise.
22230         * tests/unictype/test-pr_deprecated.c: Likewise.
22231         * tests/unictype/test-pr_format_control.c: Likewise.
22232         * tests/unictype/test-pr_grapheme_base.c: Likewise.
22233         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
22234         * tests/unictype/test-pr_grapheme_link.c: Likewise.
22235         * tests/unictype/test-pr_id_continue.c: Likewise.
22236         * tests/unictype/test-pr_id_start.c: Likewise.
22237         * tests/unictype/test-pr_ideographic.c: Likewise.
22238         * tests/unictype/test-pr_lowercase.c: Likewise.
22239         * tests/unictype/test-pr_math.c: Likewise.
22240         * tests/unictype/test-pr_numeric.c: Likewise.
22241         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
22242         * tests/unictype/test-pr_other_id_continue.c: Likewise.
22243         * tests/unictype/test-pr_other_math.c: Likewise.
22244         * tests/unictype/test-pr_punctuation.c: Likewise.
22245         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
22246         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
22247         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
22248         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
22249         * tests/unictype/test-pr_uppercase.c: Likewise.
22250         * tests/unictype/test-pr_xid_continue.c: Likewise.
22251         * tests/unictype/test-pr_xid_start.c: Likewise.
22252         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
22253         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
22254         changes.
22255         * lib/unictype/categ_Cc.h: Likewise.
22256         * lib/unictype/categ_Cf.h: Likewise.
22257         * lib/unictype/categ_Co.h: Likewise.
22258         * lib/unictype/categ_Cs.h: Likewise.
22259         * lib/unictype/categ_Lt.h: Likewise.
22260         * lib/unictype/categ_Nl.h: Likewise.
22261         * lib/unictype/categ_Pc.h: Likewise.
22262         * lib/unictype/categ_Pd.h: Likewise.
22263         * lib/unictype/categ_Pe.h: Likewise.
22264         * lib/unictype/categ_Pf.h: Likewise.
22265         * lib/unictype/categ_Pi.h: Likewise.
22266         * lib/unictype/categ_Ps.h: Likewise.
22267         * lib/unictype/categ_Z.h: Likewise.
22268         * lib/unictype/categ_Zl.h: Likewise.
22269         * lib/unictype/categ_Zp.h: Likewise.
22270         * lib/unictype/categ_Zs.h: Likewise.
22271         * lib/unictype/ctype_blank.h: Likewise.
22272         * lib/unictype/ctype_cntrl.h: Likewise.
22273         * lib/unictype/ctype_digit.h: Likewise.
22274         * lib/unictype/ctype_space.h: Likewise.
22275         * lib/unictype/ctype_xdigit.h: Likewise.
22276         * lib/unictype/mirror.h: Likewise.
22277         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
22278         * lib/unictype/pr_bidi_block_separator.h: Likewise.
22279         * lib/unictype/pr_bidi_common_separator.h: Likewise.
22280         * lib/unictype/pr_bidi_control.h: Likewise.
22281         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
22282         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
22283         * lib/unictype/pr_bidi_european_digit.h: Likewise.
22284         * lib/unictype/pr_bidi_pdf.h: Likewise.
22285         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
22286         * lib/unictype/pr_bidi_whitespace.h: Likewise.
22287         * lib/unictype/pr_dash.h: Likewise.
22288         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
22289         * lib/unictype/pr_diacritic.h: Likewise.
22290         * lib/unictype/pr_extender.h: Likewise.
22291         * lib/unictype/pr_hex_digit.h: Likewise.
22292         * lib/unictype/pr_hyphen.h: Likewise.
22293         * lib/unictype/pr_ids_binary_operator.h: Likewise.
22294         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
22295         * lib/unictype/pr_ignorable_control.h: Likewise.
22296         * lib/unictype/pr_iso_control.h: Likewise.
22297         * lib/unictype/pr_join_control.h: Likewise.
22298         * lib/unictype/pr_left_of_pair.h: Likewise.
22299         * lib/unictype/pr_line_separator.h: Likewise.
22300         * lib/unictype/pr_logical_order_exception.h: Likewise.
22301         * lib/unictype/pr_non_break.h: Likewise.
22302         * lib/unictype/pr_not_a_character.h: Likewise.
22303         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
22304         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
22305         * lib/unictype/pr_other_id_start.h: Likewise.
22306         * lib/unictype/pr_other_lowercase.h: Likewise.
22307         * lib/unictype/pr_other_uppercase.h: Likewise.
22308         * lib/unictype/pr_paired_punctuation.h: Likewise.
22309         * lib/unictype/pr_paragraph_separator.h: Likewise.
22310         * lib/unictype/pr_pattern_syntax.h: Likewise.
22311         * lib/unictype/pr_pattern_white_space.h: Likewise.
22312         * lib/unictype/pr_private_use.h: Likewise.
22313         * lib/unictype/pr_quotation_mark.h: Likewise.
22314         * lib/unictype/pr_radical.h: Likewise.
22315         * lib/unictype/pr_soft_dotted.h: Likewise.
22316         * lib/unictype/pr_space.h: Likewise.
22317         * lib/unictype/pr_titlecase.h: Likewise.
22318         * lib/unictype/pr_variation_selector.h: Likewise.
22319         * lib/unictype/pr_white_space.h: Likewise.
22320         * lib/unictype/pr_zero_width.h: Likewise.
22321         * lib/unictype/sy_c_ident.h: Likewise.
22322         * lib/unictype/sy_c_whitespace.h: Likewise.
22323         * lib/unictype/sy_java_whitespace.h: Likewise.
22324         * lib/uninorm/composition-table.gperf: Likewise.
22325         * lib/uninorm/decomposition-table1.h: Likewise.
22326         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
22327         LB8.
22328         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
22329         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
22330         * modules/unictype/*: Bump version number of expected libunistring
22331         version.
22332
22333 2011-01-09  Bruno Haible  <bruno@clisp.org>
22334
22335         Update to Unicode 5.2.0.
22336         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
22337         trailing whitespace removed.
22338
22339 2011-01-09  Bruno Haible  <bruno@clisp.org>
22340
22341         New Unicode character properties, from Unicode 5.2.0.
22342         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
22343         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
22344         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
22345         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
22346         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
22347         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
22348         uc_is_property_cased, uc_is_property_case_ignorable,
22349         uc_is_property_changes_when_lowercased,
22350         uc_is_property_changes_when_uppercased,
22351         uc_is_property_changes_when_titlecased,
22352         uc_is_property_changes_when_casefolded,
22353         uc_is_property_changes_when_casemapped): New declarations.
22354         * lib/unictype/pr_byname.gperf: Add the new properties.
22355         * modules/unictype/property-byname (Depends-on): Depend on the new
22356         properties modules.
22357         * modules/unictype/property-all (Depends-on): Likewise.
22358         * MODULES.html.sh (Unicode string functions): Add
22359         unictype/property-case-ignorable, unictype/property-cased,
22360         unictype/property-changes-when-casefolded,
22361         unictype/property-changes-when-casemapped,
22362         unictype/property-changes-when-lowercased,
22363         unictype/property-changes-when-titlecased,
22364         unictype/property-changes-when-uppercased.
22365
22366         New module 'unictype/property-changes-when-casemapped'.
22367         * modules/unictype/property-changes-when-casemapped: New file.
22368         * lib/unictype/pr_changes_when_casemapped.c: New file.
22369         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
22370         generated by gen-uni-tables.
22371         * modules/unictype/property-changes-when-casemapped-tests: New file.
22372         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
22373         automatically generated by gen-uni-tables.
22374
22375         New module 'unictype/property-changes-when-casefolded'.
22376         * modules/unictype/property-changes-when-casefolded: New file.
22377         * lib/unictype/pr_changes_when_casefolded.c: New file.
22378         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
22379         generated by gen-uni-tables.
22380         * modules/unictype/property-changes-when-casefolded-tests: New file.
22381         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
22382         automatically generated by gen-uni-tables.
22383
22384         New module 'unictype/property-changes-when-titlecased'.
22385         * modules/unictype/property-changes-when-titlecased: New file.
22386         * lib/unictype/pr_changes_when_titlecased.c: New file.
22387         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
22388         generated by gen-uni-tables.
22389         * modules/unictype/property-changes-when-titlecased-tests: New file.
22390         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
22391         automatically generated by gen-uni-tables.
22392
22393         New module 'unictype/property-changes-when-uppercased'.
22394         * modules/unictype/property-changes-when-uppercased: New file.
22395         * lib/unictype/pr_changes_when_uppercased.c: New file.
22396         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
22397         generated by gen-uni-tables.
22398         * modules/unictype/property-changes-when-uppercased-tests: New file.
22399         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
22400         automatically generated by gen-uni-tables.
22401
22402         New module 'unictype/property-changes-when-lowercased'.
22403         * modules/unictype/property-changes-when-lowercased: New file.
22404         * lib/unictype/pr_changes_when_lowercased.c: New file.
22405         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
22406         generated by gen-uni-tables.
22407         * modules/unictype/property-changes-when-lowercased-tests: New file.
22408         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
22409         automatically generated by gen-uni-tables.
22410
22411         New module 'unictype/property-case-ignorable'.
22412         * modules/unictype/property-case-ignorable: New file.
22413         * lib/unictype/pr_case_ignorable.c: New file.
22414         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
22415         by gen-uni-tables.
22416         * modules/unictype/property-case-ignorable-tests: New file.
22417         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
22418         generated by gen-uni-tables.
22419
22420         New module 'unictype/property-cased'.
22421         * modules/unictype/property-cased: New file.
22422         * lib/unictype/pr_cased.c: New file.
22423         * lib/unictype/pr_cased.h: New file, automatically generated by
22424         gen-uni-tables.
22425         * modules/unictype/property-cased-tests: New file.
22426         * tests/unictype/test-pr_cased.c: New file, automatically generated by
22427         gen-uni-tables.
22428
22429 2011-01-09  Bruno Haible  <bruno@clisp.org>
22430
22431         Update to Unicode 5.2.0.
22432         * lib/gen-uni-tables.c (output_predicate, output_category,
22433         output_combclass, output_bidi_category, output_decimal_digit_test,
22434         output_decimal_digit, output_digit_test, output_digit,
22435         output_numeric_test, output_numeric, output_mirror, output_scripts,
22436         output_scripts_byname, output_blocks, output_ident_category): Fix
22437         comment header.
22438         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
22439         get_wbp.
22440         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
22441         items.
22442         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
22443         Changes_When_Lowercased, Changes_When_Uppercased,
22444         Changes_When_Titlecased, Changes_When_Casefolded,
22445         Changes_When_Casemapped.
22446         (is_property_alphabetic, is_property_default_ignorable_code_point):
22447         Update for Unicode 5.2.0.
22448         (is_property_cased, is_property_case_ignorable,
22449         is_property_changes_when_lowercased,
22450         is_property_changes_when_uppercased,
22451         is_property_changes_when_titlecased,
22452         is_property_changes_when_casefolded,
22453         is_property_changes_when_casemapped): New functions.
22454         (output_properties): Output also the properties cased, case_ignorable,
22455         changes_when_lowercased, changes_when_uppercased,
22456         changes_when_titlecased, changes_when_casefolded,
22457         changes_when_casemapped.
22458         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
22459         Unicode TR#11 revision 17 -> 19.
22460         (LBP_CP): New enumeration value.
22461         (LBP_*): Adjust values accordingly.
22462         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
22463         TR#14 revision 22 -> 24.
22464         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
22465         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
22466         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
22467         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
22468         is_WBP_MIDLETTER.
22469         (output_composition_tables): Allow for 24 bits instead of 16 bits in
22470         the code1 and code2 of each composition rule.
22471         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
22472         * lib/unicase/ignorable.h: Likewise.
22473         * lib/unicase/tocasefold.h: Likewise.
22474         * lib/unicase/tolower.h: Likewise.
22475         * lib/unicase/totitle.h: Likewise.
22476         * lib/unicase/toupper.h: Likewise.
22477         * lib/unictype/bidi_of.h: Likewise.
22478         * lib/unictype/blocks.h: Likewise.
22479         * lib/unictype/categ_C.h: Likewise.
22480         * lib/unictype/categ_Cf.h: Likewise.
22481         * lib/unictype/categ_Cn.h: Likewise.
22482         * lib/unictype/categ_L.h: Likewise.
22483         * lib/unictype/categ_Ll.h: Likewise.
22484         * lib/unictype/categ_Lm.h: Likewise.
22485         * lib/unictype/categ_Lo.h: Likewise.
22486         * lib/unictype/categ_Lu.h: Likewise.
22487         * lib/unictype/categ_M.h: Likewise.
22488         * lib/unictype/categ_Mc.h: Likewise.
22489         * lib/unictype/categ_Mn.h: Likewise.
22490         * lib/unictype/categ_N.h: Likewise.
22491         * lib/unictype/categ_Nd.h: Likewise.
22492         * lib/unictype/categ_Nl.h: Likewise.
22493         * lib/unictype/categ_No.h: Likewise.
22494         * lib/unictype/categ_P.h: Likewise.
22495         * lib/unictype/categ_Pd.h: Likewise.
22496         * lib/unictype/categ_Po.h: Likewise.
22497         * lib/unictype/categ_S.h: Likewise.
22498         * lib/unictype/categ_Sc.h: Likewise.
22499         * lib/unictype/categ_So.h: Likewise.
22500         * lib/unictype/categ_of.h: Likewise.
22501         * lib/unictype/combining.h: Likewise.
22502         * lib/unictype/ctype_alnum.h: Likewise.
22503         * lib/unictype/ctype_alpha.h: Likewise.
22504         * lib/unictype/ctype_graph.h: Likewise.
22505         * lib/unictype/ctype_lower.h: Likewise.
22506         * lib/unictype/ctype_print.h: Likewise.
22507         * lib/unictype/ctype_punct.h: Likewise.
22508         * lib/unictype/ctype_upper.h: Likewise.
22509         * lib/unictype/decdigit.h: Likewise.
22510         * lib/unictype/digit.h: Likewise.
22511         * lib/unictype/numeric.h: Likewise.
22512         * lib/unictype/pr_alphabetic.h: Likewise.
22513         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
22514         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
22515         * lib/unictype/pr_bidi_european_digit.h: Likewise.
22516         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
22517         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
22518         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
22519         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
22520         * lib/unictype/pr_combining.h: Likewise.
22521         * lib/unictype/pr_composite.h: Likewise.
22522         * lib/unictype/pr_currency_symbol.h: Likewise.
22523         * lib/unictype/pr_dash.h: Likewise.
22524         * lib/unictype/pr_decimal_digit.h: Likewise.
22525         * lib/unictype/pr_deprecated.h: Likewise.
22526         * lib/unictype/pr_diacritic.h: Likewise.
22527         * lib/unictype/pr_extender.h: Likewise.
22528         * lib/unictype/pr_grapheme_base.h: Likewise.
22529         * lib/unictype/pr_grapheme_extend.h: Likewise.
22530         * lib/unictype/pr_grapheme_link.h: Likewise.
22531         * lib/unictype/pr_id_continue.h: Likewise.
22532         * lib/unictype/pr_id_start.h: Likewise.
22533         * lib/unictype/pr_ideographic.h: Likewise.
22534         * lib/unictype/pr_ignorable_control.h: Likewise.
22535         * lib/unictype/pr_logical_order_exception.h: Likewise.
22536         * lib/unictype/pr_lowercase.h: Likewise.
22537         * lib/unictype/pr_numeric.h: Likewise.
22538         * lib/unictype/pr_other_alphabetic.h: Likewise.
22539         * lib/unictype/pr_punctuation.h: Likewise.
22540         * lib/unictype/pr_sentence_terminal.h: Likewise.
22541         * lib/unictype/pr_terminal_punctuation.h: Likewise.
22542         * lib/unictype/pr_unassigned_code_value.h: Likewise.
22543         * lib/unictype/pr_unified_ideograph.h: Likewise.
22544         * lib/unictype/pr_uppercase.h: Likewise.
22545         * lib/unictype/pr_xid_continue.h: Likewise.
22546         * lib/unictype/pr_xid_start.h: Likewise.
22547         * lib/unictype/pr_zero_width.h: Likewise.
22548         * lib/unictype/scripts.h: Likewise.
22549         * lib/unictype/scripts_byname.gperf: Likewise.
22550         * lib/unictype/sy_java_ident.h: Likewise.
22551         * lib/unigbrk/gbrkprop.h: Likewise.
22552         * lib/unilbrk/lbrkprop1.h: Likewise.
22553         * lib/unilbrk/lbrkprop2.h: Likewise.
22554         * lib/unilbrk/lbrktables.h: Likewise.
22555         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
22556         LBP_CP. Implement rule LB30.
22557         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
22558         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
22559         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
22560         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
22561         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
22562         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
22563         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
22564         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
22565         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
22566         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
22567         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
22568         bits instead of 16 bits in the code1 and code2 of each composition
22569         rule.
22570         (uc_composition): Update for Unicode 5.2.0.
22571         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
22572         * lib/uninorm/decomposition-table2.h: Likewise.
22573         * lib/uniwbrk/wbrkprop.h: Likewise.
22574         * tests/unicase/test-cased.c: Likewise.
22575         * tests/unicase/test-ignorable.c: Likewise.
22576         * tests/unicase/test-uc_tolower.c: Likewise.
22577         * tests/unicase/test-uc_totitle.c: Likewise.
22578         * tests/unicase/test-uc_toupper.c: Likewise.
22579         * tests/unictype/test-categ_C.c: Likewise.
22580         * tests/unictype/test-categ_Cf.c: Likewise.
22581         * tests/unictype/test-categ_Cn.c: Likewise.
22582         * tests/unictype/test-categ_L.c: Likewise.
22583         * tests/unictype/test-categ_Ll.c: Likewise.
22584         * tests/unictype/test-categ_Lm.c: Likewise.
22585         * tests/unictype/test-categ_Lo.c: Likewise.
22586         * tests/unictype/test-categ_Lu.c: Likewise.
22587         * tests/unictype/test-categ_M.c: Likewise.
22588         * tests/unictype/test-categ_Mc.c: Likewise.
22589         * tests/unictype/test-categ_Mn.c: Likewise.
22590         * tests/unictype/test-categ_N.c: Likewise.
22591         * tests/unictype/test-categ_Nd.c: Likewise.
22592         * tests/unictype/test-categ_Nl.c: Likewise.
22593         * tests/unictype/test-categ_No.c: Likewise.
22594         * tests/unictype/test-categ_P.c: Likewise.
22595         * tests/unictype/test-categ_Pd.c: Likewise.
22596         * tests/unictype/test-categ_Po.c: Likewise.
22597         * tests/unictype/test-categ_S.c: Likewise.
22598         * tests/unictype/test-categ_Sc.c: Likewise.
22599         * tests/unictype/test-categ_So.c: Likewise.
22600         * tests/unictype/test-ctype_alnum.c: Likewise.
22601         * tests/unictype/test-ctype_alpha.c: Likewise.
22602         * tests/unictype/test-ctype_graph.c: Likewise.
22603         * tests/unictype/test-ctype_lower.c: Likewise.
22604         * tests/unictype/test-ctype_print.c: Likewise.
22605         * tests/unictype/test-ctype_punct.c: Likewise.
22606         * tests/unictype/test-ctype_upper.c: Likewise.
22607         * tests/unictype/test-decdigit.h: Likewise.
22608         * tests/unictype/test-digit.h: Likewise.
22609         * tests/unictype/test-numeric.h: Likewise.
22610         * tests/unictype/test-pr_alphabetic.c: Likewise.
22611         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
22612         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
22613         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
22614         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
22615         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
22616         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
22617         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
22618         * tests/unictype/test-pr_combining.c: Likewise.
22619         * tests/unictype/test-pr_composite.c: Likewise.
22620         * tests/unictype/test-pr_currency_symbol.c: Likewise.
22621         * tests/unictype/test-pr_dash.c: Likewise.
22622         * tests/unictype/test-pr_decimal_digit.c: Likewise.
22623         * tests/unictype/test-pr_deprecated.c: Likewise.
22624         * tests/unictype/test-pr_diacritic.c: Likewise.
22625         * tests/unictype/test-pr_extender.c: Likewise.
22626         * tests/unictype/test-pr_grapheme_base.c: Likewise.
22627         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
22628         * tests/unictype/test-pr_grapheme_link.c: Likewise.
22629         * tests/unictype/test-pr_id_continue.c: Likewise.
22630         * tests/unictype/test-pr_id_start.c: Likewise.
22631         * tests/unictype/test-pr_ideographic.c: Likewise.
22632         * tests/unictype/test-pr_ignorable_control.c: Likewise.
22633         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
22634         * tests/unictype/test-pr_lowercase.c: Likewise.
22635         * tests/unictype/test-pr_numeric.c: Likewise.
22636         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
22637         * tests/unictype/test-pr_punctuation.c: Likewise.
22638         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
22639         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
22640         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
22641         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
22642         * tests/unictype/test-pr_uppercase.c: Likewise.
22643         * tests/unictype/test-pr_xid_continue.c: Likewise.
22644         * tests/unictype/test-pr_xid_start.c: Likewise.
22645         * tests/unictype/test-pr_zero_width.c: Likewise.
22646         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
22647         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
22648         changed behaviour: line breaking is now disallowed between a letter
22649         or '=' and '('.
22650         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
22651         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
22652         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
22653         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
22654         * tests/uniwidth/test-uc_width2.sh: Same updates as in
22655         lib/uniwidth/width.c.
22656         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
22657         without comments, but with the original copyright notice.
22658         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
22659         changes.
22660         * lib/unictype/categ_Cc.h: Likewise.
22661         * lib/unictype/categ_Co.h: Likewise.
22662         * lib/unictype/categ_Cs.h: Likewise.
22663         * lib/unictype/categ_Lt.h: Likewise.
22664         * lib/unictype/categ_Me.h: Likewise.
22665         * lib/unictype/categ_Pc.h: Likewise.
22666         * lib/unictype/categ_Pe.h: Likewise.
22667         * lib/unictype/categ_Pf.h: Likewise.
22668         * lib/unictype/categ_Pi.h: Likewise.
22669         * lib/unictype/categ_Ps.h: Likewise.
22670         * lib/unictype/categ_Sk.h: Likewise.
22671         * lib/unictype/categ_Sm.h: Likewise.
22672         * lib/unictype/categ_Z.h: Likewise.
22673         * lib/unictype/categ_Zl.h: Likewise.
22674         * lib/unictype/categ_Zp.h: Likewise.
22675         * lib/unictype/categ_Zs.h: Likewise.
22676         * lib/unictype/ctype_blank.h: Likewise.
22677         * lib/unictype/ctype_cntrl.h: Likewise.
22678         * lib/unictype/ctype_digit.h: Likewise.
22679         * lib/unictype/ctype_space.h: Likewise.
22680         * lib/unictype/ctype_xdigit.h: Likewise.
22681         * lib/unictype/mirror.h: Likewise.
22682         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
22683         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
22684         * lib/unictype/pr_bidi_block_separator.h: Likewise.
22685         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
22686         * lib/unictype/pr_bidi_common_separator.h: Likewise.
22687         * lib/unictype/pr_bidi_control.h: Likewise.
22688         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
22689         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
22690         * lib/unictype/pr_bidi_pdf.h: Likewise.
22691         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
22692         * lib/unictype/pr_bidi_whitespace.h: Likewise.
22693         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
22694         * lib/unictype/pr_format_control.h: Likewise.
22695         * lib/unictype/pr_hex_digit.h: Likewise.
22696         * lib/unictype/pr_hyphen.h: Likewise.
22697         * lib/unictype/pr_ids_binary_operator.h: Likewise.
22698         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
22699         * lib/unictype/pr_iso_control.h: Likewise.
22700         * lib/unictype/pr_join_control.h: Likewise.
22701         * lib/unictype/pr_left_of_pair.h: Likewise.
22702         * lib/unictype/pr_line_separator.h: Likewise.
22703         * lib/unictype/pr_math.h: Likewise.
22704         * lib/unictype/pr_non_break.h: Likewise.
22705         * lib/unictype/pr_not_a_character.h: Likewise.
22706         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
22707         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
22708         * lib/unictype/pr_other_id_continue.h: Likewise.
22709         * lib/unictype/pr_other_id_start.h: Likewise.
22710         * lib/unictype/pr_other_lowercase.h: Likewise.
22711         * lib/unictype/pr_other_math.h: Likewise.
22712         * lib/unictype/pr_other_uppercase.h: Likewise.
22713         * lib/unictype/pr_paired_punctuation.h: Likewise.
22714         * lib/unictype/pr_paragraph_separator.h: Likewise.
22715         * lib/unictype/pr_pattern_syntax.h: Likewise.
22716         * lib/unictype/pr_pattern_white_space.h: Likewise.
22717         * lib/unictype/pr_private_use.h: Likewise.
22718         * lib/unictype/pr_quotation_mark.h: Likewise.
22719         * lib/unictype/pr_radical.h: Likewise.
22720         * lib/unictype/pr_soft_dotted.h: Likewise.
22721         * lib/unictype/pr_space.h: Likewise.
22722         * lib/unictype/pr_titlecase.h: Likewise.
22723         * lib/unictype/pr_variation_selector.h: Likewise.
22724         * lib/unictype/pr_white_space.h: Likewise.
22725         * lib/unictype/sy_c_ident.h: Likewise.
22726         * lib/unictype/sy_c_whitespace.h: Likewise.
22727         * lib/unictype/sy_java_whitespace.h: Likewise.
22728         * modules/uni*/*: Bump version number of expected libunistring version.
22729         Reported by Simon Josefsson.
22730
22731 2011-01-09  Karl Heuer  <kwzh@gnu.org>
22732
22733         useless-if-before-free: fix typo in --help and make the internal,
22734         automatic version date update process work once again.
22735         --help output contained a NUL character instead of the
22736         backslash-zero that was intended.  Also, the "must lie within
22737         the first 8 lines" line is on line 9, and hence not getting
22738         automatically updated.
22739         * build-aux/useless-if-before-free: Fix the former by adding a
22740         backslash, and the latter by condensing the three lines of what-it-does
22741         to a single line, leaving one line of slack for the future.
22742
22743 2011-01-09  Bruno Haible  <bruno@clisp.org>
22744
22745         uniwidth/width: Fix width of U+1D173..U+1D17A.
22746         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
22747         symbolic_width, output_width_property_test): New functions.
22748         (main): Invoke output_nonspacing_property, output_width_property_test.
22749         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
22750         U+1D173..U+1D17A.
22751         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
22752         1.
22753         * modules/uniwidth/*: Bump version number of expected libunistring
22754         version.
22755         * modules/unilbrk/*: Likewise.
22756
22757 2011-01-08  Bruno Haible  <bruno@clisp.org>
22758
22759         uninorm tests: Preserve copyright of Unicode data file.
22760         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
22761         Mention modifications.
22762
22763 2011-01-08  Bruno Haible  <bruno@clisp.org>
22764
22765         gen-uni-tables: Prepare for Unicode 5.2.0.
22766         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
22767         (debug_output_lbp, output_lbp): Update.
22768
22769 2011-01-08  Bruno Haible  <bruno@clisp.org>
22770
22771         unilbrk: Clarify gen-uni-tables.c code.
22772         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
22773         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
22774         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
22775
22776 2011-01-07  Bruno Haible  <bruno@clisp.org>
22777
22778         strtod: Restore errno when successfully parsing Infinity or NaN.
22779         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
22780         restore the original errno.
22781
22782 2011-01-07  Bruno Haible  <bruno@clisp.org>
22783
22784         remove test: Avoid failure on HP-UX 11.
22785         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
22786
22787 2011-01-07  Bruno Haible  <bruno@clisp.org>
22788
22789         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
22790         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
22791         error code.
22792
22793 2011-01-07  Pádraig Brady <P@draigBrady.com>
22794
22795         ignore-value: fixup comments, and add Eric Blake
22796         as an author since he rewrote the macros.
22797         * lib/ignore-value.h (ignore_value):  State that
22798         we now support aggregates.  Also specify exactly
22799         when the GCC warn_unused_result feature was added.
22800
22801 2011-01-06  Eric Blake  <eblake@redhat.com>
22802
22803         ignore-value: support aggregate types
22804         * lib/ignore-value.h (ignore_value): Provide separate gcc
22805         definition.
22806         * modules/ignore-value-tests: New test module.
22807         * tests/test-ignore-value.c: New test.
22808
22809         maint.mk: improve sc_prohibit_strcmp regex
22810         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
22811         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
22812         definition of STRNEQ.
22813
22814         signal: work around Haiku issue with SIGBUS
22815         * lib/siglist.h: Add comment.
22816         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
22817         strsignal's favoring of SIGSEGV.
22818         * tests/test-signal.c (main): Avoid test failure.
22819         * doc/posix-headers/signal.texi (signal.h): Document the issue.
22820         Reported by Scott McCreary.
22821
22822         maint.mk: add pre-release check to ensure submodule commits are public
22823         * top/maint.mk (public-submodule-commit): New rule.
22824         (submodule-checks): New variable.
22825         (alpha beta stable): Depend on the variable.
22826
22827 2011-01-05  Pádraig Brady <P@draigBrady.com>
22828         and Jim Meyering  <meyering@redhat.com>
22829
22830         ignore-value: make ignore_value more generic; deprecate ignore_ptr
22831         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
22832         (ATTRIBUTE_DEPRECATED): Define.
22833         (_ignore_case): New function.
22834         (ignore_value): New macro, to replace the old function.
22835         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
22836         * modules/ignore-value (Depends-on): Add stdint.
22837
22838 2011-01-04  Eric Blake  <eblake@redhat.com>
22839
22840         doc: regenerate INSTALL
22841         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
22842         @firstparagraphindent support, now that autoconf dropped it.
22843         (INSTALL_PRELUDE): Reinstate old macro.
22844         * doc/install.texi: Resync from autoconf.
22845         * doc/INSTALL: Reflect recent autoconf update.
22846         * doc/INSTALL.ISO: Likewise.
22847         * doc/INSTALL.UTF-8: Likewise.
22848         Reported by Karl Berry.
22849
22850 2011-01-04  Bruce Korb  <address@hidden>
22851
22852         git-version-gen: avoid a sub-shell
22853         * build-aux/git-version-gen: Redirect stderr in `...` via
22854         "exec 2>...", rather than via an added sub-shell.
22855
22856 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
22857
22858         git-version-gen: use (...) rather than sh -c '...'
22859         * build-aux/git-version-gen: Rather than hard-coding a shell's name
22860         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
22861
22862 2011-01-03  Jim Meyering  <meyering@redhat.com>
22863
22864         git-version-gen: convert leading TABs to spaces
22865         * build-aux/git-version-gen: Expand leading TABs.
22866
22867         git-version-gen: handle failed "git rev-list"
22868         * build-aux/git-version-gen: Rather than leaking a "fatal" error
22869         from git and proceeding as if it had succeeded but printed no SHA1
22870         checksums, suppress the diagnostic and handle the failure.
22871         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
22872
22873         git-version-gen: include command name in one more diagnostic
22874         * build-aux/git-version-gen: When the required .tarball-version file
22875         was missing or unreadable, you might see the diagnostic from "cat",
22876         but no trace of the name of the invoking script.  Now, you still see
22877         the diagnostic from cat, but also get one from "git-version-gen: ".
22878         Inspired by a patch from Bruce Korb.
22879
22880         update-copyright: adjust test to match changed code
22881         * tests/test-update-copyright.sh: Change test's expected output
22882         to match new actual output.
22883
22884 2011-01-02  Bruno Haible  <bruno@clisp.org>
22885
22886         getlogin_r: Avoid test failure on HP-UX 11.
22887         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
22888         ERANGE when the second argument is zero.
22889         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
22890         portability problem.
22891
22892 2011-01-02  Bruce Korb  <bkorb@gnu.org>
22893
22894         * build-aux/update-copyright: doc Simon's changes
22895
22896 2011-01-02  Simon Josefsson  <simon@josefsson.org>
22897
22898         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
22899         environment variable.
22900
22901 2011-01-02  Bruno Haible  <bruno@clisp.org>
22902
22903         unigbrk: Avoid gcc warnings.
22904         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
22905         unused variable.
22906         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
22907         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
22908         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
22909         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
22910         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
22911         Change type of first argument to 'const char *'.
22912         (main): Remove unused variable.
22913         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
22914         type of first argument to 'const char *'.
22915         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
22916         Likewise.
22917         (main): Change type of variable 's'.
22918         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
22919         to 'int'.
22920
22921 2011-01-02  Bruno Haible  <bruno@clisp.org>
22922
22923         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
22924         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
22925         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
22926         bug.
22927         * lib/pwrite.c: Undo 2010-12-31 patch.
22928         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
22929
22930 2011-01-02  Bruno Haible  <bruno@clisp.org>
22931
22932         pread: Fix test whether it works.
22933         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
22934
22935 2011-01-02  Bruno Haible  <bruno@clisp.org>
22936
22937         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
22938         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
22939         ends in "6". Don't require a specific month name. Try also the locale
22940         names found on HP-UX 11 and Solaris 7.
22941
22942 2011-01-02  Bruno Haible  <bruno@clisp.org>
22943
22944         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
22945         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
22946         C linkage.
22947         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
22948
22949 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
22950
22951         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
22952         for consistency, since the "cluster" term is not used elsewhere.
22953         * lib/unigbrk.in.h: Update name.
22954         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
22955         * lib/unigbrk/u16-grapheme-next.c: Update name.
22956         * lib/unigbrk/u16-grapheme-prev.c: Update name.
22957         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
22958         * lib/unigbrk/u32-grapheme-next.c: Update name.
22959         * lib/unigbrk/u32-grapheme-prev.c: Update name.
22960         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
22961         * lib/unigbrk/u8-grapheme-next.c: Update name.
22962         * lib/unigbrk/u8-grapheme-prev.c: Update name.
22963         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
22964         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
22965         Suggested by Bruno Haible.
22966
22967 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
22968
22969         Remove module 'u8-grapheme-len' as too redundant with
22970         'u8-grapheme-next'.
22971         * modules/unigbrk/u8-grapheme-len: Delete file.
22972         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
22973         * lib/unigbrk.in.h: Remove prototype for deleted function.
22974         * lib/unigbrk/u8-grapheme-len.c: Delete file.
22975         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
22976
22977         Remove module 'u16-grapheme-len' as too redundant with
22978         'u16-grapheme-next'.
22979         * modules/unigbrk/u16-grapheme-len: Delete file.
22980         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
22981         * lib/unigbrk.in.h: Remove prototype for deleted function.
22982         * lib/unigbrk/u16-grapheme-len.c: Delete file.
22983         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
22984
22985         Remove module 'u32-grapheme-len' as too redundant with
22986         'u32-grapheme-next'.
22987         * modules/unigbrk/u32-grapheme-len: Delete file.
22988         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
22989         * lib/unigbrk.in.h: Remove prototype for deleted function.
22990         * lib/unigbrk/u32-grapheme-len.c: Delete file.
22991         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
22992
22993         Suggested by Bruno Haible.
22994
22995 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
22996
22997         * unigbrk.in.h: Fix typo: "ben" => "been".
22998         Reported by Bruno Haible.
22999
23000 2011-01-01  Jim Meyering  <meyering@redhat.com>
23001
23002         maint: update almost all copyright ranges to include 2011
23003         Run the new "make update-copyright" rule.
23004
23005 2011-01-01  Jim Meyering  <meyering@redhat.com>
23006
23007         maint: update-copyright: exempt doc/INSTALL*
23008         * Makefile (update-copyright): Also exclude doc/INSTALL*,
23009         since they are generated.  Suggested by Bruno Haible.
23010
23011 2011-01-01  Jim Meyering  <meyering@redhat.com>
23012
23013         maint: refine the update-copyright rule
23014         * Makefile (update-copyright): Also exclude any file that includes
23015         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
23016         code that merely generates the comment.
23017
23018 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
23019
23020         New module 'u8-grapheme-len'.
23021         * modules/unigbrk/u8-grapheme-len: New file.
23022         * modules/unigbrk/u8-grapheme-len-tests: New file.
23023         * lib/unigbrk.in.h: Add prototype for new function.
23024         * lib/unigbrk/u8-grapheme-len.c: New file.
23025         * tests/unigbrk/test-u8-grapheme-len.c: New file.
23026
23027         New module 'u16-grapheme-len'.
23028         * modules/unigbrk/u16-grapheme-len: New file.
23029         * modules/unigbrk/u16-grapheme-len-tests: New file.
23030         * lib/unigbrk.in.h: Add prototype for new function.
23031         * lib/unigbrk/u16-grapheme-len.c: New file.
23032         * tests/unigbrk/test-u16-grapheme-len.c: New file.
23033
23034         New module 'u32-grapheme-len'.
23035         * modules/unigbrk/u32-grapheme-len: New file.
23036         * modules/unigbrk/u32-grapheme-len-tests: New file.
23037         * lib/unigbrk.in.h: Add prototype for new function.
23038         * lib/unigbrk/u32-grapheme-len.c: New file.
23039         * tests/unigbrk/test-u32-grapheme-len.c: New file.
23040
23041         New module 'u8-grapheme-next'.
23042         * modules/unigbrk/u8-grapheme-next: New file.
23043         * modules/unigbrk/u8-grapheme-next-tests: New file.
23044         * lib/unigbrk.in.h: Add prototype for new function.
23045         * lib/unigbrk/u8-grapheme-next.c: New file.
23046         * tests/unigbrk/test-u8-grapheme-next.c: New file.
23047
23048         New module 'u16-grapheme-next'.
23049         * modules/unigbrk/u16-grapheme-next: New file.
23050         * modules/unigbrk/u16-grapheme-next-tests: New file.
23051         * lib/unigbrk.in.h: Add prototype for new function.
23052         * lib/unigbrk/u16-grapheme-next.c: New file.
23053         * tests/unigbrk/test-u16-grapheme-next.c: New file.
23054
23055         New module 'u32-grapheme-next'.
23056         * modules/unigbrk/u32-grapheme-next: New file.
23057         * modules/unigbrk/u32-grapheme-next-tests: New file.
23058         * lib/unigbrk.in.h: Add prototype for new function.
23059         * lib/unigbrk/u32-grapheme-next.c: New file.
23060         * tests/unigbrk/test-u32-grapheme-next.c: New file.
23061
23062         New module 'u8-grapheme-prev'.
23063         * modules/unigbrk/u8-grapheme-prev: New file.
23064         * modules/unigbrk/u8-grapheme-prev-tests: New file.
23065         * lib/unigbrk.in.h: Add prototype for new function.
23066         * lib/unigbrk/u8-grapheme-prev.c: New file.
23067         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
23068
23069         New module 'u16-grapheme-prev'.
23070         * modules/unigbrk/u16-grapheme-prev: New file.
23071         * modules/unigbrk/u16-grapheme-prev-tests: New file.
23072         * lib/unigbrk.in.h: Add prototype for new function.
23073         * lib/unigbrk/u16-grapheme-prev.c: New file.
23074         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
23075
23076         New module 'u32-grapheme-prev'.
23077         * modules/unigbrk/u32-grapheme-prev: New file.
23078         * modules/unigbrk/u32-grapheme-prev-tests: New file.
23079         * lib/unigbrk.in.h: Add prototype for new function.
23080         * lib/unigbrk/u32-grapheme-prev.c: New file.
23081         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
23082
23083         New module 'u8-grapheme-breaks'.
23084         * modules/unigbrk/u8-grapheme-breaks: New file.
23085         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
23086         * lib/unigbrk.in.h: Add prototype for new function.
23087         * lib/unigbrk/u8-grapheme-breaks.c: New file.
23088         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
23089
23090         New module 'u16-grapheme-breaks'.
23091         * modules/unigbrk/u16-grapheme-breaks: New file.
23092         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
23093         * lib/unigbrk.in.h: Add prototype for new function.
23094         * lib/unigbrk/u16-grapheme-breaks.c: New file.
23095         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
23096
23097         New module 'u32-grapheme-breaks'.
23098         * modules/unigbrk/u32-grapheme-breaks: New file.
23099         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
23100         * lib/unigbrk.in.h: Add prototype for new function.
23101         * lib/unigbrk/u32-grapheme-breaks.c: New file.
23102         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
23103
23104         New module 'ulc-grapheme-breaks'.
23105         * modules/unigbrk/ulc-grapheme-breaks: New file.
23106         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
23107         * m4/locale-ar.m4: New file.
23108         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
23109         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
23110         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
23111
23112 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
23113
23114         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
23115         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
23116         modified how this file was generated before I initially submitted
23117         the module, but failed to regenerate it.  This meant that several
23118         of the level2 entries were wrong.
23119         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
23120         Remove the division-by-2 that is folded into the table now that
23121         gbrkprop.h has been regenerated properly.  Now -1 entries are
23122         handled correctly.
23123
23124         New module 'unigbrk/uc-gbrk-prop-tests'.
23125         * modules/unigbrk/uc-gbrk-prop-tests: New file.
23126         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
23127         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
23128         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
23129
23130 2011-01-01  Bruno Haible  <bruno@clisp.org>
23131
23132         Avoid use of hexadecimal escapes.
23133         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
23134         instead of hexadecimal escapes.
23135
23136 2011-01-01  Jim Meyering  <meyering@redhat.com>
23137
23138         maint: new rule to update copyright year ranges
23139         * Makefile (update-copyright): New rule.
23140
23141         maint: indent with TABs in Makefile
23142         * Makefile: Expand leading sequences of spaces to TABs
23143
23144         version-etc: update the copyright year it reports
23145         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
23146
23147 2010-12-31  Bruno Haible  <bruno@clisp.org>
23148
23149         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
23150         * lib/isfinite.c (zerof, zerod, zerol): New variables.
23151         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
23152         zero.
23153
23154 2010-12-31  Bruno Haible  <bruno@clisp.org>
23155
23156         pwrite: Work around HP-UX 11.11 bug.
23157         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
23158         works and set REPLACE_PWRITE if not.
23159         * lib/pwrite.c (pwrite): Add an implementation that uses the system
23160         function.
23161         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
23162
23163 2010-12-31  Bruno Haible  <bruno@clisp.org>
23164
23165         pread: Work around HP-UX 11 bugs.
23166         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
23167         and set REPLACE_PREAD if not.
23168         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
23169
23170 2010-12-31  Eric Blake  <eblake@redhat.com>
23171
23172         nl_langinfo: fix YESEXPR on Irix 6.5
23173         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
23174         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
23175         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
23176         it.
23177
23178 2010-12-31  Bruno Haible  <bruno@clisp.org>
23179
23180         iconv: Document HP-UX 11 bug.
23181         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
23182
23183 2010-12-31  Bruno Haible  <bruno@clisp.org>
23184
23185         ldexpl: Fix link error on HP-UX 11.
23186         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
23187         LDEXPL_LIBM, using $ISNANL_LIBM.
23188
23189 2010-12-31  Eric Blake  <eblake@redhat.com>
23190
23191         ftello: avoid compilation failure with SunStudio c89
23192         * lib/ftello.c (ftello): Use lseek, not llseek.
23193
23194         tests: avoid failing coreutils tests on cygwin
23195         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
23196         (create_exe_shims_): Return 0 when skipping.
23197
23198 2010-12-31  Bruno Haible  <bruno@clisp.org>
23199
23200         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
23201         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
23202
23203 2010-12-31  Bruno Haible  <bruno@clisp.org>
23204
23205         waitpid: Fix link error in C++ mode.
23206         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
23207
23208 2010-12-31  Bruno Haible  <bruno@clisp.org>
23209
23210         isnan: Use GCC built-ins when possible.
23211         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
23212         __builtin_isnan.
23213         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
23214         (isnan): Define using GCC built-ins for GCC >= 4.0.
23215
23216 2010-12-31  Bruno Haible  <bruno@clisp.org>
23217
23218         isnand: Fix mistake.
23219         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
23220         __builtin_isnand.
23221
23222 2010-12-31  Bruno Haible  <bruno@clisp.org>
23223
23224         open: Avoid C++ error on HP-UX 11.
23225         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
23226
23227 2010-12-31  Bruno Haible  <bruno@clisp.org>
23228
23229         time_r: Add missing declarations on HP-UX 11.
23230         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
23231         instead of HAVE_LOCALTIME_R.
23232         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
23233         HAVE_LOCALTIME_R always.
23234         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
23235         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
23236         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
23237         HAVE_LOCALTIME_R.
23238         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
23239         * doc/posix-functions/localtime_r.texi: Likewise.
23240
23241 2010-12-29  Eric Blake  <eblake@redhat.com>
23242
23243         mountlist: tweak previous commit
23244         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
23245         Reported by Paul Eggert.
23246
23247         mountlist: fix local drive detection on cygwin
23248         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
23249         that works for cygwin.
23250
23251 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
23252
23253         ftoastr, snprintf: ftoastr + snprintf module
23254         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
23255         since the snprintf module now should be good enough here.
23256         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
23257         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
23258         and gl_MODULE_INDICATOR([snprintf]), but the former enables
23259         GNULIB_SNPRINTF only for the test directory, and the latter
23260         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
23261         seems to suffice by itself.
23262
23263 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
23264
23265         alloca: one step towards thread-safety
23266         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
23267         need for a static variable.  All callers changed.  This does not
23268         make the alloca replacement thread-safe, but it's one step.
23269
23270         tests: minor indenting change
23271         * tests/init.sh: Sync from coreutils housekeeping patch
23272         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
23273         to keep lines within 80 columns.
23274
23275 2010-12-28  Jim Meyering  <meyering@redhat.com>
23276
23277         regex: don't infloop on persistent failing calloc
23278         * lib/regexec.c (build_trtable): Return failure indication upon
23279         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
23280         In glibc, this was fixed for version 2.13:
23281         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
23282
23283 2010-12-28  Bruno Haible  <bruno@clisp.org>
23284             Paul Eggert <eggert@cs.ucla.edu>
23285
23286         linkat: Make implementation robust against system behaviour variations.
23287         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
23288         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
23289         way, and to -2 if it needs a generic runtime test.
23290         * lib/linkat.c (solaris_optimized_link_immediate,
23291         solaris_optimized_link_follow): New functions.
23292         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
23293         (check_same_link): Use it.
23294
23295 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
23296
23297         New module 'unigbrk/base'.
23298         * modules/unigbrk/base: New file.
23299         * lib/unigbrk.in.h: New file.
23300
23301         New module 'unigbrk/uc-gbrk-prop'.
23302         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
23303         * modules/unigbrk/uc-gbrk-prop: New file.
23304         * lib/unigbrk/gbrkprop.h: New file.
23305         * lib/unigbrk/uc-gbrk-prop.c: New file.
23306
23307         New module 'unigbrk/uc-is-grapheme-break'.
23308         * modules/unigbrk/uc-is-grapheme-break: New file.
23309         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
23310         * lib/unigbrk/uc-is-grapheme-break.c: New file.
23311         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
23312         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
23313         * tests/unigbrk/GraphemeBreakTest.txt: New file.
23314
23315         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
23316
23317 2010-12-27  Bruno Haible  <bruno@clisp.org>
23318
23319         linkat test: Avoid failure on Solaris 11 2010-11.
23320         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
23321
23322 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
23323
23324         utimens: work around glibc rounding bug on more platforms
23325         * lib/utimens.c (fdutimens): Work around rounding bug even if
23326         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
23327         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
23328
23329 2010-12-27  Bruno Haible  <bruno@clisp.org>
23330
23331         select tests: Improve comments.
23332         * tests/test-select.c (do_select): Add comments.
23333
23334 2010-12-27  Bruno Haible  <bruno@clisp.org>
23335
23336         select tests: Safer way of handling timeout.
23337         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
23338         at every invocation.
23339
23340 2010-12-27  Bruno Haible  <bruno@clisp.org>
23341
23342         select tests: Use 'bool' where appropriate.
23343         * tests/test-select.c (connect_to_socket): Change argument type to
23344         'bool'.
23345
23346 2010-12-27  Bruno Haible  <bruno@clisp.org>
23347
23348         select tests: Use existing modules.
23349         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
23350         (configure.ac): Don't test for unistd.h.
23351         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
23352         declared in <unistd.h>.
23353
23354 2010-12-27  Bruno Haible  <bruno@clisp.org>
23355
23356         mbrtowc: Work around a Solaris 7 bug.
23357         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
23358         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
23359         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
23360         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
23361         MBRTOWC_NULL_ARG1_BUG.
23362         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
23363         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
23364         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
23365         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
23366
23367 2010-12-27  Jim Meyering  <meyering@redhat.com>
23368
23369         read-file.c: tweak syntax
23370         * lib/read-file.c (fread_file): Remove space after "*" in function
23371         definitions.
23372
23373 2010-12-27  Bruno Haible  <bruno@clisp.org>
23374
23375         times test: Avoid gcc warnings on OSF/1.
23376         * tests/test-times.c (main): Cast printf arguments from clock_t to
23377         'long int'.
23378
23379 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
23380
23381         utimens: work around glibc rounding bug on older Linux kernels
23382         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
23383         on Linux with a glibc whose utimes might not work, then work
23384         around a longstanding glibc bug involving rounding rather than
23385         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
23386         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
23387
23388 2010-12-26  Bruno Haible  <bruno@clisp.org>
23389
23390         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
23391         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
23392         _GL_CXXALIAS_SYS.
23393         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23394
23395 2010-12-26  Bruno Haible  <bruno@clisp.org>
23396
23397         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
23398         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
23399         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
23400         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
23401         looking for the declaration.
23402         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
23403         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
23404         problem.
23405         * doc/posix-functions/inet_pton.texi: Likewise.
23406
23407 2010-12-26  Bruno Haible  <bruno@clisp.org>
23408
23409         arpa_inet: Use the common idioms with C++ support.
23410         * lib/arpa_inet.in.h: Include c++defs.h.
23411         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
23412         support.
23413         * modules/arpa_inet (Depends-on): Add c++defs.
23414         (Makefile.am): Substitute the contents of c++defs.h.
23415         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
23416         * modules/arpa_inet-c++-tests: New file.
23417         * tests/test-arpa_inet-c++.cc: New file.
23418
23419 2010-12-25  Bruno Haible  <bruno@clisp.org>
23420
23421         Fix more C++ link errors on Solaris 8.
23422         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
23423         $(LIB_EACCESS).
23424         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
23425         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
23426         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
23427         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
23428         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
23429
23430 2010-12-25  Bruno Haible  <bruno@clisp.org>
23431
23432         printf-posix: Fix link error when a non-GCC compiler is used.
23433         * lib/stdio.in.h (printf): When not using GCC, override printf
23434         correctly.
23435         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23436
23437 2010-12-25  Bruno Haible  <bruno@clisp.org>
23438
23439         strerror_r-posix: Update doc.
23440         * doc/posix-functions/strerror_r.texi: Update doc about the return
23441         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
23442
23443 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
23444
23445         utimens: simplify the logic of the previous change
23446         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
23447         This should not affect whether the test succeeds or fails.
23448
23449         utimens: configure better on hosts with NFS clock skew
23450         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
23451         uses the clock of the local host.  It might use the clock of the
23452         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
23453         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
23454
23455 2010-12-25  Bruno Haible  <bruno@clisp.org>
23456
23457         ptsname test: Avoid failure on Solaris.
23458         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
23459         open a pseudo-terminal; don't use BSD-style ptys.
23460         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
23461
23462 2010-12-25  Bruno Haible  <bruno@clisp.org>
23463
23464         ptsname: Avoid ERANGE failure on some systems.
23465         * lib/ptsname.c (buffer): Increase size.
23466
23467 2010-12-25  Bruno Haible  <bruno@clisp.org>
23468
23469         rename, renameat: Avoid test failures at NFS mounted locations.
23470         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
23471         so that subsequent mkdir calls succeed.
23472
23473 2010-12-25  Bruno Haible  <bruno@clisp.org>
23474
23475         iswblank: Fix C++ link error on Solaris 8.
23476         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
23477         _GL_FUNCDECL_SYS.
23478
23479 2010-12-25  Bruno Haible  <bruno@clisp.org>
23480
23481         unistd: Fix C++ link error on Solaris 8.
23482         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
23483
23484 2010-12-25  Bruno Haible  <bruno@clisp.org>
23485
23486         readlink doc: Mention an old glibc bug.
23487         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
23488
23489 2010-12-25  Bruno Haible  <bruno@clisp.org>
23490
23491         fcntl-h: Fix for use of C++ on glibc systems.
23492         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
23493         also on glibc systems in C++ mode.
23494         Reported by Gary V. Vaughan <gary@gnu.org>.
23495
23496 2010-12-25  Bruno Haible  <bruno@clisp.org>
23497
23498         roundl-ieee: Make it work on OSF/1 5.1 with cc.
23499         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
23500
23501 2010-12-25  Bruno Haible  <bruno@clisp.org>
23502
23503         truncl-ieee: Make it work on OSF/1 5.1 with cc.
23504         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
23505         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
23506         test whether truncl works according to ISO C 99 with IEC 60559.
23507         * m4/truncl-ieee.m4: New file.
23508         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
23509         m4/signbit.m4.
23510         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
23511
23512 2010-12-25  Bruno Haible  <bruno@clisp.org>
23513
23514         ceill-ieee: Make it work on OSF/1 5.1 with cc.
23515         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
23516         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
23517         test whether ceill works according to ISO C 99 with IEC 60559.
23518         * m4/ceill-ieee.m4: New file.
23519         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
23520         m4/signbit.m4.
23521         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
23522
23523 2010-12-25  Bruno Haible  <bruno@clisp.org>
23524
23525         Ensure all prerequisites of <wchar.h> are included.
23526         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
23527         before <wchar.h>.
23528         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
23529         gl_MBRLEN_NUL_RETVAL): Likewise.
23530         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
23531         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
23532         AC_FUNC_MBRTOWC): Likewise.
23533         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
23534         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
23535         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
23536         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
23537         Likewise.
23538         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
23539         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
23540         (gl_WCHAR_H): Improve comments.
23541         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
23542
23543 2010-12-25  Bruno Haible  <bruno@clisp.org>
23544
23545         strtok_r: Fix C syntax error in autoconf macro.
23546         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
23547         characters in test program.
23548
23549 2010-12-24  Bruno Haible  <bruno@clisp.org>
23550
23551         ceil, trunc, round: Fix gcc warnings.
23552         * lib/ceil.c (MIN): Undefine before redefining.
23553         * lib/trunc.c (MIN): Likewise.
23554         * lib/round.c (MIN): Likewise.
23555         Include <math.h> first.
23556
23557 2010-12-24  Bruno Haible  <bruno@clisp.org>
23558
23559         select tests: Avoid failures on OSF/1 5.1.
23560         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
23561         failure of closing the last socket; it may fail with ECONNRESET.
23562
23563 2010-12-24  Eric Blake  <eblake@redhat.com>
23564
23565         stdint: avoid HP-UX 10.20 preprocessor bug
23566         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
23567         than #if.
23568         * tests/test-floor2.c (main): Likewise.
23569         Reported by Peter O'Gorman.
23570
23571         pipe: make obsoletion transition easier
23572         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
23573         * modules/pipe (Files): Include revived file.
23574         (Include): Drop reference, to mirror getdate's behavior.
23575
23576 2010-12-24  Bruno Haible  <bruno@clisp.org>
23577
23578         sys_socket: Hide mismatch of declarations on NonStop Kernel.
23579         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
23580         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
23581         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23582
23583 2010-12-24  Bruno Haible  <bruno@clisp.org>
23584
23585         gethostname: Ensure declaration on NonStop Kernel.
23586         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
23587         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23588
23589 2010-12-24  Bruno Haible  <bruno@clisp.org>
23590
23591         sys_select: Ensure all necessary types on NonStop Kernel.
23592         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
23593         include <sys/time.h>.
23594         * doc/posix-headers/sys_select.texi: Mention that it's missing on
23595         NonStop Kernel.
23596         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23597
23598 2010-12-24  Bruno Haible  <bruno@clisp.org>
23599
23600         sys_select: Remove unneeded include.
23601         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
23602         have <sys/select.h>.
23603
23604 2010-12-24  Bruno Haible  <bruno@clisp.org>
23605
23606         gethostname: Provide a fallback for HOST_NAME_MAX.
23607         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
23608         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
23609         instead.
23610         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23611
23612 2010-12-24  Bruno Haible  <bruno@clisp.org>
23613
23614         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
23615         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
23616         (SA_RESTART): Likewise.
23617         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23618
23619 2010-12-24  Bruno Haible  <bruno@clisp.org>
23620
23621         signal: Define NSIG.
23622         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
23623         * tests/test-signal.c (nsig): New variable.
23624         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23625
23626 2010-12-24  Bruno Haible  <bruno@clisp.org>
23627
23628         rename, renameat: Avoid test failures on OSF/1 5.1.
23629         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
23630         alternative error codes.
23631         * tests/test-renameat.c (main): Likewise.
23632
23633 2010-12-24  Bruno Haible  <bruno@clisp.org>
23634
23635         *printf: Detect large precisions bug on Solaris 10/SPARC.
23636         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
23637         by Paul Eggert.
23638         * tests/test-snprintf-posix.h (test_function): Add this test code here
23639         too.
23640         * tests/test-sprintf-posix.h (test_function): Likewise.
23641         * tests/test-vasnprintf-posix.c (test_function): Likewise.
23642         * tests/test-vasprintf-posix.c (test_function): Likewise.
23643         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
23644         around by gnulib.
23645         * doc/posix-functions/printf.texi: Likewise.
23646         * doc/posix-functions/snprintf.texi: Likewise.
23647         * doc/posix-functions/sprintf.texi: Likewise.
23648         * doc/posix-functions/vfprintf.texi: Likewise.
23649         * doc/posix-functions/vprintf.texi: Likewise.
23650         * doc/posix-functions/vsnprintf.texi: Likewise.
23651         * doc/posix-functions/vsprintf.texi: Likewise.
23652         * doc/posix-functions/dprintf.texi: Undo last commit.
23653         * doc/posix-functions/vdprintf.texi: Likewise.
23654
23655 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
23656
23657         tests: port test-fdutimensat.c to Solaris 8
23658         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
23659         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
23660         On Solaris 8, it fails with errno == ENOSYS, because there is no
23661         futimens (so it can't use the fd), and there is no lutimens (so it
23662         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
23663
23664         vsnprintf: make more consistent with snprintf; doc fixes
23665
23666         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
23667         the byte count return problem was promoted from the snprintf-posix
23668         to the snprintf module.
23669         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
23670         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
23671         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
23672         * tests/test-snprintf.c (main): Check the byte count returned.
23673         * tests/test-vsnprintf.c (main): Likewise.
23674
23675 2010-12-23  Eric Blake  <eblake@redhat.com>
23676
23677         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
23678         * modules/sigpipe (License): Relax license.
23679
23680 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
23681
23682         doc: document Solaris printf bug with large float precisions
23683         * doc/posix-functions/dprintf.texi (dprintf):
23684         * doc/posix-functions/fprintf.texi (fprintf):
23685         * doc/posix-functions/printf.texi (printf):
23686         * doc/posix-functions/snprintf.texi (snprintf):
23687         * doc/posix-functions/sprintf.texi (sprintf):
23688         * doc/posix-functions/vdprintf.texi (vdprintf):
23689         * doc/posix-functions/vfprintf.texi (vfprintf):
23690         * doc/posix-functions/vprintf.texi (vprintf):
23691         * doc/posix-functions/vsnprintf.texi (vsnprintf):
23692         * doc/posix-functions/vsprintf.texi (vsprintf):
23693         Mention that these functions mishandle large floating point
23694         precisions on Solaris 10.  The same bug is also present in Solaris
23695         8, and I assume earlier.  This causes "cd gnulib-tests; make
23696         check" to fail on Solaris 8 (and I assume, later) when building
23697         the latest coreutils, in test-vasprintf-posix's call to
23698         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
23699         the wide flavors (e.g., wprintf) so this patch just updates the
23700         documentation for the narrow ones.
23701
23702         test-posixtm.c: add two tests
23703         * tests/test-posixtm.c: Add two tests, to highlight the
23704         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
23705         around this bug; this is merely to document it.
23706
23707 2010-12-22  Bruno Haible  <bruno@clisp.org>
23708
23709         getlogin_r: Work around portability problem on OSF/1.
23710         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
23711         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
23712         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
23713         test for a truncated result.
23714         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
23715         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
23716         * modules/getlogin_r (Depends-on): Add memchr.
23717         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
23718
23719 2010-12-22  Bruno Haible  <bruno@clisp.org>
23720
23721         ptsname: Avoid test failure on OSF/1 5.1.
23722         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
23723         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
23724         (same_slave): New function.
23725         (main): Use it to compare ptsname's result with the expected file name.
23726
23727 2010-12-22  Bruno Haible  <bruno@clisp.org>
23728
23729         Port extended stdio modules to HP NonStop Kernel.
23730         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
23731         macros.
23732         * lib/fbufmode.c: Update comments.
23733         * lib/fflush.c: Likewise.
23734         * lib/fpurge.c: Likewise.
23735         * lib/freadable.c: Likewise.
23736         * lib/freadahead.c: Likewise.
23737         * lib/freading.c: Likewise.
23738         * lib/freadptr.c: Likewise.
23739         * lib/freadseek.c: Likewise.
23740         * lib/fseeko.c: Likewise.
23741         * lib/fseterr.c: Likewise.
23742         * lib/fwritable.c: Likewise.
23743         * lib/fwriting.c: Likewise.
23744         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23745
23746 2010-12-22  Bruno Haible  <bruno@clisp.org>
23747
23748         ttyname_r: Work around bug on OSF/1 5.1.
23749         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
23750         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
23751         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
23752         present.
23753         * lib/ttyname_r.c (ttyname_r): Update comments.
23754
23755 2010-12-22  Bruno Haible  <bruno@clisp.org>
23756
23757         round: Implement result sign according to IEEE 754.
23758         * lib/round.c (MIN, MINUS_ZERO): New macros.
23759         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
23760         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
23761         * tests/test-round-ieee.c (main): Likewise.
23762         * tests/test-roundl-ieee.c (main): Likewise.
23763
23764         trunc: Implement result sign according to IEEE 754.
23765         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
23766         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
23767         * tests/test-trunc2.c: Include minus-zero.h.
23768         (MINUS_ZERO): New macro.
23769         (trunc_reference): Keep in sync with lib/trunc.c.
23770         * tests/test-truncf2.c: Include minus-zero.h.
23771         (MINUS_ZERO): New macro.
23772         (truncf_reference): Keep in sync with lib/trunc.c.
23773         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
23774         * tests/test-trunc-ieee.c (main): Likewise.
23775         * tests/test-truncl-ieee.c (main): Likewise.
23776
23777         ceil: Implement result sign according to IEEE 754.
23778         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
23779         (FUNC): Return -0.0 for -1 < x < 0.
23780         * tests/test-ceil2.c: Include minus-zero.h.
23781         (MINUS_ZERO): New macro.
23782         (ceil_reference): Keep in sync with lib/ceil.c.
23783         * tests/test-ceilf2.c: Include minus-zero.h.
23784         (MINUS_ZERO): New macro.
23785         (ceilf_reference): Keep in sync with lib/ceil.c.
23786         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
23787         * tests/test-ceil-ieee.c (main): Likewise.
23788         * tests/test-ceill-ieee.c (main): Likewise.
23789
23790         floor: Implement result sign according to IEEE 754.
23791         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
23792         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
23793         * tests/test-floorf2.c (floorf_reference): Likewise.
23794         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
23795         * tests/test-floor-ieee.c (main): Likewise.
23796         * tests/test-floorl-ieee.c (main): Likewise.
23797
23798 2010-12-22  Bruno Haible  <bruno@clisp.org>
23799
23800         getaddrinfo: Update doc.
23801         * doc/posix-functions/gai_strerror.texi: Return type is also different
23802         on AIX and HP-UX.
23803
23804 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
23805
23806         getaddrinfo, inet_ntop: Update doc for Solaris.
23807         * doc/posix-functions/gai_strerror.texi: Return type is also an
23808         issue on Solaris 9 and earlier.
23809         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
23810         on Solaris 10 and earlier.
23811
23812 2010-12-21  Bruno Haible  <bruno@clisp.org>
23813
23814         New module 'roundl-ieee'.
23815         * modules/roundl-ieee: New file.
23816         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
23817         test whether roundl works according to ISO C 99 with IEC 60559.
23818         * m4/roundl-ieee.m4: New file.
23819         * modules/roundl-ieee-tests: New file.
23820         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
23821         * tests/test-roundl.c (main): Remove signbit tests.
23822         * modules/roundl-tests (Depends-on): Remove signbit.
23823         * doc/posix-functions/roundl.texi: Mention the new module.
23824
23825 2010-12-21  Bruno Haible  <bruno@clisp.org>
23826
23827         New module 'truncl-ieee'.
23828         * modules/truncl-ieee: New file.
23829         * modules/truncl-ieee-tests: New file.
23830         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
23831         * tests/test-truncl.c (main): Remove signbit tests.
23832         * modules/truncl-tests (Depends-on): Remove signbit.
23833         * doc/posix-functions/truncl.texi: Mention the new module.
23834
23835 2010-12-21  Bruno Haible  <bruno@clisp.org>
23836
23837         New module 'ceill-ieee'.
23838         * modules/ceill-ieee: New file.
23839         * modules/ceill-ieee-tests: New file.
23840         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
23841         * tests/test-ceill.c (main): Remove signbit tests.
23842         * modules/ceill-tests (Depends-on): Remove signbit.
23843         * doc/posix-functions/ceill.texi: Mention the new module.
23844
23845 2010-12-21  Bruno Haible  <bruno@clisp.org>
23846
23847         New module 'floorl-ieee'.
23848         * modules/floorl-ieee: New file.
23849         * modules/floorl-ieee-tests: New file.
23850         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
23851         * tests/test-floorl.c (main): Remove signbit tests.
23852         * modules/floorl-tests (Depends-on): Remove signbit.
23853         * doc/posix-functions/floorl.texi: Mention the new module.
23854
23855 2010-12-21  Bruno Haible  <bruno@clisp.org>
23856
23857         New module 'round-ieee'.
23858         * modules/round-ieee: New file.
23859         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
23860         whether round works according to ISO C 99 with IEC 60559.
23861         * m4/round-ieee.m4: New file.
23862         * modules/round-ieee-tests: New file.
23863         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
23864         * tests/test-round1.c (main): Remove signbit tests.
23865         * modules/round-tests (Depends-on): Remove 'signbit'.
23866         * doc/posix-functions/round.texi: Mention the new module.
23867
23868 2010-12-21  Bruno Haible  <bruno@clisp.org>
23869
23870         New module 'trunc-ieee'.
23871         * modules/trunc-ieee: New file.
23872         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
23873         whether trunc works according to ISO C 99 with IEC 60559.
23874         * m4/trunc-ieee.m4: New file.
23875         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
23876         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
23877         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
23878         * modules/trunc-ieee-tests: New file.
23879         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
23880         * tests/test-trunc1.c (main): Remove signbit tests.
23881         * modules/trunc-tests (Depends-on): Remove 'signbit'.
23882         * doc/posix-functions/trunc.texi: Mention the new module.
23883
23884 2010-12-21  Bruno Haible  <bruno@clisp.org>
23885
23886         New module 'ceil-ieee'.
23887         * modules/ceil-ieee: New file.
23888         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
23889         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
23890         ISO C 99 with IEC 60559.
23891         * m4/ceil-ieee.m4: New file.
23892         * modules/ceil (Files): Add lib/ceil.c.
23893         (Depends-on): Add 'float'.
23894         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
23895         * lib/math.in.h (ceil): New declaration.
23896         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
23897         REPLACE_CEIL.
23898         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
23899         * modules/ceil-ieee-tests: New file.
23900         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
23901         * tests/test-math-c++.cc: Check the signature of 'ceil'.
23902         * doc/posix-functions/ceil.texi: Mention the new module.
23903
23904 2010-12-21  Bruno Haible  <bruno@clisp.org>
23905
23906         New module 'floor-ieee'.
23907         * modules/floor-ieee: New file.
23908         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
23909         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
23910         ISO C 99 with IEC 60559.
23911         * m4/floor-ieee.m4: New file.
23912         * modules/floor (Files): Add lib/floor.c.
23913         (Depends-on): Add 'float'.
23914         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
23915         * lib/math.in.h (floor): New declaration.
23916         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
23917         REPLACE_FLOOR.
23918         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
23919         * modules/floor-ieee-tests: New file.
23920         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
23921         * tests/test-math-c++.cc: Check the signature of 'floor'.
23922         * doc/posix-functions/floor.texi: Mention the new module.
23923
23924 2010-12-21  Bruno Haible  <bruno@clisp.org>
23925
23926         New module 'roundf-ieee'.
23927         * modules/roundf-ieee: New file.
23928         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
23929         test whether roundf works according to ISO C 99 with IEC 60559.
23930         * m4/roundf-ieee.m4: New file.
23931         * modules/roundf-ieee-tests: New file.
23932         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
23933         * tests/test-roundf1.c (main): Remove signbit tests.
23934         * modules/roundf-tests (Depends-on): Remove 'signbit'.
23935         * doc/posix-functions/roundf.texi: Mention the new module.
23936
23937 2010-12-21  Bruno Haible  <bruno@clisp.org>
23938
23939         New module 'truncf-ieee'.
23940         * modules/truncf-ieee: New file.
23941         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
23942         test whether truncf works according to ISO C 99 with IEC 60559.
23943         * m4/truncf-ieee.m4: New file.
23944         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
23945         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
23946         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
23947         * modules/truncf-ieee-tests: New file.
23948         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
23949         * tests/test-truncf1.c (main): Remove signbit tests.
23950         * modules/truncf-tests (Depends-on): Remove 'signbit'.
23951         * doc/posix-functions/truncf.texi: Mention the new module.
23952
23953 2010-12-21  Bruno Haible  <bruno@clisp.org>
23954
23955         New module 'ceilf-ieee'.
23956         * modules/ceilf-ieee: New file.
23957         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
23958         test whether ceilf works according to ISO C 99 with IEC 60559.
23959         * m4/ceilf-ieee.m4: New file.
23960         * modules/ceilf-ieee-tests: New file.
23961         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
23962         * tests/test-ceilf1.c (main): Remove signbit tests.
23963         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
23964         * doc/posix-functions/ceilf.texi: Mention the new module.
23965
23966 2010-12-21  Bruno Haible  <bruno@clisp.org>
23967
23968         New module 'floorf-ieee'.
23969         * modules/floorf-ieee: New file.
23970         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
23971         test whether floorf works according to ISO C 99 with IEC 60559.
23972         * m4/floorf-ieee.m4: New file.
23973         * modules/floorf-ieee-tests: New file.
23974         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
23975         * tests/test-floorf1.c (main): Remove signbit tests.
23976         * modules/floorf-tests (Depends-on): Remove 'signbit'.
23977         * doc/posix-functions/floorf.texi: Mention the new module.
23978
23979 2010-12-21  Bruno Haible  <bruno@clisp.org>
23980
23981         Support for minus zero in autoconf macros.
23982         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
23983         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
23984         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
23985         * tests/minus-zero.h: Update comments.
23986
23987 2010-12-21  Bruno Haible  <bruno@clisp.org>
23988
23989         Tests for module 'ceil'.
23990         * modules/ceil-tests: New file.
23991         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
23992         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
23993
23994 2010-12-21  Bruno Haible  <bruno@clisp.org>
23995
23996         Tests for module 'floor'.
23997         * modules/floor-tests: New file.
23998         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
23999         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
24000
24001 2010-12-21  Bruno Haible  <bruno@clisp.org>
24002
24003         math: Fix indentation.
24004         * lib/math.in.h (floorf): Fix indentation.
24005
24006 2010-12-21  Bruno Haible  <bruno@clisp.org>
24007
24008         Fix cross-compilation guesses on Solaris.
24009         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
24010         not match "solaris2.10".
24011         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
24012         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
24013         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
24014
24015 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
24016
24017         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
24018         This fixes a problem observed with the latest coreutils snapshot
24019         that caused a test to fail on Solaris 8.  src/csplit.c's call
24020         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
24021         earlier, instead of returning the number of bytes that would have
24022         been generated; this causes csplit to incorrectly report memory
24023         exhaustion.
24024         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
24025         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
24026         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
24027         comments to match.
24028         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
24029         Fix typo in matching older versions of Solaris: "solaris2.10"
24030         is matched by the shell pattern "solaris2.[0-9]*".  This matters
24031         only for guessing while cross-compiling.
24032         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
24033
24034 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
24035
24036         ftoastr: fix comment again
24037         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
24038         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
24039         Also, simplify example a bit by using flags = 0.
24040
24041 2010-12-20  Bruno Haible  <bruno@clisp.org>
24042
24043         round*, trunc*: Update documentation regarding glibc.
24044         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
24045         * doc/posix-functions/round.texi: Likewise.
24046         * doc/posix-functions/roundl.texi: Likewise.
24047         * doc/posix-functions/truncf.texi: Likewise.
24048         * doc/posix-functions/trunc.texi: Likewise.
24049         * doc/posix-functions/truncl.texi: Likewise.
24050
24051 2010-12-20  Bruno Haible  <bruno@clisp.org>
24052
24053         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
24054         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
24055         * doc/posix-functions/round.texi: Likewise.
24056         * doc/posix-functions/roundl.texi: Likewise.
24057
24058 2010-12-20  Bruno Haible  <bruno@clisp.org>
24059
24060         ttyname_r: Add missing declaration on HP-UX 11.
24061         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
24062         HAVE_TTYNAME_R.
24063         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
24064         declared. Set HAVE_TTYNAME_R always.
24065         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
24066         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
24067         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
24068         HAVE_TTYNAME_R.
24069         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
24070
24071 2010-12-20  Bruno Haible  <bruno@clisp.org>
24072
24073         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
24074         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
24075         * doc/posix-functions/getlogin_r.texi: Likewise.
24076         * tests/test-getlogin.c: Include <errno.h>.
24077         (main): Avoid test failure on HP-UX 11.11.
24078         * tests/test-getlogin_r.c (main): Likewise.
24079
24080 2010-12-20  Bruno Haible  <bruno@clisp.org>
24081
24082         getlogin_r: Add missing declaration on HP-UX 11.
24083         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
24084         declared also when it exists as a function.
24085         * doc/posix-functions/getlogin_r.texi: Document this workaround.
24086
24087 2010-12-20  Bruno Haible  <bruno@clisp.org>
24088
24089         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
24090         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
24091         through wcrtomb.
24092
24093 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
24094
24095         ftoastr: fix comment
24096         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
24097         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
24098
24099 2010-12-19  Bruno Haible  <bruno@clisp.org>
24100
24101         isnan: Ensure it is a macro.
24102         * lib/math.in.h (isnan): Define as a macro if not already a macro.
24103         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
24104         Solaris.
24105
24106 2010-12-19  Bruno Haible  <bruno@clisp.org>
24107
24108         ldexpl test: Fix link error on OSF/1 5.1.
24109         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
24110
24111 2010-12-19  Bruno Haible  <bruno@clisp.org>
24112
24113         wctype: Make it work in C++ mode on OSF/1 5.1.
24114         * lib/wctype.in.h (iswblank): Declare but not define here.
24115         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
24116         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
24117         * modules/wctype (Files): Add lib/iswblank.c.
24118
24119 2010-12-19  Bruno Haible  <bruno@clisp.org>
24120
24121         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
24122         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
24123         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
24124
24125 2010-12-19  Bruno Haible  <bruno@clisp.org>
24126
24127         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
24128         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
24129         _POSIX_PII_SOCKET.
24130         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
24131         * doc/posix-functions/recvfrom.texi: Likewise.
24132         * doc/posix-functions/send.texi: Likewise.
24133         * doc/posix-functions/sendto.texi: Likewise.
24134
24135 2010-12-19  Bruno Haible  <bruno@clisp.org>
24136
24137         tcgetsid: Add missing declaration on OSF/1 5.1.
24138         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
24139         HAVE_TCGETSID.
24140         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
24141         Don't set HAVE_TCGETSID.
24142         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
24143         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
24144         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
24145         HAVE_TCGETSID.
24146         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
24147
24148 2010-12-19  Bruno Haible  <bruno@clisp.org>
24149
24150         stdio: Fix problem with popen() declaration on OSF/1 5.1.
24151         * lib/stdio.in.h: During the include_next statement, let recursive
24152         includes of this file include only the system header file.
24153
24154 2010-12-19  Bruno Haible  <bruno@clisp.org>
24155
24156         iconv_open: Fix regression from 2010-12-04.
24157         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
24158         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
24159
24160 2010-12-19  Bruno Haible  <bruno@clisp.org>
24161
24162         stdbool test: Avoid a gcc warning.
24163         * tests/test-stdbool.c (main): Fail if e1 is false.
24164         Reported by Jim Meyering.
24165
24166 2010-12-19  Jim Meyering  <meyering@redhat.com>
24167
24168         setenv: restore to working order
24169         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
24170         mistakenly removed.
24171         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
24172         HAVE_SETENV.
24173         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
24174         HAVE_SETENV.
24175
24176 2010-12-19  Bruno Haible  <bruno@clisp.org>
24177
24178         Document some different function declarations on OSF/1 5.1.
24179         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
24180         * doc/posix-functions/inet_ntop.texi: Likewise.
24181         * doc/posix-functions/gethostname.texi: Likewise.
24182         * lib/unistd.in.h (gethostname): Update comment.
24183
24184 2010-12-19  Bruno Haible  <bruno@clisp.org>
24185
24186         doc: Mention vasprintf-posix module.
24187         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
24188         the 'vasprintf-posix' module.
24189         * doc/glibc-functions/vasprintf.texi: Likewise.
24190
24191 2010-12-19  Bruno Haible  <bruno@clisp.org>
24192
24193         unsetenv: Add missing declaration on OSF/1 5.1.
24194         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
24195         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
24196         Don't set HAVE_UNSETENV. In the test program, set _BSD.
24197         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
24198         not HAVE_UNSETENV.
24199         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
24200         HAVE_UNSETENV.
24201         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
24202
24203 2010-12-19  Bruno Haible  <bruno@clisp.org>
24204
24205         setenv: Add missing declaration on OSF/1 5.1.
24206         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
24207         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
24208         declared. Don't set HAVE_SETENV.
24209         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
24210         not HAVE_SETENV.
24211         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
24212         HAVE_SETENV.
24213         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
24214
24215 2010-12-19  Bruno Haible  <bruno@clisp.org>
24216
24217         nl_langinfo tests: Avoid gcc warning.
24218         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
24219
24220 2010-12-19  Bruno Haible  <bruno@clisp.org>
24221
24222         mknod: Avoid error in C++ mode on OSF/1 with GCC.
24223         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
24224         _GL_CXXALIAS_SYS.
24225
24226 2010-12-19  Bruno Haible  <bruno@clisp.org>
24227
24228         stdbool: Relax test.
24229         * tests/test-stdbool.c (e): Don't require that casts from a variable's
24230         address to 'bool' work in static initializer, for compilers other than
24231         GCC.
24232
24233 2010-12-19  Bruno Haible  <bruno@clisp.org>
24234
24235         ftello: Add missing declaration on OSF/1 5.1.
24236         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
24237         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
24238         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
24239         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
24240         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
24241
24242 2010-12-19  Bruno Haible  <bruno@clisp.org>
24243
24244         fseeko: Add missing declaration on OSF/1 5.1.
24245         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
24246         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
24247         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
24248         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
24249         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
24250
24251 2010-12-19  Bruno Haible  <bruno@clisp.org>
24252
24253         fchdir: Add missing declaration on OSF/1 5.1.
24254         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
24255         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
24256         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
24257         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
24258         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
24259
24260 2010-12-19  Bruno Haible  <bruno@clisp.org>
24261
24262         relocatable-prog-wrapper: Separate from relocatable-prog.
24263         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
24264         uninstall-relocwrapper rule here.
24265         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
24266         Reported by Ian Beckwith <ianb@erislabs.net>.
24267
24268 2010-12-19  Bruno Haible  <bruno@clisp.org>
24269
24270         unistr/u8-mbsnlen: Add missing dependency.
24271         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
24272         Reported by Ian Beckwith <ianb@erislabs.net>.
24273
24274 2010-12-19  Bruno Haible  <bruno@clisp.org>
24275
24276         iconv: Make it possible again to use this module without 'iconv-h'.
24277         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
24278         if it is not defined.
24279         Reported by Ian Beckwith <ianb@erislabs.net>.
24280
24281 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
24282
24283         acl: port to Solaris 8 when copying from tmpfs to ufs
24284         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
24285         error number.  Problem observed on Solaris 8 with latest
24286         coreutils, with "mv A B", where A is on a tmpfs file system and B
24287         is on a ufs file system.  This caused coreutils' mv/part-symlink
24288         test to fail.
24289
24290         tests: set fail=0 at start
24291         * tests/init.sh (setup_): Move fail=0 initialization here ...
24292         (mktempd_): ... from here, so that tests can rely on fail being
24293         set to 0 initially.  This fixes a problem in coreutils; see:
24294         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
24295
24296 2010-12-18  Bruno Haible  <bruno@clisp.org>
24297
24298         memmem-simple: Stylistic changes.
24299         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
24300         Fix preprocessor directive indentation.
24301
24302 2010-12-15  Pádraig Brady <P@draigBrady.com>
24303
24304         memmem, memmem-simple: reorganize and expand empty needle check
24305         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
24306         functional checks to memmem-simple so that one has a fully functional
24307         memmem by using just this module.
24308         Restrict the performance only check to the memmem module.
24309         Also expand the empty needle check to ensure the correct
24310         pointer is returned, not just a non NULL pointer.
24311         * doc/glibc-functions/memmem.texi: Rearrange the portability
24312         documentation to correlate with the rearranged checks.
24313         Clarify exactly how the memmem and memmem-simple modules
24314         relate to each other.
24315
24316 2010-12-15  Pádraig Brady <P@draigBrady.com>
24317             Bruno Haible  <bruno@clisp.org>
24318
24319         Improve cross-compilation guesses for uClibc.
24320         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
24321         that uClibc does not have the glibc bug.
24322         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
24323         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
24324
24325 2010-12-14  Eric Blake  <eblake@redhat.com>
24326
24327         configmake: provide fallbacks for oldest supported autotools
24328         * m4/configmake.m4: New file.
24329         * modules/configmake (Files): Ship it.
24330         (configure.ac): Use it to guarantee fallbacks.
24331
24332 2010-12-13  Pádraig Brady <P@draigBrady.com>
24333
24334         read-file: Improve handling of large files
24335         * lib/read-file.c (fread_file): Minimize realloc()s
24336         for regular files, and better manage sizes around SIZE_MAX.
24337
24338 2010-12-13  Eric Blake  <eblake@redhat.com>
24339
24340         cloexec, fcntl: relax license
24341         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
24342         consent from all contributors.
24343         * modules/fcntl (License): Likewise.
24344
24345 2010-12-10  Bruno Haible  <bruno@clisp.org>
24346
24347         Tests for module 'pipe-posix'.
24348         * modules/pipe-posix-tests: New file.
24349         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
24350
24351 2010-12-10  Bruno Haible  <bruno@clisp.org>
24352
24353         pipe-posix: Make it work in C++ mode.
24354         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
24355         (pipe): Use common idiom, not a macro definition.
24356         * lib/pipe.c: New file.
24357         * m4/pipe.m4: New file.
24358         * modules/pipe-posix (Description): Enhance.
24359         (Files): Add lib/pipe.c, m4/pipe.m4.
24360         (configure.ac): Invoke gl_FUNC_PIPE.
24361         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
24362         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
24363         * tests/test-unistd-c++.cc: Check the signature of pipe.
24364
24365 2010-12-10  Bruno Haible  <bruno@clisp.org>
24366
24367         Rename module 'pipe' to 'spawn-pipe'.
24368         * modules/spawn-pipe: New file, renamed from modules/pipe.
24369         (Files, configure.ac, Makefile.am): Update.
24370         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
24371         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
24372         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
24373         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
24374         "spawn-pipe.h" instead of "pipe.h".
24375         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
24376         to gl_SPAWN_PIPE.
24377         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
24378         (Files, Makefile.am): Update.
24379         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
24380         Update.
24381         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
24382         Include "spawn-pipe.h" instead of "pipe.h".
24383         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
24384         * lib/javacomp.c: Likewise.
24385         * lib/javaversion.c: Likewise.
24386         * lib/pipe-filter-gi.c: Likewise.
24387         * lib/pipe-filter-ii.c: Likewise.
24388         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
24389         * modules/javacomp (Depends-on): Likewise.
24390         * modules/javaversion (Depends-on): Likewise.
24391         * modules/pipe-filter-gi (Depends-on): Likewise.
24392         * modules/pipe-filter-ii (Depends-on): Likewise.
24393         * MODULES.html.sh (Executing programs): Update.
24394         * NEWS: Mention the change.
24395
24396 2010-12-10  Eric Blake  <eblake@redhat.com>
24397
24398         pipe-posix: new module
24399         * modules/pipe-posix: New file.
24400         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
24401         (gl_UNISTD_H): Check for declaration.
24402         * modules/unistd (Makefile.am): Substitute it.
24403         * lib/unistd.in.h (pipe): Provide it for mingw.
24404         * doc/posix-functions/pipe.texi (pipe): Update documentation.
24405         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
24406
24407 2010-12-07  Bruno Haible  <bruno@clisp.org>
24408
24409         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
24410         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
24411         u8_strcmp_gnu.
24412         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
24413
24414 2010-12-06  Bruno Haible  <bruno@clisp.org>
24415
24416         Update internal documentation.
24417         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
24418
24419 2010-12-04  Bruno Haible  <bruno@clisp.org>
24420
24421         Put more information about failed tests into the test return codes.
24422         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
24423         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
24424         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
24425         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
24426         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
24427         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
24428         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
24429         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
24430         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
24431         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
24432         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
24433         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
24434         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
24435         * m4/stdint.m4 (gl_STDINT_H): Likewise.
24436         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
24437         returns a bit mask.
24438         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
24439         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
24440         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
24441         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
24442         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
24443         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
24444         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
24445         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
24446         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
24447         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
24448         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
24449         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
24450         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
24451         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
24452         * m4/link.m4 (gl_FUNC_LINK): Likewise.
24453         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
24454         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
24455         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
24456         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
24457         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
24458         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
24459         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
24460         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
24461         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
24462         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
24463         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
24464         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
24465         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
24466         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
24467         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
24468         gl_PRINTF_PRECISION): Likewise.
24469         * m4/regex.m4 (gl_REGEX): Likewise.
24470         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
24471         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
24472         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
24473         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
24474         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
24475         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
24476         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
24477         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
24478         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
24479         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
24480         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
24481         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
24482         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
24483         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
24484         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
24485         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
24486         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
24487         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
24488         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
24489         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
24490         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
24491         enumerated value.
24492         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
24493
24494 2010-12-04  Bruno Haible  <bruno@clisp.org>
24495
24496         Update for Solaris 11 2010-11.
24497         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
24498         Express, released in November 2010.
24499
24500 2010-12-04  Bruno Haible  <bruno@clisp.org>
24501
24502         nproc: Relax license.
24503         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
24504         and Paul Eggert.
24505         Requested by Ludovic Courtès <ludo@gnu.org>.
24506
24507 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
24508
24509         utimecmp: fine-grained src to nearby coarse-grained dest
24510
24511         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
24512         and the source is on a file system with higher-resolution time
24513         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
24514         not work, and the time stamps are close together, the algorithm to
24515         determine the exact resolution from the read-back mtime was buggy:
24516         it had a "!=" where it should have had an "==".  This bug has been
24517         in the code ever since it was introduced to gnulib.
24518         Problem reported by Dan Jacobson in
24519         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
24520
24521 2010-11-30  Bruno Haible  <bruno@clisp.org>
24522
24523         strerror_r-posix: Fix autoconf test.
24524         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
24525
24526 2010-11-28  Bruno Haible  <bruno@clisp.org>
24527             Paul Eggert  <eggert@cs.ucla.edu>
24528
24529         Tests for module 'getdomainname'.
24530         * modules/getdomainname-tests: New file.
24531         * tests/test-getdomainname.c: New file, based on
24532         tests/test-gethostname.c.
24533
24534 2010-11-28  Bruno Haible  <bruno@clisp.org>
24535             Paul Eggert  <eggert@cs.ucla.edu>
24536
24537         getdomainname: Use the system function when possible.
24538         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
24539         (getdomainname): Replace if needed. Provide the declaration if it is
24540         missing. Don't use _GL_CXXALIAS_SYS_CAST.
24541         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
24542         (getdomainname): When the system has getdomainname, call the system
24543         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
24544         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
24545         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
24546         found in libnsl. Look for the declaration also in <netdb.h>. Replace
24547         the function if its second argument is of type 'int' or if it is found
24548         in libnsl.
24549         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
24550         <sys/systeminfo.h> and sysinfo().
24551         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
24552         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
24553         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
24554         HAVE_GETDOMAINNAME.
24555         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
24556         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
24557         * doc/glibc-functions/getdomainname.texi: Document the problems with
24558         the getdomainname declaration.
24559
24560 2010-11-28  Bruno Haible  <bruno@clisp.org>
24561
24562         sys_socket: Ensure ss_family field on AIX.
24563         * lib/sys_socket.in.h (ss_family): New macro definition.
24564         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
24565         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
24566         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
24567         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
24568         * modules/sys_socket (Makefile.am): Substitute
24569         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
24570         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
24571
24572 2010-11-27  Bruno Haible  <bruno@clisp.org>
24573
24574         readline: Improve configure output.
24575         * m4/readline.m4 (gl_FUNC_READLINE): Make the
24576         "checking for readline..." result understandable.
24577
24578 2010-11-27  Bruno Haible  <bruno@clisp.org>
24579
24580         *printf-posix: Detect a bug on Solaris 10/x86.
24581         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
24582         for floating-point output.
24583         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
24584         directive.
24585         * tests/test-snprintf-posix.h (test_function): Likewise.
24586         * tests/test-sprintf-posix.h (test_function): Likewise.
24587         * tests/test-vasprintf-posix.c (test_function): Likewise.
24588         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
24589         * doc/posix-functions/printf.texi: Likewise.
24590         * doc/posix-functions/snprintf.texi: Likewise.
24591         * doc/posix-functions/sprintf.texi: Likewise.
24592         * doc/posix-functions/vfprintf.texi: Likewise.
24593         * doc/posix-functions/vprintf.texi: Likewise.
24594         * doc/posix-functions/vsnprintf.texi: Likewise.
24595         * doc/posix-functions/vsprintf.texi: Likewise.
24596         * doc/glibc-functions/obstack_printf.texi: Likewise.
24597         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
24598
24599 2010-11-27  Bruno Haible  <bruno@clisp.org>
24600
24601         Fix link error when module libunistring-optional is in use.
24602         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
24603         * modules/striconveha-tests (Makefile.am): Likewise.
24604
24605 2010-11-27  Bruno Haible  <bruno@clisp.org>
24606
24607         regex: Mention link dependencies.
24608         * modules/regex (Link): New section.
24609         * modules/rpmatch (Link): Likewise.
24610         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
24611
24612 2010-11-27  Bruno Haible  <bruno@clisp.org>
24613
24614         ftoastr: Fix compilation error on Solaris.
24615         * lib/ftoastr.c: Include <config.h>.
24616
24617 2010-11-27  Bruno Haible  <bruno@clisp.org>
24618
24619         getloadavg: Update documentation.
24620         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
24621
24622 2010-11-27  Bruno Haible  <bruno@clisp.org>
24623
24624         sys_socket: Fix test whether the functions are declared.
24625         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
24626         not <sys/select.h>.
24627
24628 2010-11-27  Bruno Haible  <bruno@clisp.org>
24629
24630         getpass: Make sure to get system declaration on some platforms.
24631         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
24632         gl_USE_SYSTEM_EXTENSIONS.
24633         * modules/getpass (Depends-on): Add extensions.
24634
24635 2010-11-26  Bruno Haible  <bruno@clisp.org>
24636
24637         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
24638         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
24639         'iconv' module is present.
24640         (ICONV_CONST): New macro.
24641         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
24642         ICONV_CONST.
24643         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
24644         set ICONV_CONST.
24645         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
24646         here.
24647         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
24648         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
24649         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
24650         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
24651         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
24652         present.
24653
24654 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
24655
24656         ftoastr: comment fix
24657         * lib/ftoastr.c: "little" -> "little or no" in comment
24658
24659 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
24660
24661         stdint: port to GCC 4.3 + OSX + Octave
24662         On this platform, stdint.h is buggy and defines int64_t to long
24663         long int.  The replacement defined it to long int, causing
24664         problems with C++ style name mangling.  Instead, trust the system
24665         definition if INT64_MAX is defined, and likewise for the unsigned
24666         variant.   Problem reported by Jarno Rajahalme in
24667         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
24668         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
24669         and don't mess with int64_t and INT64_MAX in this case.
24670         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
24671
24672 2010-11-24  Bruno Haible  <bruno@clisp.org>
24673
24674         doc: Corrections regarding MacOS X 10.4 and 10.5.
24675         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
24676         MacOS X.
24677         Reported by Simon Josefsson.
24678
24679 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
24680
24681         Uninstall ".bin" files installed by relocwrapper.
24682         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
24683         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
24684         unless it is already there.
24685
24686 2010-11-21  Bruno Haible  <bruno@clisp.org>
24687
24688         Update for NetBSD 5.0.
24689         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
24690         NetBSD; the test fails on NetBSD 5.0.
24691         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
24692         about NetBSD.
24693
24694 2010-11-21  Bruno Haible  <bruno@clisp.org>
24695
24696         Update for HP-UX 11.23 and HP-UX 11.31.
24697         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
24698         HP-UX.
24699
24700 2010-11-21  Bruno Haible  <bruno@clisp.org>
24701
24702         Update for MacOS X 10.5.
24703         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
24704         MacOS X; the test fails on MacOS X 10.5.8.
24705         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
24706         about MacOS X.
24707
24708 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
24709
24710         bootstrap: add bootstrap_sync option.
24711         See discussion at
24712         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
24713         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
24714         * build-aux/bootstrap: Accept --bootstrap-sync to update
24715         bootstrap if it is not identical to the local gnulib's
24716         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
24717         enable this by default.  Accept --no-bootstrap-sync to disable
24718         it.
24719
24720 2010-11-20  Bruno Haible  <bruno@clisp.org>
24721
24722         Ensure that <features.h> is included before __GLIBC__ is tested.
24723         * lib/printf-parse.h: Include <features.h>.
24724         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
24725         Reported by Mike Frysinger <vapier@gentoo.org>.
24726
24727         Ensure that <features.h> is included before __GLIBC__ is tested.
24728         * lib/wchar.in.h: Include <features.h>.
24729         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
24730         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
24731         Reported by Mike Frysinger <vapier@gentoo.org>.
24732
24733         Ensure that <features.h> is included before __GLIBC__ is tested.
24734         * lib/arpa_inet.in.h: Include <features.h>.
24735         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
24736         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
24737         Reported by Mike Frysinger <vapier@gentoo.org>.
24738
24739         Ensure that <features.h> is included before __GLIBC__ is tested.
24740         * build-aux/link-warning.h: Include <features.h>.
24741         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
24742         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
24743         Reported by Mike Frysinger <vapier@gentoo.org>.
24744
24745         Ensure that <features.h> is included before __GLIBC__ is tested.
24746         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
24747         Reported by Mike Frysinger <vapier@gentoo.org>.
24748
24749 2010-11-20  Bruno Haible  <bruno@clisp.org>
24750
24751         memmem: Fix autoconf test.
24752         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
24753
24754 2010-11-20  Bruno Haible  <bruno@clisp.org>
24755
24756         Port to uClibc.
24757         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
24758         * lib/fcntl.in.h: Likewise.
24759         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
24760         * lib/mbrtowc.c (mbrtowc): Likewise.
24761         * lib/relocatable.c (find_shared_library_fullname): Likewise.
24762         * lib/strerror_r.c: Likewise.
24763         * lib/unistr/u8-strnlen.c: Likewise.
24764         * lib/vasnprintf.c (decimal_point_char): Likewise.
24765         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
24766         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
24767         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
24768         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
24769         * tests/test-sigaction.c (handler, main): Likewise.
24770         * lib/freading.h: Treat uClibc like a non-glibc platform.
24771         * lib/freading.c: Likewise.
24772         * lib/gettext.h: Likewise.
24773         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
24774         Likewise.
24775         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
24776         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
24777         * lib/propername.c (proper_name_utf8): Likewise.
24778         * lib/spawn.in.h: Likewise.
24779         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
24780         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
24781         mem_cd_iconveh_internal): Likewise.
24782         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
24783         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
24784         strstr, strcasestr): Likewise.
24785         * lib/unicodeio.c (unicode_to_mb): Likewise.
24786         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
24787         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
24788         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
24789         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
24790         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
24791         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
24792         * lib/unistr/u8-stpncpy.c: Likewise.
24793         * lib/vasnprintf.c (VASNPRINTF): Likewise.
24794         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
24795         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
24796         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
24797         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
24798         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
24799         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
24800         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
24801         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
24802         Likewise.
24803         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
24804         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
24805         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
24806         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
24807         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
24808         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
24809         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
24810         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
24811         * tests/test-getopt.h (OPTIND_MIN): Likewise.
24812         * tests/test-striconveha.c (main): Likewise.
24813         * tests/test-vasnprintf-posix.c (test_function): Likewise.
24814         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
24815         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
24816         * doc/posix-functions/getline.texi: Likewise.
24817         Reported by Mike Frysinger <vapier@gentoo.org>.
24818
24819 2010-11-20  Bruno Haible  <bruno@clisp.org>
24820
24821         nproc: Fix condition.
24822         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
24823         HAVE_PTHREAD_AFFINITY_NP.
24824
24825 2010-11-20  Bruno Haible  <bruno@clisp.org>
24826
24827         Fix a comment.
24828         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
24829
24830 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
24831
24832         ftoastr: don't assume snprintf
24833         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
24834         Implement a subset of snprintf here, by using sprintf safely.
24835         * modules/ftoastr (Depends-on): Remove snprintf.
24836
24837 2010-11-19  Jim Meyering  <meyering@redhat.com>
24838
24839         test-rename.h: fix compilation failure
24840         * tests/test-rename.h (test_rename): Add omitted "}".
24841
24842 2010-11-17  Jim Meyering  <meyering@redhat.com>
24843
24844         maint.mk: add a URL discussing the no-@acronym policy
24845         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
24846
24847 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
24848
24849         ftoastr: depend on snprintf, improve comments
24850         * lib/ftoastr.c: Also mention Loitsch's draft.
24851         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
24852         needed in the current implementation, but it might simplify
24853         speeding up the code later.
24854         * modules/ftoastr: Depend on snprintf; this improves portability.
24855         Suggested by Bruno Haible in the same email.
24856
24857         ftoastr: port to hosts lacking strtof and strtold
24858         Problem reported by Bruno Haible in
24859         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
24860         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
24861         environment and strtold (and presumably strtof) are not available.
24862         * modules/ftoastr (Files): Add m4/c-strtod.m4.
24863         (configure.ac): Require gl_C99_STRTOLD.
24864
24865 2010-11-18  Bruno Haible  <bruno@clisp.org>
24866
24867         c-strtold: Avoid link error on AIX 7.
24868         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
24869         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
24870         (gl_C_STRTOLD): Test whether strtold_l exists.
24871         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
24872
24873 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
24874
24875         intprops: new macro INT_BITS_STRLEN_BOUND
24876         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
24877         ftoastr.h.  This exposes an internal of intprops.h that was formerly
24878         not exposed.  Also, it uses a slightly tighter bound than before;
24879         though this makes no practical difference, we might as well be as
24880         tight as we easily can.
24881
24882         ftoastr: new module, for lossless conversion of floats to short strings
24883         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
24884         * modules/ftoastr: New files.
24885
24886 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
24887
24888         bootstrap: port to Solaris sed
24889         * build-aux/bootstrap (get_version): Port to Solaris sed.
24890         See Ralf Wildenhues's note in
24891         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
24892
24893 2010-11-14  Jim Meyering  <meyering@redhat.com>
24894
24895         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
24896         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
24897         and move definition closer to sole use.
24898
24899 2010-11-13  Jim Meyering  <meyering@redhat.com>
24900
24901         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
24902         Now we require at least autoconf-2.59, which means the work-around
24903         is no longer needed.
24904         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
24905         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
24906         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
24907         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
24908         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
24909
24910 2010-11-13  Bruno Haible  <bruno@clisp.org>
24911
24912         rename, renameat: Avoid test failures at NFS mounted locations.
24913         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
24914         functions.
24915         (test_rename): Use assert_nonexistent.
24916         * tests/test-rename.c: Include <dirent.h>.
24917         * tests/test-renameat.c: Likewise.
24918         Reported by Gary V. Vaughan <gary@gnu.org>.
24919
24920         rename, renameat: Document Linux bug with NFS
24921         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
24922         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
24923         * doc/posix-functions/renameat.texi: Likewise.
24924         Suggested by Eric Blake.
24925
24926 2010-11-13  Bruno Haible  <bruno@clisp.org>
24927
24928         rename test: Add comments.
24929         * tests/test-rename.h (test_rename): Add structure and comments.
24930
24931 2010-11-13  Eric Blake  <eblake@redhat.com>
24932
24933         maintainer-makefile: cover a few more files
24934         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
24935         scripts generated within C files, for libvirt.
24936
24937 2010-11-13  Bruno Haible  <bruno@clisp.org>
24938
24939         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
24940         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
24941         character, return the number of bytes that belong together, not always
24942         1.
24943         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
24944         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
24945         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
24946         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
24947         number of bytes of an invalid character.
24948         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
24949         (main): Invoke it.
24950         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
24951         results.
24952         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
24953         malformed byte sequences.
24954         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
24955         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
24956         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
24957         Reported by Ben Pfaff and Paolo Bonzini.
24958
24959 2010-11-13  Bruno Haible  <bruno@clisp.org>
24960
24961         openat: Work around glibc bug with fchownat() and empty file names.
24962         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
24963         (gl_FUNC_FCHOWNAT): Invoke it.
24964         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
24965         * doc/posix-functions/fchownat.texi: Document the glibc bug.
24966         Reported by Gary V. Vaughan <gary@gnu.org>.
24967
24968 2010-11-13  Bruno Haible  <bruno@clisp.org>
24969
24970         openat: Ensure autoconf macro ordering.
24971         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
24972         gl_USE_SYSTEM_EXTENSIONS.
24973         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
24974
24975 2010-11-13  Bruno Haible  <bruno@clisp.org>
24976
24977         Update comments.
24978         * lib/unistr/u8-check.c: Update file name in comments.
24979         * lib/unistr/u8-mblen.c: Likewise.
24980         * lib/unistr/u8-prev.c: Likewise.
24981         * lib/unistr/u8-strmblen.c: Likewise.
24982         * lib/unistr/u8-strmbtouc.c: Likewise.
24983
24984 2010-11-13  Jim Meyering  <meyering@redhat.com>
24985
24986         tests: avoid test failure on Solaris 10 due to lack of PATH export
24987         * tests/test-update-copyright.sh: Don't forget to export PATH.
24988
24989         init.sh: ensure that IFS is defined, just in case...
24990         * tests/init.sh (setup_): Ensure that IFS is defined,
24991         so that saving and restoring it works as expected.  This
24992         appears to be useful at least for an old version of dash
24993         from a long time ago (RH 6).  See here for details:
24994         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
24995
24996         maint.mk: tighten "test a == b" check
24997         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
24998         test to files that contain something like #!/bin/sh.
24999         Without this, coreutils would get two false positives in
25000         the comments of C source files.
25001
25002 2010-11-12  Eric Blake  <eblake@redhat.com>
25003
25004         bootstrap: fix typo in previous attempt
25005         * build-aux/bootstrap (buildreq): Correct the grouping.
25006         Reported by Paul Eggert.
25007
25008         maintainer-makefile: prohibit test x == x
25009         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
25010         Based on a report by Matthias Bolte.
25011
25012         bootstrap: allow FreeBSD gzip
25013         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
25014         which has no '.' and goes to stderr.
25015         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
25016         Reported by Matthias Bolte.
25017
25018         maintainer-makefile: check for i18n setup
25019         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
25020         will likely work.
25021
25022 2010-11-12  Bruno Haible  <bruno@clisp.org>
25023
25024         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
25025         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
25026         * lib/nanosleep.c (nanosleep): Likewise.
25027
25028 2010-11-11  Bruno Haible  <bruno@clisp.org>
25029
25030         fcntl-h: Fix for use of C++ on glibc systems.
25031         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
25032         also on glibc systems in C++ mode.
25033         Reported by Gary V. Vaughan <gary@gnu.org>.
25034
25035 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
25036
25037         mknod: avoid false failure with dash
25038         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
25039
25040 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
25041
25042         unlink: Fix "is it should" typo in diagnostic.
25043         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
25044         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
25045
25046 2010-11-11  Bruno Haible  <bruno@clisp.org>
25047
25048         Tests for module 'strerror_r-posix'.
25049         * modules/strerror_r-posix-tests: New file.
25050         * tests/test-strerror_r.c: New file.
25051         * tests/test-string-c++.cc: Check the signature of strerror_r.
25052
25053         New module 'strerror_r-posix'.
25054         * lib/string.in.h (strerror_r): New declaration.
25055         * lib/strerror_r.c: New file.
25056         * m4/strerror_r.m4: New file.
25057         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
25058         of strerror_r.
25059         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
25060         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
25061         * modules/strerror_r-posix: New file.
25062         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
25063         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
25064         * doc/posix-functions/strerror_r.texi: Mention the new module and the
25065         portability problems.
25066
25067 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
25068
25069         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
25070         line is also considered for output. Quoted function name in shell
25071         command, so temporary files for functions like MyClass::operator()
25072         are removed correctly without errors.
25073
25074 2010-11-09  Bruno Haible  <bruno@clisp.org>
25075
25076         * doc/posix-functions/strerror.texi: List more failing platforms.
25077
25078         * doc/posix-functions/strerror.texi: Add a comment.
25079
25080 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
25081
25082         fdopendir: fix bug on MacOS X when low on file descriptors
25083
25084         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
25085         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
25086         All callers changed.
25087         (fdopendir): Invoke save_cwd at the top level, not after using
25088         multiple dup() calls to use up file descriptors.  Then retry
25089         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
25090         less than the maximum number of open file descriptors, because
25091         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
25092         on Mac OS X 10.6.4 for tar 1.24
25093         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
25094         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
25095         and for tar 1.25
25096         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
25097
25098 2010-11-07  Bruno Haible  <bruno@clisp.org>
25099
25100         vasnprintf: Support I flag on glibc systems.
25101         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
25102         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
25103         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
25104         snprintf function.
25105         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
25106         glibc systems.
25107         * tests/test-vasnprintf-posix3.c: New file.
25108         * modules/vasnprintf-posix-tests (Files): Add it.
25109         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
25110
25111 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
25112
25113         [html] Fix copy/paste bug: Use unique name for compiler warnings.
25114         * MODULES.html.sh: For compiler warnings, use name
25115         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
25116
25117 2010-11-05  Eric Blake  <eblake@redhat.com>
25118
25119         ceil, floor: avoid spurious failure with icc
25120         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
25121         [denormals-as-zero] when optimizing without -mieee-fp option.
25122         * tests/test-floorf2.c (floorf_reference): Likewise.
25123         * tests/test-ceilf1.c (dummy): New function.
25124         (main): Use it to outsmart icc's optimization.
25125         * tests/test-floorf1.c (dummy, main): Likewise.
25126
25127         tests: require working signbit
25128         * modules/ceilf-tests (Depends-on): Add signbit.
25129         * modules/ceill-tests (Depends-on): Likewise.
25130         * modules/floorf-tests (Depends-on): Likewise.
25131         * modules/floorl-tests (Depends-on): Likewise.
25132         * modules/round-tests (Depends-on): Likewise.
25133         * modules/roundf-tests (Depends-on): Likewise.
25134         * modules/roundl-tests (Depends-on): Likewise.
25135         * modules/trunc-tests (Depends-on): Likewise.
25136         * modules/truncf-tests (Depends-on): Likewise.
25137         * modules/truncl-tests (Depends-on): Likewise.
25138
25139         strtod: work around icc bug
25140         * lib/strtod.c (minus_zero): Define to working value.
25141         (strtod): Use it to avoid icc bug.
25142
25143         copysign: enhance tests
25144         * modules/copysign-tests (Files): Add minus-zero.h.
25145         * tests/test-copysign.c (main): Also test zeros.
25146
25147 2010-11-04  Eric Blake  <eblake@redhat.com>
25148
25149         ceil, floor, round, trunc: enhance tests of -0
25150         * tests/test-ceilf1.c (main): Ensure correct sign of result.
25151         * tests/test-ceill.c (main): Likewise.
25152         * tests/test-floorf1.c (main): Likewise.
25153         * tests/test-floorl.c (main): Likewise.
25154         * tests/test-round1.c (main): Likewise.
25155         * tests/test-roundf1.c (main): Likewise.
25156         * tests/test-roundl.c (main): Likewise.
25157         * tests/test-trunc1.c (main): Likewise.
25158         * tests/test-truncf1.c (main): Likewise.
25159         * tests/test-truncl.c (main): Likewise.
25160
25161 2010-11-04  Eric Blake  <eblake@redhat.com>
25162
25163         frexp, tests: work around ICC bug with -zero
25164         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
25165         works with more compilers.
25166         * tests/minus-zero.h: New file.
25167         * modules/ceilf-tests (Files): Include it.
25168         * modules/ceill-tests (Files): Likewise.
25169         * modules/floorf-tests (Files): Likewise.
25170         * modules/floorl-tests (Files): Likewise.
25171         * modules/frexp-nolibm-tests (Files): Likewise.
25172         * modules/frexp-tests (Files): Likewise.
25173         * modules/frexpl-nolibm-tests (Files): Likewise.
25174         * modules/frexpl-tests (Files): Likewise.
25175         * modules/isnan-tests (Files): Likewise.
25176         * modules/isnand-nolibm-tests (Files): Likewise.
25177         * modules/isnand-tests (Files): Likewise.
25178         * modules/isnanf-nolibm-tests (Files): Likewise.
25179         * modules/isnanf-tests (Files): Likewise.
25180         * modules/isnanl-nolibm-tests (Files): Likewise.
25181         * modules/isnanl-tests (Files): Likewise.
25182         * modules/round-tests (Files): Likewise.
25183         * modules/roundf-tests (Files): Likewise.
25184         * modules/roundl-tests (Files): Likewise.
25185         * modules/ldexpl-tests (Files): Likewise.
25186         * modules/signbit-tests (Files): Likewise.
25187         * modules/snprintf-posix-tests (Files): Likewise.
25188         * modules/sprintf-posix-tests (Files): Likewise.
25189         * modules/strtod-tests (Files): Likewise.
25190         * modules/trunc-tests (Files): Likewise.
25191         * modules/truncf-tests (Files): Likewise.
25192         * modules/truncl-tests (Files): Likewise.
25193         * modules/vsnprintf-posix-tests (Files): Likewise.
25194         * modules/vsprintf-posix-tests (Files): Likewise.
25195         * modules/vasnprintf-posix-tests (Files): Likewise.
25196         * modules/vasprintf-posix-tests (Files): Likewise.
25197         * tests/test-ceilf1.c (main): Use it.
25198         * tests/test-ceill.c (main): Likewise.
25199         * tests/test-floorf1.c (main): Likewise.
25200         * tests/test-floorl.c (main): Likewise.
25201         * tests/test-frexp.c (main): Likewise.
25202         * tests/test-frexpl.c (main): Likewise.
25203         * tests/test-isnan.c (main): Likewise.
25204         * tests/test-isnand.h (main): Likewise.
25205         * tests/test-isnanf.h (main): Likewise.
25206         * tests/test-isnanl.h (main): Likewise.
25207         * tests/test-ldexpl.c (main): Likewise.
25208         * tests/test-round.c (main): Likewise.
25209         * tests/test-roundf.c (main): Likewise.
25210         * tests/test-roundl.c (main): Likewise.
25211         * tests/test-signbit.c (test_signbitf, test_signbitd)
25212         (test_signbitl): Likewise.
25213         * tests/test-snprintf-posix.h (test_function): Likewise.
25214         * tests/test-sprintf-posix.h (test_function): Likewise.
25215         * tests/test-strtod.c (main): Likewise.
25216         * tests/test-trunc1.c (main): Likewise.
25217         * tests/test-truncf1.c (main): Likewise.
25218         * tests/test-truncl.c (main): Likewise.
25219
25220         isnanl: work around icc bug
25221         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
25222
25223 2010-11-03  Eric Blake  <eblake@redhat.com>
25224
25225         tests: fix compiler warnings
25226         * tests/test-getopt.h (test_getopt): Fix condition.
25227         * tests/test-getopt_long.h (test_getopt_long): Likewise.
25228         * tests/test-pipe2.c (main): Likewise.
25229         * tests/test-quotearg-simple.c (main): Avoid icc warning.
25230
25231         utimens: fix broken m4 test
25232         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
25233
25234 2010-10-28  Bruno Haible  <bruno@clisp.org>
25235
25236         posix_spawn*, getdtablesize: Relax license.
25237         * modules/posix_spawn (License): Change to LGPLv2+.
25238         * modules/posix_spawnp (License): Likewise.
25239         * modules/posix_spawn-internal (License): Likewise.
25240         * modules/posix_spawnattr_init (License): Likewise.
25241         * modules/posix_spawnattr_getflags (License): Likewise.
25242         * modules/posix_spawnattr_setflags (License): Likewise.
25243         * modules/posix_spawnattr_getpgroup (License): Likewise.
25244         * modules/posix_spawnattr_setpgroup (License): Likewise.
25245         * modules/posix_spawnattr_getschedparam (License): Likewise.
25246         * modules/posix_spawnattr_setschedparam (License): Likewise.
25247         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
25248         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
25249         * modules/posix_spawnattr_getsigdefault (License): Likewise.
25250         * modules/posix_spawnattr_setsigdefault (License): Likewise.
25251         * modules/posix_spawnattr_getsigmask (License): Likewise.
25252         * modules/posix_spawnattr_setsigmask (License): Likewise.
25253         * modules/posix_spawnattr_destroy (License): Likewise.
25254         * modules/posix_spawn_file_actions_init (License): Likewise.
25255         * modules/posix_spawn_file_actions_addclose (License): Likewise.
25256         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
25257         * modules/posix_spawn_file_actions_addopen (License): Likewise.
25258         * modules/posix_spawn_file_actions_destroy (License): Likewise.
25259         * modules/getdtablesize (License): Likewise.
25260         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
25261
25262 2010-10-26  Bruno Haible  <bruno@clisp.org>
25263
25264         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
25265         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
25266         Cygwin and mingw.
25267         Suggested by Eric Blake.
25268
25269 2010-10-26  Bruno Haible  <bruno@clisp.org>
25270
25271         stdio: Work around compilation error due to renameat() on Solaris 10.
25272         * lib/stdio.in.h: Include <unistd.h> on Solaris.
25273         * lib/renameat.c: Don't include <unistd.h> here.
25274         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
25275         Reported by Paul Eggert and Eric Blake.
25276
25277 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
25278
25279         renameat: port to Solaris 10, which declares renameat in unistd.h
25280
25281         * lib/renameat.c: Include unistd.h before stdio.h, because
25282         Solaris 10 declares renameat in unistd.h.  Problem encountered
25283         when building GNU tar 1.24 on Solaris 10.
25284
25285 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
25286
25287         fdopendir: fix C89 compilation
25288         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
25289         compilers.
25290
25291 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
25292
25293         inttostr: simplify by removing unnecessary redundancy
25294         * lib/anytostr.c: Don't include verify.h.
25295         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
25296         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
25297         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
25298         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
25299         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
25300         Likewise.
25301         * modules/inttostr (Depends-on): Remove 'verify'.
25302
25303 2010-10-23  Bruno Haible  <bruno@clisp.org>
25304
25305         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
25306         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
25307         Reported by Eric Blake.
25308
25309 2010-10-23  Bruno Haible  <bruno@clisp.org>
25310
25311         Tests: Fix LOCALE_JA on MirBSD 10.
25312         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
25313         to an UTF-8 locale.
25314         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
25315         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
25316         Reported by Eric Blake.
25317
25318 2010-10-21  Bruno Haible  <bruno@clisp.org>
25319
25320         nl_langinfo test: Avoid test failure on NetBSD 5.
25321         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
25322         Reported by Eric Blake.
25323
25324 2010-10-21  Eric Blake  <eblake@redhat.com>
25325
25326         c-stack: work around libsigsegv 2.8 bug
25327         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
25328         overflow on at least PowerPC64.
25329
25330 2010-10-17  Bruno Haible  <bruno@clisp.org>
25331
25332         userspec: Drop redundant file.
25333         * modules/userspec (Files): Remove lib/inttostr.h.
25334
25335 2010-10-17  Bruno Haible  <bruno@clisp.org>
25336
25337         nl_langinfo tests: Silence some warnings.
25338         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
25339         Reported by Jim Meyering.
25340
25341 2010-10-17  Bruno Haible  <bruno@clisp.org>
25342
25343         Make use of GCC's attribute __alloc_size__.
25344         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
25345         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
25346         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
25347         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
25348         __alloc_size__.
25349         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
25350         Suggested by Jim Meyering.
25351
25352 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
25353
25354         bootstrap: anchor .gitignore entries.
25355         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
25356         with...
25357         (insert_vc_ignore): ... this new function, which prepends `/' to
25358         all .gitignore entries before passing them to
25359         insert_sorted_if_absent.
25360
25361 2010-10-16  Bruno Haible  <bruno@clisp.org>
25362
25363         nextafter: Fix configure check.
25364         * modules/nextafter (configure.ac): Correct expected prototype.
25365
25366 2010-10-16  Bruno Haible  <bruno@clisp.org>
25367
25368         termios: Update documentation.
25369         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
25370
25371 2010-10-16  Bruno Haible  <bruno@clisp.org>
25372
25373         tests: Make them compile with TinyCC.
25374         * tests/test-strstr.c (main): Remove parentheses around array
25375         initializer.
25376
25377 2010-10-15  Eric Blake  <eblake@redhat.com>
25378
25379         ignore-value: make header idempotent
25380         * lib/ignore-value.h: Add double-inclusion guards.
25381         Reported by Stefan Berger.
25382
25383 2010-10-15  Jim Meyering  <meyering@redhat.com>
25384
25385         GNUmakefile: handle "stable" target, not "major"
25386         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
25387         lists in maint.mk and announce-gen.  Without this, "make stable"
25388         would fail to ensure that $(VERSION) is up to date.
25389
25390 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
25391
25392         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
25393         & co.
25394
25395 2010-10-14  Bruno Haible  <bruno@clisp.org>
25396
25397         vasnprintf: Don't set errno to 0.
25398         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
25399         block that sets it to 0.
25400         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
25401
25402 2010-10-14  Bruno Haible  <bruno@clisp.org>
25403
25404         socketlib: Fix.
25405         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
25406         gl_PREREQ_SYS_H_WINSOCK2.
25407         Reported by Ian Beckwith <ianb@erislabs.net>.
25408
25409 2010-10-13  Jim Meyering  <meyering@redhat.com>
25410
25411         test-select-stdin.c: avoid warn_unused_result warnings
25412         * tests/test-select-stdin.c: Include "macros.h".
25413         ASSERT that read and fflush succeed.
25414
25415 2010-10-13  Jim Meyering  <meyering@redhat.com>
25416
25417         git-version-gen: do require git-VC'd files in cwd
25418         * build-aux/git-version-gen: Reject a git version string
25419         if there are no commits associated with the current directory.
25420         This avoids an unlikely false-positive (unrelated dir whose parent
25421         repository also contains a tag matching v*), as pointed out
25422         by Giuseppe Scrivano in
25423         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
25424
25425 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
25426
25427         argv-iter: omit nonconforming declaration
25428         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
25429         enum arg_iter_err declaration, which doesn't conform to C99.
25430         Solaris 10 cc warns about this.
25431
25432 2010-10-13  Eric Blake  <eblake@redhat.com>
25433
25434         termios: fix compilation on mingw
25435         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
25436         (gl_TERMIOS_H): Adjust it on mingw.
25437         * modules/termios (Makefile.am): Substitute new key.
25438         * lib/termios.in.h (includes): Make include_next conditional.
25439         * doc/posix-headers/termios.texi (termios.h): Update
25440         documentation.
25441         Reported by Daniel P. Berrange.
25442
25443 2010-10-13  Jim Meyering  <meyering@redhat.com>
25444
25445         git-version-gen: don't require that .git/ be in the current dir
25446         * build-aux/git-version-gen: Adjust this script so that it works
25447         when run from any working directory beneath the top-level .git/-
25448         containing directory.  Inspired by a patch from Giuseppe Scrivano,
25449         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
25450
25451         test-select: avoid warn_unused_result warnings
25452         * tests/test-select.c: Include "macros.h".
25453         ASSERT that each call to read, write, and pipe succeeds.
25454         While not technically required, also check each "close".
25455         * modules/select-tests (Files): Add tests/macros.h.
25456
25457         test-symlinkat: remove declaration of unused local
25458         * tests/test-symlinkat.c (main): Remove unused local, "buf".
25459
25460         test-inttostr: avoid shadowing warnings
25461         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
25462         and use malloc rather than the stack for the same reason as
25463         mentioned in the comment justifying the other allocation.
25464
25465 2010-10-11  Bruno Haible  <bruno@clisp.org>
25466
25467         stdlib: Allow multiple gnulib generated replacements to coexist.
25468         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
25469         Reported by Sam Steingold <sds@gnu.org>.
25470
25471 2010-10-11  Jim Meyering  <meyering@redhat.com>
25472
25473         fix a documentation typo
25474         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
25475
25476 2010-10-11  Eric Blake  <eblake@redhat.com>
25477
25478         futimens: work around Solaris 11 bug
25479         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
25480         * tests/test-futimens.h (test_futimens): Enhance, rather than
25481         weaken test.
25482         * doc/posix-functions/futimens.texi (futimens): Document the bug.
25483
25484 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
25485
25486         Indentation.
25487         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
25488         higher-level operators more to the left.
25489
25490 2010-10-11  Jim Meyering  <meyering@redhat.com>
25491
25492         test-futimens: avoid unwarranted test failure on Solaris 5.11
25493         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
25494         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
25495         because it tries to dereference the NULL name argument.
25496
25497 2010-10-11  Bruno Haible  <bruno@clisp.org>
25498
25499         Indentation.
25500         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
25501         indentation.
25502
25503 2010-10-11  Jim Meyering  <meyering@redhat.com>
25504
25505         spawn.in.h: make indentation consistent with parentheses
25506         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
25507         Make indentation consistent with parentheses.
25508
25509 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
25510
25511         Fix mismatched parens in previous commit
25512         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
25513         parens.
25514
25515 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
25516
25517         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
25518
25519         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
25520         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
25521         * lib/malloca.c: Include "verify.h".
25522         (verify1): Remove, replacing with a verify call.
25523         * lib/relocwrapper.c (verify1): Likewise.
25524         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
25525         Likewise.
25526         * modules/malloca (Depends-on): Add 'verify'.
25527         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
25528         * modules/vasnprintf (Depends-on): Add 'verify'.
25529         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
25530         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
25531         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
25532         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
25533         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
25534         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
25535         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
25536
25537         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
25538
25539         Formerly the style was sometimes 2*X - 1, because the C standard
25540         was wrongly thought to disallow ?: in integral constant expressions.
25541         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
25542         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
25543         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
25544         * lib/stdint.in.h (_verify_intmax_size): Likewise.
25545         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
25546         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
25547         verify that time_t cannot be floating.
25548
25549 2010-10-08  Eric Blake  <eblake@redhat.com>
25550
25551         time: enforce recent POSIX ruling that time_t is integral
25552         * lib/time.in.h (__time_t_must_be_integral): Detect any
25553         problematic systems, allowing the rest of gnulib to assume POSIX.
25554
25555 2010-10-08  Jim Meyering  <meyering@redhat.com>
25556
25557         fdopendir: fix a bug on systems lacking openat and /proc support
25558         OpenBSD 4.7 is one such system.  The most noticeable effect was
25559         failure of any application making nontrivial use of fts: rm, du,
25560         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
25561           ./rm: traversal failed: `a': Bad file descriptor
25562         Debugging that, you see that even though FD 6 was closed just
25563         prior to the opendir call in fd_clone_opendir, its resulting
25564         dir->dd_fd was 8, rather than the expected value of 6:
25565
25566         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
25567         93                close (fd);
25568         (gdb) n
25569         94                dir = fd_clone_opendir (dupfd);
25570         (gdb) n
25571         95                saved_errno = errno;
25572         (gdb) p dir->dd_fd
25573         $11 = 8
25574
25575         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
25576         The problem is that on OpenBSD, fd_clone_opendir has to resort
25577         to using the old-style save/restore CWD mechanism, due to its
25578         lack of openat/proc support, and *that* would steal the FD (6)
25579         that opendir was supposed to use.
25580
25581         The fix is to squirrel away the desired FD so that save_cwd uses a
25582         different one, and then free the dest FD right before calling opendir.
25583         That guarantees opendir will use the required file descriptor.
25584
25585         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
25586
25587 2010-10-08  Bruno Haible  <bruno@clisp.org>
25588
25589         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
25590         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
25591
25592 2010-10-08  Bruno Haible  <bruno@clisp.org>
25593
25594         nanosleep: Make replacement POSIX compliant.
25595         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
25596         is out of range.
25597         Reported by Jim Meyering.
25598
25599 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
25600
25601         bootstrap: add hook for altering gnulib.mk, for Bison
25602         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
25603         the Bison bootstrapping process can rewrite file names and variables
25604         in this file before later parts of 'bootstrap' use the file.
25605         Bison wants to include lib/gnulib.mk from the top-level makefile,
25606         so it needs the file names in this file to be relative to the top
25607         level, not relative to lib; plus it needs variable names to be
25608         rewritten.
25609         (slurp): Use the new function.
25610
25611         bootstrap: reformat for readability
25612         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
25613
25614 2010-10-08  Eric Blake  <eblake@redhat.com>
25615
25616         docs: update cygwin progress
25617         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
25618         1.7.7.
25619         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
25620         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
25621         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
25622         * doc/posix-functions/carg.texi (carg): Likewise.
25623         * doc/posix-functions/cargf.texi (cargf): Likewise.
25624         * doc/posix-functions/casin.texi (casin): Likewise.
25625         * doc/posix-functions/casinf.texi (casinf): Likewise.
25626         * doc/posix-functions/casinh.texi (casinh): Likewise.
25627         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
25628         * doc/posix-functions/catan.texi (catan): Likewise.
25629         * doc/posix-functions/catanf.texi (catanf): Likewise.
25630         * doc/posix-functions/catanh.texi (catanh): Likewise.
25631         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
25632         * doc/posix-functions/ccos.texi (ccos): Likewise.
25633         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
25634         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
25635         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
25636         * doc/posix-functions/cexp.texi (cexp): Likewise.
25637         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
25638         * doc/posix-functions/cimag.texi (cimag): Likewise.
25639         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
25640         * doc/posix-functions/clog.texi (clog): Likewise.
25641         * doc/posix-functions/clogf.texi (clogf): Likewise.
25642         * doc/posix-functions/conj.texi (conj): Likewise.
25643         * doc/posix-functions/conjf.texi (conjf): Likewise.
25644         * doc/posix-functions/cpow.texi (cpow): Likewise.
25645         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
25646         * doc/posix-functions/cproj.texi (cproj): Likewise.
25647         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
25648         * doc/posix-functions/creal.texi (creal): Likewise.
25649         * doc/posix-functions/crealf.texi (crealf): Likewise.
25650         * doc/posix-functions/csin.texi (csin): Likewise.
25651         * doc/posix-functions/csinf.texi (csinf): Likewise.
25652         * doc/posix-functions/csinh.texi (csinh): Likewise.
25653         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
25654         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
25655         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
25656         * doc/posix-functions/ctan.texi (ctan): Likewise.
25657         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
25658         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
25659         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
25660         * doc/posix-headers/complex.texi (complex.h): Likewise.
25661
25662 2010-10-07  Jim Meyering  <meyering@redhat.com>
25663
25664         parse-datetime: avoid compilation failure on OpenBSD 4.7
25665         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
25666         This works around a compilation failure on OpenBSD 4.7:
25667         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
25668
25669 2010-10-07  Eric Blake  <eblake@redhat.com>
25670
25671         docs: update cygwin progress
25672         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
25673         1.7.6.
25674         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
25675         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
25676         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
25677         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
25678         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
25679         Likewise.
25680         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
25681         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
25682         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
25683         Likewise.
25684         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
25685         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
25686         Likewise.
25687         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
25688         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
25689         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
25690         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
25691         Likewise.
25692         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
25693         Likewise.
25694         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
25695
25696         docs: update parse-datetime history
25697         * doc/parse-datetime.texi (Authors of parse_datetime): Better
25698         documentation of this function's history and alternatives.
25699
25700         cygwin: use more robust version check
25701         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
25702         exclude an eventual cygwin 1.9.1.
25703         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
25704         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
25705         (gl_FUNC_STRCASESTR): Likewise.
25706         Reported by Bruno Haible.
25707
25708 2010-10-06  Bruno Haible  <bruno@clisp.org>
25709
25710         string, sys_select: Avoid #including large headers unless necessary.
25711         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
25712         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
25713         OSF/1, BeOS, Haiku.
25714         Reported by Jim Meyering.
25715
25716 2010-10-05  Eric Blake  <eblake@redhat.com>
25717
25718         memmem, strstr, strcasestr: fix bug with long periodic needle
25719         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
25720         periodic needle having false positive.
25721         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
25722         and cygwin 1.7.7.
25723         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
25724         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
25725         (gl_FUNC_STRCASESTR): Likewise.
25726         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
25727         * tests/test-memmem.c (main): Expose the bug.
25728         * tests/test-strcasestr.c (main): Likewise.
25729         * tests/test-strstr.c (main): Likewise.
25730         * tests/test-c-strcasestr.c (main): Likewise.
25731         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
25732         * doc/posix-functions/strstr.texi (strstr): Likewise.
25733         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
25734         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
25735
25736 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
25737
25738         parse-datetime: do some more renaming
25739         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
25740         parse_datetime, not get_date.  Mention the renaming.
25741         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
25742         in comments.
25743         * m4/bison.m4: Likewise.
25744
25745 2010-10-05  Eric Blake  <eblake@redhat.com>
25746
25747         parse-datetime: better name than get_date
25748         * NEWS: Reword the deprecation notice.
25749         * modules/get_date: Rename to modules/parse-datetime.
25750         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
25751         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
25752         * lib/get_date.y: Rename to lib/parse-datetime.y.
25753         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
25754         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
25755         * doc/getdate.texi: Provide fallback wrapper.
25756         * lib/getdate.h: Move guts, and wrap...
25757         * lib/parse-datetime.h: ...new file.
25758         * lib/parse-datetime.y (get_date): Rename...
25759         (parse_datetime): ...to this.
25760         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
25761         (gl_PARSE_DATETIME): ...to this.
25762         * doc/posix-functions/getdate.texi (get_date): Provide fallback
25763         documentation.
25764         * modules/getdate (Files): Provide fallback docs and header.
25765         (Notice, Depends-on): Update references.
25766         * tests/test-parse-datetime.c: Likewise.
25767         * DEPENDENCIES: Likewise.
25768         * MODULES.html.sh (Date and time <time.h>): Likewise.
25769         * doc/parse-datetime.texi (Date input formats)
25770         (Authors of parse_datetime): Likewise.
25771         * modules/parse-datetime (Files, configure.ac, Makefile.am)
25772         (Include): Likewise.
25773         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
25774         * gnulib-tool: Likewise.
25775         * m4/bison.m4 (gl_BISON): Likewise.
25776         Suggested by Bruno Haible.
25777
25778 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
25779
25780         more ports to Solaris tr, which needs [] around ranges
25781         * gnulib-tool: Solaris tr needs [] around ranges.
25782         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
25783         * tests/test-pipe-filter-gi1.c (main): Likewise.
25784         * tests/test-pipe-filter-ii1.c (main): Likewise.
25785
25786 2010-10-05  Eric Blake  <eblake@redhat.com>
25787
25788         bootstrap: fix Solaris regression
25789         * build-aux/bootstrap (check_versions): Solaris tr still needs []
25790         around ranges.
25791         Reported by Pádraig Brady.
25792
25793         bootstrap: work with pkg-config
25794         * build-aux/bootstrap (check_versions): Also transliterate - in
25795         prerequisite name.
25796         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
25797         prerequisites that were already found, to avoid confusion.
25798         Reported by Justin Clift.
25799
25800         faccessat: remove unused wrappers
25801         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
25802         presence of these wrappers dragged in -lgen on Solaris.
25803         Reported by Clemens Brogi; fix suggested by Paul Eggert.
25804
25805 2010-10-05  Jim Meyering  <meyering@redhat.com>
25806
25807         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
25808         * Makefile (sc_pragma_columns): New syntax-check rule.
25809
25810 2010-10-04  Bruno Haible  <bruno@clisp.org>
25811
25812         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
25813         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
25814         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
25815         Reported by Bruce Korb and Eric Blake.
25816
25817 2010-10-04  Bruno Haible  <bruno@clisp.org>
25818
25819         threadlib: Make option --with-libpth-prefix work.
25820         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
25821         use $LIBPTH, not just -lpth.
25822
25823 2010-10-04  Bruno Haible  <bruno@clisp.org>
25824
25825         Avoid line length limitation from HP NonStop system header files.
25826         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
25827         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
25828         * lib/ctype.in.h: Likewise.
25829         * lib/dirent.in.h: Likewise.
25830         * lib/errno.in.h: Likewise.
25831         * lib/fcntl.in.h: Likewise.
25832         * lib/float.in.h: Likewise.
25833         * lib/getopt.in.h: Likewise.
25834         * lib/iconv.in.h: Likewise.
25835         * lib/inttypes.in.h: Likewise.
25836         * lib/langinfo.in.h: Likewise.
25837         * lib/locale.in.h: Likewise.
25838         * lib/math.in.h: Likewise.
25839         * lib/netdb.in.h: Likewise.
25840         * lib/netinet_in.in.h: Likewise.
25841         * lib/poll.in.h: Likewise.
25842         * lib/pthread.in.h: Likewise.
25843         * lib/pty.in.h: Likewise.
25844         * lib/sched.in.h: Likewise.
25845         * lib/se-selinux.in.h: Likewise.
25846         * lib/search.in.h: Likewise.
25847         * lib/signal.in.h: Likewise.
25848         * lib/spawn.in.h: Likewise.
25849         * lib/stdarg.in.h: Likewise.
25850         * lib/stddef.in.h: Likewise.
25851         * lib/stdint.in.h: Likewise.
25852         * lib/stdio.in.h: Likewise.
25853         * lib/stdlib.in.h: Likewise.
25854         * lib/string.in.h: Likewise.
25855         * lib/strings.in.h: Likewise.
25856         * lib/sys_file.in.h: Likewise.
25857         * lib/sys_ioctl.in.h: Likewise.
25858         * lib/sys_select.in.h: Likewise.
25859         * lib/sys_socket.in.h: Likewise.
25860         * lib/sys_stat.in.h: Likewise.
25861         * lib/sys_time.in.h: Likewise.
25862         * lib/sys_times.in.h: Likewise.
25863         * lib/sys_utsname.in.h: Likewise.
25864         * lib/sys_wait.in.h: Likewise.
25865         * lib/sysexits.in.h: Likewise.
25866         * lib/termios.in.h: Likewise.
25867         * lib/time.in.h: Likewise.
25868         * lib/unistd.in.h: Likewise.
25869         * lib/wchar.in.h: Likewise.
25870         * lib/wctype.in.h: Likewise.
25871         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
25872         * modules/ctype (Makefile.am): Likewise.
25873         * modules/dirent (Makefile.am): Likewise.
25874         * modules/errno (Makefile.am): Likewise.
25875         * modules/fcntl-h (Makefile.am): Likewise.
25876         * modules/float (Makefile.am): Likewise.
25877         * modules/getopt-posix (Makefile.am): Likewise.
25878         * modules/iconv-h (Makefile.am): Likewise.
25879         * modules/inttypes (Makefile.am): Likewise.
25880         * modules/langinfo (Makefile.am): Likewise.
25881         * modules/locale (Makefile.am): Likewise.
25882         * modules/math (Makefile.am): Likewise.
25883         * modules/netdb (Makefile.am): Likewise.
25884         * modules/netinet_in (Makefile.am): Likewise.
25885         * modules/poll-h (Makefile.am): Likewise.
25886         * modules/pthread (Makefile.am): Likewise.
25887         * modules/pty (Makefile.am): Likewise.
25888         * modules/sched (Makefile.am): Likewise.
25889         * modules/search (Makefile.am): Likewise.
25890         * modules/selinux-h (Makefile.am): Likewise.
25891         * modules/signal (Makefile.am): Likewise.
25892         * modules/spawn (Makefile.am): Likewise.
25893         * modules/stdarg (Makefile.am): Likewise.
25894         * modules/stddef (Makefile.am): Likewise.
25895         * modules/stdint (Makefile.am): Likewise.
25896         * modules/stdio (Makefile.am): Likewise.
25897         * modules/stdlib (Makefile.am): Likewise.
25898         * modules/string (Makefile.am): Likewise.
25899         * modules/strings (Makefile.am): Likewise.
25900         * modules/sys_file (Makefile.am): Likewise.
25901         * modules/sys_ioctl (Makefile.am): Likewise.
25902         * modules/sys_select (Makefile.am): Likewise.
25903         * modules/sys_socket (Makefile.am): Likewise.
25904         * modules/sys_stat (Makefile.am): Likewise.
25905         * modules/sys_time (Makefile.am): Likewise.
25906         * modules/sys_times (Makefile.am): Likewise.
25907         * modules/sys_utsname (Makefile.am): Likewise.
25908         * modules/sys_wait (Makefile.am): Likewise.
25909         * modules/sysexits (Makefile.am): Likewise.
25910         * modules/termios (Makefile.am): Likewise.
25911         * modules/time (Makefile.am): Likewise.
25912         * modules/unistd (Makefile.am): Likewise.
25913         * modules/wchar (Makefile.am): Likewise.
25914         * modules/wctype (Makefile.am): Likewise.
25915
25916 2010-10-04  Bruno Haible  <bruno@clisp.org>
25917
25918         read-file tests: Avoid a test failure on NonStop Kernel.
25919         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
25920         a regular file.
25921         Reported by Joachim Schmitz <schmitz@hp.com>.
25922
25923 2010-10-03  Bruno Haible  <bruno@clisp.org>
25924
25925         gnulib-tool: Fixes for --create-testdir with --libtool.
25926         * gnulib-tool (func_get_automake_snippet): Don't augment
25927         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
25928         an executable.
25929         (func_create_testdir): Handle module 'alloca' like func_import.
25930         Reported by Bruce Korb <bruce.korb@gmail.com>.
25931
25932 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
25933
25934         Avoid some lines longer than 80 characters.
25935         * lib/stdint.in.h: Break long comment lines.
25936         * lib/math.in.h: Likewise.
25937         (_GL_NUM_UINT_WORDS): New macro, for readability.
25938         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
25939         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
25940         * lib/stdlib.in.h: Likewise.
25941         * lib/spawn.in.h: Likewise.
25942         * lib/sys_socket.in.h: Update an URL.
25943         * lib/sys_stat.in.h: Break long line.
25944
25945 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
25946
25947         Improve pmccabe2html.
25948         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
25949         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
25950         when the sources change. Remove the line in the HTML about "Used
25951         ranges" (which implied that there might be other unused ranges),
25952         rename "Resume" to "Summary" (easier to understand for more users).
25953         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
25954         styles, and some unnecessary blank lines.
25955
25956 2010-10-03  Bruno Haible  <bruno@clisp.org>
25957             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
25958
25959         acl: Add support for ACLs on NonStop Kernel.
25960         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
25961         Check whether the function aclsort() exists.
25962         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
25963         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
25964         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
25965         (acl_nontrivial [HAVE_ACLSORT]: New function.
25966         (file_has_acl): Implement for NonStop Kernel.
25967         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
25968         (qset_acl): Implement for NonStop Kernel.
25969         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
25970         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
25971         (main): Implement for NonStop Kernel.
25972         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
25973         Kernel. Handle this flavor.
25974         * tests/test-set-mode-acl.sh: Likewise.
25975         * tests/test-copy-acl.sh: Likewise.
25976         * tests/test-copy-file.sh: Likewise.
25977
25978 2010-10-03  Bruno Haible  <bruno@clisp.org>
25979
25980         Info about ACLs on NonStop Kernel.
25981         * doc/acl-resources.txt: Add info about NonStop Kernel.
25982         References by Joachim Schmitz <schmitz@hp.com>.
25983
25984 2010-10-02  Bruno Haible  <bruno@clisp.org>
25985
25986         Define missing EDQUOT on NonStop Kernel.
25987         * lib/errno.in.h (EDQUOT): Assign a value if missing.
25988         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
25989         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
25990         missing.
25991         * doc/posix-headers/errno.texi: Mention the NSK bug.
25992         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
25993         Reported by Joachim Schmitz <schmitz@hp.com>.
25994
25995 2010-10-02  Bruno Haible  <bruno@clisp.org>
25996
25997         Update doc for POSIX:2008.
25998         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
25999         Update URL of POSIX specification.
26000
26001 2010-10-02  Bruno Haible  <bruno@clisp.org>
26002
26003         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
26004         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
26005         from gnulib, not from Automake.
26006
26007 2010-10-02  Bruno Haible  <bruno@clisp.org>
26008
26009         New module 'system-posix'.
26010         * modules/system-posix: New file.
26011         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
26012         module is present.
26013         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
26014         GNULIB_SYSTEM_POSIX.
26015         * modules/stdlib (Depends-on): Remove sys_wait.
26016         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
26017         * doc/posix-functions/system.texi: Mention the new module.
26018         * doc/posix-headers/stdlib.texi: Likewise.
26019         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
26020         define test_sys_wait_macros to a no-op.
26021         Reported by Sam Steingold <sds@gnu.org>.
26022
26023 2010-09-30  Bruno Haible  <bruno@clisp.org>
26024
26025         More renaming from 'getdate' to 'get_date'.
26026         * doc/get_date.texi: Renamed from doc/getdate.texi.
26027         * modules/get_date (Files): Update.
26028         * MODULES.html.sh (Date and time <time.h>): Update.
26029         * DEPENDENCIES: Update.
26030         * gnulib-tool: Update comment.
26031         * m4/bison.m4 (gl_BISON): Likewise.
26032         * m4/get_date.m4 (gl_GET_DATE): Likewise.
26033
26034 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
26035
26036         bootstrap: support ACLOCAL_FLAGS during aclocal
26037         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
26038         can add additional -I dir for third-party .m4 files.
26039
26040 2010-09-30  Eric Blake  <eblake@redhat.com>
26041
26042         bootstrap: use glibtoolize on MacOS
26043         * build-aux/bootstrap (check_versions): Convert libtool into
26044         libtoolize.
26045         (tool search): Move libtool check earlier, and look for
26046         glibtoolize for MacOS.
26047         (gnulib_tool_options): Auto-add --libtool when appropriate.
26048         Reported by Justin Clift.
26049
26050         poll: fix typo that broke test on MacOS
26051         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
26052         Reported by Justin Clift.
26053
26054         getdate: rename to get_date
26055         Note: getdate.h is not renamed, to minimize client impact.
26056         * modules/getdate: Mark obsolete.  Move old contents...
26057         * modules/get_date: ...to new module name.
26058         * modules/getdate-tests: Move...
26059         * modules/get_date-tests: ...here.
26060         * m4/getdate.m4: Move...
26061         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
26062         * lib/getdate.y: Move...
26063         * lib/get_date.y: ...here.
26064         * tests/test-getdate.c: Move...
26065         * tests/test-get_date.c: ...here.
26066         * doc/posix-functions/getdate.texi (getdate): Update name.
26067         * NEWS: Mention the change.
26068
26069 2010-09-29  Bruno Haible  <bruno@clisp.org>
26070
26071         Separate the module 'waitpid' from the module 'sys_wait'.
26072         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
26073         present.
26074         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
26075         gl_MODULE_INDICATOR_FOR_TESTS.
26076         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
26077         * modules/sys_wait (Depends-on): Remove waitpid.
26078         (Makefile.am): Substitute GNULIB_WAITPID.
26079         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
26080         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
26081         signature only if the 'waitpid' module is present.
26082         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
26083         * NEWS: Mention the change.
26084         * modules/grantpt (Depends-on): Add waitpid.
26085         * modules/wait-process (Depends-on): Likewise.
26086
26087 2010-09-29  Bruno Haible  <bruno@clisp.org>
26088
26089         More tests for module 'sys_wait'.
26090         * modules/sys_wait-c++-tests: New file.
26091         * tests/test-sys_wait-c++.cc: New file.
26092         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
26093         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
26094
26095 2010-09-29  Bruno Haible  <bruno@clisp.org>
26096
26097         New module 'waitpid'.
26098         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
26099         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
26100         Don't include <process.h>.
26101         (waitpid): Declare only, using modern idiom.
26102         * m4/waitpid.m4: New file.
26103         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
26104         * modules/waitpid: New file.
26105         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
26106         (Makefile.am): Update.
26107         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
26108
26109 2010-09-28  Bruno Haible  <bruno@clisp.org>
26110
26111         poll: Assume ANSI C.
26112         * lib/poll.c (poll): Use an ANSI C declaration.
26113
26114 2010-09-28  Bruno Haible  <bruno@clisp.org>
26115
26116         poll-h: Create poll.h on all platforms.
26117         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
26118         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
26119         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
26120         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
26121         (gl_REPLACE_POLL_H): Don't set POLL_H.
26122         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
26123         * modules/poll-h (Depends-on): Add include_next.
26124         (Makefile.am): Create poll.h unconditionally. Substitute also
26125         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
26126
26127 2010-09-28  Bruno Haible  <bruno@clisp.org>
26128
26129         Tests for module 'poll-h'.
26130         * modules/poll-h-c++-tests: New file.
26131         * tests/test-poll-h-c++.cc: New file.
26132
26133         Tests for module 'poll-h'.
26134         * modules/poll-h-tests: New file.
26135         * tests/test-poll-h.c: New file.
26136
26137 2010-09-28  Bruno Haible  <bruno@clisp.org>
26138
26139         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
26140         * modules/poll-h (Depends-on): Add 'extensions'.
26141
26142 2010-09-28  Bruno Haible  <bruno@clisp.org>
26143
26144         New module 'poll-h'.
26145         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
26146         (poll): Use modern idiom.
26147         * modules/poll-h: New file.
26148         * modules/poll (Files): Remove lib/poll.in.h.
26149         (Depends-on): Add poll-h.
26150         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
26151         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
26152         * m4/poll_h.m4: New file.
26153         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
26154         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
26155         and invoke gl_REPLACE_POLL_H.
26156         * lib/poll.c: Use common idiom.
26157         * tests/test-poll.c: Likewise.
26158         * doc/posix-headers/poll.texi: Mention the poll-h module.
26159         Suggested by Eric Blake.
26160
26161 2010-09-26  Bruno Haible  <bruno@clisp.org>
26162
26163         sys_wait: Implement WSTOPSIG.
26164         * lib/sys_wait.in.h (WSTOPSIG): New macro.
26165         Reported by Simon Josefsson.
26166
26167 2010-09-26  Simon Josefsson  <simon@josefsson.org>
26168
26169         stdlib, sys_wait: Avoid compilation error on mingw.
26170         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
26171
26172 2010-09-26  Bruno Haible  <bruno@clisp.org>
26173
26174         stdlib tests: Avoid code duplication.
26175         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
26176         * modules/sys_wait-tests (Files): Likewise.
26177         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
26178         * tests/test-stdlib.c: Include test-sys_wait.h.
26179         (main): Invoke test_sys_wait_macros.
26180         * tests/test-sys_wait.c: Include test-sys_wait.h.
26181         (main): Invoke test_sys_wait_macros.
26182
26183 2010-09-25  Simon Josefsson  <simon@josefsson.org>
26184
26185         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
26186         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
26187         sure Windows sockets are working before calling getaddrinfo.
26188         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
26189         * doc/gnulib.texi (Windows sockets): Fix typo.
26190
26191 2010-09-25  Bruno Haible  <bruno@clisp.org>
26192
26193         Tests for module 'regex-quote'.
26194         * modules/regex-quote-tests: New file.
26195         * tests/test-regex-quote.c: New file.
26196
26197         New module 'regex-quote'.
26198         * lib/regex-quote.h: New file.
26199         * lib/regex-quote.c: New file.
26200         * modules/regex-quote: New file.
26201         Suggested by Reuben Thomas <rrt@sc3d.org>.
26202
26203 2010-09-24  Bruno Haible  <bruno@clisp.org>
26204
26205         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
26206         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
26207
26208 2010-09-23  Bruno Haible  <bruno@clisp.org>
26209
26210         setenv: Relax license.
26211         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
26212         Blake.
26213         Requested by Eric Blake.
26214
26215 2010-09-22  Bruno Haible  <bruno@clisp.org>
26216
26217         termios: Relax license.
26218         * modules/termios (License): Change to LGPLv2+.
26219         Requested by Eric Blake.
26220
26221 2010-09-22  Bruno Haible  <bruno@clisp.org>
26222
26223         threadlib: Allow the package to change the default to 'no'.
26224         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
26225         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
26226         Reported by Paul Eggert.
26227
26228 2010-09-22  Pádraig Brady  <P@draigbrady.com>
26229             Bruno Haible  <bruno@clisp.org>
26230
26231         Fix endless loop in mbmemcasecoll.
26232         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
26233         byte.
26234         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
26235
26236 2010-09-22  Bruno Haible  <bruno@clisp.org>
26237
26238         Tests for module 'memcoll'.
26239         * modules/memcoll-tests: New file.
26240         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
26241
26242         memcoll, xmemcoll: Clarify size vs. length.
26243         * modules/memcoll.c (memcoll0): Clarify specification.
26244         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
26245         passed to collate_error.
26246
26247 2010-09-22  Bruno Haible  <bruno@clisp.org>
26248
26249         Tests for module 'memcasecmp'.
26250         * modules/memcasecmp-tests: New file.
26251         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
26252
26253 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
26254
26255         * lib/pthread.in.h: Add split double-inclusion guard, and include
26256         system <pthread.h> if there is one.  Use @@-style as in other
26257         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
26258         pthread.h doesn't.
26259         (pthread_mutexattr_destroy, pthread_mutexattr_init):
26260         (pthread_mutexattr_settype, pthread_mutex_trylock):
26261         New static inline functions, if there's no system <pthread.h>.
26262         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
26263         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
26264         Approximate with mutexes if the system lacks spinlocks, as in
26265         MacOS.
26266         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
26267         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
26268         @@-style.  Check for spinlocks separately.
26269         (gl_PTHREAD_DEFAULTS): New macro.
26270         * modules/pthread: Redo to use a more typical style for in.h files.
26271
26272 2010-09-21  Eric Blake  <eblake@redhat.com>
26273
26274         net_if: enhance tests
26275         * tests/test-net_if.c (main): Move signature checks earlier.
26276         Print failures to stderr.
26277         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
26278         Document the bug that we do not yet fix.
26279
26280 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
26281
26282         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
26283         about gnulib, not GSS.
26284
26285 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
26286
26287         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
26288         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
26289         for Emacs.
26290         * build-aux/pmccabe2html: Make Makefile.am example code more
26291         cut-and-paste friendly.
26292
26293 2010-09-21  Simon Josefsson  <simon@josefsson.org>
26294
26295         * tests/test-net_if.c: New file.
26296         * modules/net_if-tests: New file.
26297
26298 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
26299
26300         pthread: add pthread_spin_destroy
26301         * lib/pthread.in.h (pthread_spin_destroy): New function.
26302
26303 2010-09-19  Bruno Haible  <bruno@clisp.org>
26304
26305         gnulib-tool: Fix --help output.
26306         * gnulib-tool (func_usage): Fix help message.
26307         Reported by Reuben Thomas <rrt@sc3d.org>.
26308
26309 2010-09-18  Jim Meyering  <meyering@redhat.com>
26310
26311         maint.mk: avoid unexpanded \n in two diagnostics
26312         * top/maint.mk (sc_prohibit_always_true_header_tests):
26313         Don't use a literal \n in a halt=... assignment.  It would not be
26314         expanded, and the two \n bytes would appear in the diagnostic output
26315         rather than the desired newline.  Use halt=$$(printf ... instead.
26316         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
26317
26318 2010-09-18  Bruno Haible  <bruno@clisp.org>
26319
26320         netinet_in: Doc tweak.
26321         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
26322         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
26323
26324 2010-09-18  Jim Meyering  <meyering@redhat.com>
26325
26326         init.sh: correct an outdated comment
26327         * tests/init.sh (create_exe_shims_):  s/function/alias/
26328
26329         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
26330         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
26331         a file named "*.exe" is removed between the glob expansion and the
26332         processing of that oddly named file.
26333
26334 2010-09-17  Eric Blake  <eblake@redhat.com>
26335
26336         mirbsd: add some more support
26337         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
26338         in BSD family.
26339         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
26340         devices as OpenBSD.
26341         * m4/host-os.m4 (mirbsd): Add MirBSD.
26342
26343         tests: fix unportable assumption on sys/wait.h
26344         * tests/test-sys_wait.c (main): Relax test.
26345         * tests/test-stdlib.c (main): Likewise.
26346
26347         init.sh: accommodate directory with no .exes
26348         * tests/init.sh: Accomodate directory containing only scripts.
26349
26350         tests: avoid compiler warning
26351         * tests/test-stdlib.c (main): Use the variable.
26352
26353         fdutimens, fdutimensat: update signature, again
26354         * lib/utimens.h (gl_futimens): Delete, and move signature...
26355         (fdutimens): ...here.
26356         (fdutimensat): Rearrange signature.
26357         (lutimensat): Rename variable for clarity.
26358         * lib/fdutimensat.c (fdutimensat): Update signature.
26359         * lib/utimens.c (fdutimens): Likewise.
26360         (gl_futimens): Delete.
26361         (utimens, lutimens): Update callers.
26362         * lib/futimens.c (futimens): Likewise.
26363         * tests/test-fdutimensat.c: Likewise.
26364         * tests/test-utimens.c: Likewise.
26365         * tests/test-futimens.h: Update comment.
26366         * NEWS: Mention this.
26367         Suggested by Paul Eggert.
26368
26369 2010-09-17  Bruno Haible  <bruno@clisp.org>
26370
26371         Take over the maintenance of some older macros from Autoconf.
26372         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
26373         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
26374         GNU Autoconf.
26375         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
26376         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
26377
26378 2010-09-17  Eric Blake  <eblake@redhat.com>
26379
26380         fdutimensat: drop atflag validation
26381         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
26382         with valid fd, to close a race scenario where futimens is
26383         unsupported and FILE was replaced by a symlink.
26384         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
26385         accordingly.
26386         Suggested by Paul Eggert.
26387
26388 2010-09-16  Bruno Haible  <bruno@clisp.org>
26389
26390         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
26391         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
26392
26393 2010-09-16  Bruno Haible  <bruno@clisp.org>
26394
26395         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
26396         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
26397         login_tty exists.
26398         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
26399
26400 2010-09-16  Bruno Haible  <bruno@clisp.org>
26401
26402         login_tty: Make the replacement code work on BSD systems.
26403         * lib/login_tty.c: Include <sys/ioctl.h>.
26404         (login_tty): Use ioctl TIOCSCTTY when available.
26405         * modules/login_tty (Depends-on): Add sys_ioctl.
26406         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
26407
26408 2010-09-16  Bruno Haible  <bruno@clisp.org>
26409
26410         login_tty: Stricter unit test.
26411         * modules/login_tty-tests (Depends-on): Add tcgetsid.
26412         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
26413         and tcgetsid() after login_tty.
26414         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
26415
26416 2010-09-16  Bruno Haible  <bruno@clisp.org>
26417
26418         New module 'tcgetsid'.
26419         * lib/tcgetsid.c: New file.
26420         * m4/tcgetsid.m4: New file.
26421         * modules/tcgetsid: New file.
26422         * modules/termios (Depends-on): Add c++defs, warn-on-use.
26423         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
26424         GNULIB_TCGETSID, HAVE_TCGETSID.
26425         * lib/termios.in.h: Include <sys/types.h>.
26426         (tcgetsid): New declaration.
26427         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
26428         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
26429         * doc/posix-functions/tcgetsid.texi: Mention the new module.
26430         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
26431
26432 2010-09-16  Bruno Haible  <bruno@clisp.org>
26433
26434         Tests for module 'termios'.
26435         * modules/termios-c++-tests: New file.
26436         * modules/termios-tests: New file.
26437         * tests/test-termios-c++.cc: New file.
26438         * tests/test-termios.c: New file.
26439
26440         New module 'termios'.
26441         * modules/termios: New file.
26442         * lib/termios.in.h: New file.
26443         * m4/termios_h.m4: New file.
26444         * doc/posix-headers/termios.texi: Mention the new module.
26445
26446 2010-09-16  Eric Blake  <eblake@redhat.com>
26447
26448         fdutimensat: add an atflag parameter
26449         * lib/fdutimensat.c (fdutimensat): Add new parameter.
26450         * lib/utimens.h (fdutimensat): Update prototype.
26451         * tests/test-fdutimensat.c: Adjust test to match.
26452         * NEWS: Document the change.
26453         Suggested by Paul Eggert.
26454
26455 2010-09-16  Bruno Haible  <bruno@clisp.org>
26456
26457         Fix typos in comments.
26458         * lib/striconveh.h: Fix typo in comment.
26459         * lib/login_tty.c (login_tty): Likewise.
26460
26461 2010-09-15  Bruno Haible  <bruno@clisp.org>
26462
26463         stdlib: clarify MirBSD WEXITSTATUS bug
26464         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
26465         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
26466
26467 2010-09-15  Eric Blake  <eblake@redhat.com>
26468
26469         stdlib: work around MirBSD WEXITSTATUS bug
26470         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
26471         * modules/stdlib (Depends-on): Add sys_wait.
26472         * tests/test-sys_wait.c (main): Enhance test.
26473         * tests/test-stdlib.c (main): Likewise.
26474         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
26475
26476         docs: mention MacOS issue with WEXITSTATUS(constant)
26477         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
26478         issue.
26479         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
26480
26481         strnlen: add tests
26482         * modules/strnlen-tests: New file.
26483         * tests/test-strnlen.c: Likewise.
26484
26485 2010-09-14  Bruno Haible  <bruno@clisp.org>
26486
26487         unistr/base: Avoid link errors when module 'libunistring' is also used.
26488         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
26489         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
26490         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
26491         Declare also when HAVE_LIBUNISTRING is set.
26492         Reported by Pádraig Brady <P@draigbrady.com>.
26493
26494 2010-09-14  Eric Blake  <eblake@redhat.com>
26495
26496         test-rawmemchr: make more robust
26497         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
26498         (Depends-on, configure.ac): Add needed prerequisites to use it.
26499         * modules/memchr-tests (Files, Depends-on, configure.ac):
26500         Likewise, to avoid implicit reliance on memchr module prereqs.
26501         * tests/test-memchr.c (main): Ensure proper masking.
26502         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
26503         reads.
26504
26505         memchr: detect glibc Alpha bug
26506         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
26507         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
26508         Alpha.
26509         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
26510         * tests/test-memchr.c (main): Enhance test.
26511         Reported by Nelson H. F. Beebe.
26512
26513 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
26514
26515         fts, getcwd, glob: audit for dirfd returning -1
26516         * lib/fts.c (opendir): Remove #define; no longer used.
26517         (opendirat): New arg PDIR_FD.  All callers changed.
26518         (fts_build, _opendir2): Use new opendirat to avoid the need for
26519         dirfd, or for checking whether dirfd returns a negative value.
26520         Don't use opendir; always use openat followed by fdopendir.
26521         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
26522         it.
26523         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
26524         returns -1 here.
26525         * modules/fts (Depends-on): Remove dirfd.
26526         * modules/getcwd (Depends-on): Likewise.
26527
26528 2010-09-13  Eric Blake  <eblake@redhat.com>
26529
26530         float: fix broken MirBSD header
26531         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
26532         * doc/posix-headers/float.texi (float.h): Document it.
26533
26534 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
26535
26536         fts: use O_NOFOLLOW to avoid race condition when opening a directory
26537         * lib/fts.c (opendirat): New arg extra_flags.
26538         (__opendir2): Use it to avoid following symlinks when opening
26539         a directory, if symlinks are not supposed to be followed.  See
26540         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
26541
26542         fdopendir: preserve argument fd before returning
26543         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
26544         (fdopendir_with_dup, fd_clone_opendir): New static functions.
26545         (fdopendir): Use them, arranging for FD to be open to the same
26546         directory that it was when it started.  (It might be temporarily
26547         closed while fdopendir is running, so this not thread- or
26548         signal-safe.)  Be careful to do the right thing even when file
26549         descriptors are scarce and dup fails with errno == EMFILE.  See
26550         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
26551
26552 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
26553
26554         regex: Pass the system regex if its only problem is 32-bit regoff_t.
26555         * NEWS: Document change.
26556         * m4/regex.m4: Disable test for regoff_t size.
26557
26558 2010-09-13  Jim Meyering  <meyering@redhat.com>
26559
26560         fts: don't operate on an invalid file descriptor after failed dup
26561         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
26562         negative file descriptor.
26563
26564 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
26565
26566         savedir: add streamsavedir, deprecate fdsavedir
26567         * NEWS: Mention deprecation of fdsavedir.
26568         * lib/savedir.c (streamsavedir): New extern function, whose name
26569         ends in "savedir" to be consistent with the others.  This differs
26570         from savedirstream in that it doesn't close its argument.  The
26571         next version of GNU tar will use this instead of fdsavedir, to
26572         avoid some race conditions and conserve file descriptors.
26573         (savedirstream): Reimplement as a wrapper around streamsavedir.
26574         (fdsavedir): Add a comment deprecating this function.  As far as
26575         I know, only GNU tar used it, and GNU tar doesn't need it any more.
26576         * lib/savedir.h (streamsavedir): New decl.
26577         (fdsavedir): Add a comment deprecating this.
26578
26579 2010-09-10  Bruno Haible  <bruno@clisp.org>
26580
26581         langinfo: Fix last commit.
26582         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
26583         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
26584         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
26585
26586 2010-09-10  Bruno Haible  <bruno@clisp.org>
26587
26588         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
26589         * lib/progreloc.c (O_EXEC): Define fallback.
26590
26591 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
26592
26593         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
26594         * NEWS: Document recent changes to fcntl-h.
26595         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
26596         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
26597         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
26598         Similarly for O_SEARCH; this last was already true, but not documented.
26599         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
26600         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
26601         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
26602         Likewise.
26603         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
26604         is zero, not whether it is defined.
26605         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
26606         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
26607         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
26608
26609 2010-09-10  Bruno Haible  <bruno@clisp.org>
26610
26611         langinfo, nl_langinfo: Fix for IRIX 5.3.
26612         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
26613         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
26614         HAVE_LANGINFO_YESEXPR.
26615         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
26616         HAVE_LANGINFO_YESEXPR.
26617         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
26618         HAVE_LANGINFO_T_FMT_AMPM is 0.
26619         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
26620         HAVE_LANGINFO_YESEXPR is 0.
26621         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
26622         NOEXPR.
26623         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
26624         * doc/posix-functions/nl_langinfo.texi: Likewise.
26625         Reported by Eric Blake.
26626
26627 2010-09-10  Bruno Haible  <bruno@clisp.org>
26628
26629         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
26630         * doc/glibc-functions/login_tty.texi: Mention the include file problem
26631         on FreeBSD 8.0 and OpenBSD 4.6.
26632         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
26633         * m4/pty_h.m4 (gl_PTY_H): Likewise.
26634         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
26635         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
26636         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
26637         ac_includes_default.
26638         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
26639
26640 2010-09-09  Eric Blake  <eblake@redhat.com>
26641
26642         strsignal: work around NetBSD bug
26643         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
26644         * lib/string.in.h (includes): Likewise.
26645         * doc/posix-functions/strsignal.texi (strsignal): Document the
26646         bug.
26647         Reported by Nelson H. F. Beebe.
26648
26649         gnulib-tool: work with NetBSD /bin/sh
26650         * gnulib-tool (func_cache_var, func_cache_lookup_module)
26651         (func_get_description, func_get_comment, func_get_status)
26652         (func_get_notice, func_get_applicability, func_get_filelist)
26653         (func_get_dependencies, func_get_autoconf_early_snippet)
26654         (func_get_autoconf_snippet, func_get_automake_snippet)
26655         (func_get_include_directive, func_get_link_directive)
26656         (func_get_license, func_get_maintainer, func_import): Avoid
26657         shell syntax errors from parsing syntax extensions.
26658
26659 2010-09-09  Bruno Haible  <bruno@clisp.org>
26660
26661         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
26662         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
26663         a reliable way to determine whether the 'alias' command works.
26664
26665 2010-09-08  Jim Meyering  <meyering@redhat.com>
26666
26667         init.sh: penalize a set-x-impaired shell; don't disqualify it
26668         * tests/init.sh: Too many shells corrupt application stderr when
26669         you set -x, so we can't afford to disqualify them, since at least
26670         on Irix-6.5, that would disqualify all bourne shells.
26671         Instead, use a two-pass approach.
26672         On the first pass, try to find a shell that meets the stricter
26673         condition that set -x does not corrupt stderr.
26674         If no shell meets the stricter condition, retest each candidate
26675         shell, but without that extra condition.  Finally, when
26676         VERBOSE=yes is requested and set -x might cause trouble, simply
26677         issue a warning and refrain from enabling debug output.
26678
26679 2010-09-08  Eric Blake  <eblake@redhat.com>
26680
26681         unsetenv: fix OpenBSD bug
26682         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
26683         * doc/posix-functions/unsetenv.texi (unsetenv): Update
26684         documentation.
26685         Reported by Jim Meyering.
26686
26687         strtod: work around IRIX 6.5 bug
26688         * lib/strtod.c (strtod): Reparse number on shorter string if
26689         exponent parse was invalid.
26690         * tests/test-strtod.c (main): Add check for "0x1p 2".
26691         Reported by Tom G. Christensen.
26692
26693         getopt: optimize previous patch
26694         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
26695         empty variable.  Speed up awk script.
26696         Reported by Paolo Bonzini.
26697
26698 2010-09-08  Jim Meyering  <meyering@redhat.com>
26699
26700         test.sh: disqualify shells for which set -x corrupts stderr
26701         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
26702         and OpenBSD 4.7.  They make it so with "set -x", environment settings
26703         appear in stderr output.  For example, this command:
26704             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
26705         prints "P=1" on those two systems:
26706
26707 2010-09-08  Bruno Haible  <bruno@clisp.org>
26708
26709         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
26710         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
26711         commands, because some shells ignore redirections when there is an
26712         error in the command lookup.
26713         Reported by Eric Blake.
26714
26715 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
26716
26717         * lib/regex.h: Fix a mention of `regex_compile' (should be
26718         `re_compile_pattern').
26719         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
26720         (re_set_registers): Correct name of parameter in comment.
26721
26722         * doc/regex.texi: Add documentation for missing syntax flags.
26723         Remove commented-out documentation of defunct syntax option
26724         RE_NO_EMPTY_ALTS.
26725         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
26726         Add documentation of re_set_registers.
26727         Document trick to re-use a pattern buffer by setting fastmap manually.
26728         Update documentation of struct re_pattern_buffer per public members.
26729         Uncomment documentation of equivalence class operators and
26730         collating symbol operators, since they are now implemented,
26731         Explain leftmost-longest matching in relation to alternatives.
26732         Tidy documentation of substring matching.
26733         Remove POSIX documentation, which is done better in
26734         glibc, and refer the reader there. Keep BSD API documentation, as
26735         that is not readily available elsewhere.
26736
26737 2010-09-07  Eric Blake  <eblake@redhat.com>
26738
26739         getopt: handle POSIXLY_CORRECT set but not exported
26740         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
26741         export state of POSIXLY_CORRECT, due to bash set -o posix.
26742         Reported by Dustin J. Mitchell.
26743
26744 2010-09-05  Bruno Haible  <bruno@clisp.org>
26745
26746         gnulib-tool: Highlight the changed options.
26747         * gnulib-tool (func_usage): Display the --import, --add-import,
26748         --remove-import explanations in bold font.
26749
26750 2010-09-06  Karl Berry  <karl@gnu.org>
26751
26752         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
26753
26754 2010-09-05  Bruno Haible  <bruno@clisp.org>
26755
26756         uniwidth/width: Update comment.
26757         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
26758         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
26759
26760 2010-09-05  Bruno Haible  <bruno@clisp.org>
26761
26762         isinf, isnan: Relax license.
26763         * modules/isinf (License): Change from GPL to LGPL, with consent from
26764         Ben Pfaff.
26765         * modules/isnan (License): Likewise.
26766         Requested by Ludovic Courtès.
26767
26768 2010-09-04  Bruno Haible  <bruno@clisp.org>
26769
26770         gnulib-tool: Help migration from --import to --add-import or --update.
26771         * gnulib-tool: Emit a verbose error message when --import is used
26772         without any module name.
26773
26774 2010-09-04  Bruno Haible  <bruno@clisp.org>
26775
26776         Update doc about gnulib-tool.
26777         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
26778         'gnulib-tool --update' in more detail.
26779         Reported by Eric Blake.
26780
26781 2010-09-04  Bruno Haible  <bruno@clisp.org>
26782
26783         gnulib-tool: Change --import. New options --add/remove-import.
26784         * gnulib-tool: New options --add-import, --remove-import.
26785         (func_usage): Document them.
26786         (have_associative): Define always.
26787         (func_import): In import mode, don't merge the specified settings with
26788         the cached settings. Implement remove-import mode.
26789         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
26790         Explain when to use them versus --import.
26791         (Simple update): Use --add-import instead of --import.
26792         * NEWS: Mention the change.
26793
26794 2010-09-04  Bruno Haible  <bruno@clisp.org>
26795
26796         * doc/gnulib-tool.texi (Initial import): Update paragraph about
26797         separate gnulib.mk.
26798
26799 2010-09-04  Bruno Haible  <bruno@clisp.org>
26800
26801         gnulib-tool: Don't talk about CVS any more.
26802         * gnulib-tool (func_usage, func_import): Write "version control"
26803         instead of CVS.
26804
26805 2010-09-04  Jim Meyering  <meyering@redhat.com>
26806
26807         maint.mk: avoid obscure sc_copyright_check failure in coreutils
26808         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
26809         false positives (whose names may be ill-chosen) when searching
26810         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
26811         would cause a false-positive.
26812
26813         avoid coreutils "make distcheck" failure
26814         Coreutils tests with an absolute build directory name that contains
26815         a space.  Not quoting this directory name caused a failure.
26816         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
26817         * tests/test-vc-list-files-cvs.sh: Likewise.
26818
26819 2010-09-04  Bruno Haible  <bruno@clisp.org>
26820
26821         gnulib-tool: Avoid error when run in a package without Makefile.am.
26822         * gnulib-tool: When collecting the m4dirs in a package that does not
26823         have a Makefile.am, eliminate those directories that contain no
26824         gnulib-cache.m4. Fix expression that counts these directories.
26825
26826 2010-09-04  Bruno Haible  <bruno@clisp.org>
26827
26828         update-copyright test: Improve output when perl is missing or too old.
26829         * tests/test-update-copyright.sh: Move test of Perl version down after
26830         the test whether Perl exists. Provide an explanation relating Perl's
26831         error message to Automake's SKIP: message.
26832
26833 2010-09-04  Bruno Haible  <bruno@clisp.org>
26834
26835         Don't augment PATH in TESTS_ENVIRONMENT.
26836         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
26837         set abs_aux_dir instead of augmenting PATH.
26838         * modules/vc-list-files-tests (Makefile.am): Likewise.
26839         * tests/test-update-copyright.sh: Augment PATH here.
26840         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
26841         path_prepend_.
26842         * tests/test-vc-list-files-git.sh: Likewise.
26843
26844 2010-09-04  Jim Meyering  <meyering@redhat.com>
26845
26846         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
26847         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
26848
26849 2010-09-04  Bruno Haible  <bruno@clisp.org>
26850
26851         strdup: Fix compilation error in C++ mode.
26852         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
26853         the macro.
26854
26855 2010-09-04  Bruno Haible  <bruno@clisp.org>
26856
26857         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
26858         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
26859         macro into a function.
26860         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
26861
26862 2010-09-04  Bruno Haible  <bruno@clisp.org>
26863
26864         Set PATH_SEPARATOR the same way autoconf does.
26865         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
26866         the value of PATH_SEPARATOR the same way autoconf-generated configure
26867         scripts do.
26868         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
26869         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
26870
26871 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
26872
26873         Set PATH_SEPARATOR the same way autoconf does.
26874         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
26875         the same way autoconf-generated configure scripts do.
26876         * posix-modules: Likewise.
26877
26878 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
26879
26880         hash: fix safe_hasher const typo
26881         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
26882         const; otherwise, there is a type error later.
26883
26884 2010-09-02  Jim Meyering  <meyering@redhat.com>
26885
26886         test-update-copyright.sh: require perl 5.8.0
26887         * tests/test-update-copyright.sh: Require 5.8.0,
26888         which Tom G. Christensen has confirmed is adequate,
26889         while 5.6.1 is not.
26890
26891 2010-09-02  Eric Blake  <eblake@redhat.com>
26892
26893         tests: init.sh improvements for re-exec'ing with zsh
26894         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
26895         -vx through shell re-exec.
26896         Reported by Tom G. Christensen.
26897
26898         wctype: fix typo in previous commit
26899         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
26900         Reported by Ludovic Courtès.
26901
26902 2010-09-02  Jim Meyering  <meyering@redhat.com>
26903
26904         test-update-copyright.sh: skip test if Perl is too old
26905         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
26906         Reported by Tom G. Christensen.
26907
26908 2010-09-02  Bruno Haible  <bruno@clisp.org>
26909
26910         wctype: Avoid compilation error on IRIX 6.5.30.
26911         * lib/wctype.in.h (iswblank): Declare with a replacement if
26912         REPLACE_ISWBLANK is set.
26913         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
26914         declared. Set REPLACE_ISWBLANK.
26915         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
26916         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
26917         * doc/posix-headers/wctype.texi: Likewise.
26918         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
26919
26920 2010-09-01  Bruno Haible  <bruno@clisp.org>
26921
26922         New module 'socketlib'.
26923         * modules/socketlib: New file.
26924         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
26925         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
26926         * modules/sockets (Depends-on): Add socketlib.
26927         Suggested by Sam Steingold <sds@gnu.org>.
26928
26929 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
26930
26931         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
26932
26933         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
26934         when one needs search access to a directory but not read access.
26935         On systems where it is available, it works in some cases where
26936         O_RDONLY does not, namely on directories that are searchable but
26937         not readable, and which need only to be searchable.  If O_SEARCH
26938         is not available, fall back to the traditional method of using
26939         O_RDONLY.
26940
26941         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
26942         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
26943         when opening a directory that needs only to be searchable.
26944         * lib/chdir-safer.c (chdir_no_follow): Likewise.
26945         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
26946         * lib/openat-proc.c (openat_proc_name): Likewise.
26947         * lib/openat.c (openat_needs_fchdir): Likewise.
26948         * lib/save-cwd.c (save_cwd): Likewise.
26949         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
26950
26951 2010-08-28  Bruno Haible  <bruno@clisp.org>
26952
26953         New module 'host-cpu-c-abi'.
26954         * modules/host-cpu-c-abi: New file.
26955         * m4/host-cpu-c-abi.m4: New file, based on part of
26956         clisp/src/m4/general.m4.
26957         Requested by Sam Steingold <sds@gnu.org>.
26958
26959 2010-08-31  Eric Blake  <eblake@redhat.com>
26960         and Jim Meyering  <meyering@redhat.com>
26961
26962         hash: factor, and guard against misbehaving hasher function
26963         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
26964         of table->hasher's return value.  Also protect against a hash value
26965         so large that adding it to table->bucket results in a NULL pointer.
26966         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
26967         Use it in place of open-coded check-and-abort.
26968
26969 2010-08-30  Bruno Haible  <bruno@clisp.org>
26970
26971         hash: silence spurious clang warning
26972         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
26973         Reported by Eric Blake.
26974
26975 2010-08-30  Eric Blake  <eblake@redhat.com>
26976
26977         strstr, memmem, strcasestr: avoid leaked shell message
26978         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
26979         FreeBSD.
26980         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
26981         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
26982
26983         tests: silence clang warning
26984         * tests/test-malloca.c (do_allocation): Avoid dead store.
26985
26986 2010-08-29  Bruno Haible  <bruno@clisp.org>
26987
26988         gettext: Fix recent mistake.
26989         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
26990
26991 2010-08-29  Bruno Haible  <bruno@clisp.org>
26992
26993         selinux-h: Offer a --without-selinux option.
26994         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
26995         --without-selinux was specified, skip all tests and define
26996         HAVE_SELINUX_SELINUX_H to 0.
26997         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
26998         set LIB_SELINUX to empty.
26999         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
27000         gl_LIBSELINUX. If --without-selinux was specified, replace
27001         selinux/context.h.
27002         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
27003
27004 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
27005             Bruno Haible  <bruno@clisp.org>
27006
27007         Make the module 'realloc-gnu' work again on AIX and OSF/1.
27008         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
27009         of HAVE_REALLOC.
27010         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
27011         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
27012         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
27013         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
27014
27015 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
27016             Bruno Haible  <bruno@clisp.org>
27017
27018         Make the module 'calloc-gnu' work again on AIX and OSF/1.
27019         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
27020         HAVE_CALLOC.
27021         * lib/xmalloc.c: Update accordingly.
27022         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
27023         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
27024         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
27025
27026 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
27027             Bruno Haible  <bruno@clisp.org>
27028
27029         Make the module 'malloc-gnu' work again on AIX and OSF/1.
27030         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
27031         HAVE_MALLOC.
27032         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
27033         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
27034         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
27035
27036 2010-08-29  Bruno Haible  <bruno@clisp.org>
27037
27038         Update modules list.
27039         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
27040         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
27041         (String handling <string.h>): Add astrxfrm.
27042         (File system functions): Add readlinkat.
27043
27044 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27045
27046         Tests for module 'realloc-gnu'.
27047         * modules/realloc-gnu-tests: New file.
27048         * tests/test-realloc-gnu.c: New file.
27049
27050         Tests for module 'calloc-gnu'.
27051         * modules/calloc-gnu-tests: New file.
27052         * tests/test-calloc-gnu.c: New file.
27053
27054         Tests for module 'malloc-gnu'.
27055         * modules/malloc-gnu-tests: New file.
27056         * tests/test-malloc-gnu.c: New file.
27057
27058 2010-08-28  Bruno Haible  <bruno@clisp.org>
27059
27060         Rename module 'realloc' -> 'realloc-gnu'.
27061         * modules/realloc-gnu: New file, copied from modules/realloc.
27062         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
27063         obsolete.
27064         * modules/mgetgroups (Depends-on): Update.
27065         * doc/posix-functions/realloc.texi: Update.
27066         * NEWS: Mention the change.
27067
27068         Rename module 'calloc' -> 'calloc-gnu'.
27069         * modules/calloc-gnu: New file, copied from modules/calloc.
27070         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
27071         obsolete.
27072         * doc/posix-functions/calloc.texi: Update.
27073         * NEWS: Mention the change.
27074
27075         Rename module 'malloc' -> 'malloc-gnu'.
27076         * modules/malloc-gnu: New file, copied from modules/malloc.
27077         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
27078         obsolete.
27079         * modules/argp (Depends-on): Update.
27080         * modules/regex (Depends-on): Update.
27081         * doc/posix-functions/malloc.texi: Update.
27082         * NEWS: Mention the change.
27083
27084 2010-08-28  Eric Blake  <eblake@redhat.com>
27085
27086         pread, pwrite: add missing dependency
27087         * modules/pread (Depends-on): Add extensions.
27088         * modules/pwrite (Depends-on): Likewise.
27089
27090 2010-08-28  Bruno Haible  <bruno@clisp.org>
27091
27092         unistr/u*-strchr: Fix tests dependencies.
27093         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
27094         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
27095         Reported by Ian Beckwith <ianb@erislabs.net>.
27096
27097 2010-08-28  Bruno Haible  <bruno@clisp.org>
27098
27099         read-file: Don't occupy too much unused memory.
27100         * lib/read-file.c (fread_file): Shrink the buffer at the end.
27101
27102 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
27103             Eric Blake  <eblake@redhat.com>
27104             Bruno Haible  <bruno@clisp.org>
27105
27106         read-file: Avoid memory reallocations with regular files.
27107         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
27108         (fread_file): With regular files, use the remaining length as the
27109         initial buffer size.  Check against overflow.
27110         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
27111         sys_stat.
27112
27113 2010-08-28  Bruno Haible  <bruno@clisp.org>
27114
27115         ftello: Relax license.
27116         * modules/ftello (License): Relax to LGPLv2+.
27117         Reported by Eric Blake.
27118
27119 2010-08-28  Bruno Haible  <bruno@clisp.org>
27120
27121         Avoid relocwrapper link errors due to gnulib replacement functions.
27122         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
27123         function.
27124         Reported by Ben Pfaff <blp@cs.stanford.edu>.
27125
27126 2010-08-28  Bruno Haible  <bruno@clisp.org>
27127
27128         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
27129         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
27130         defined.
27131         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
27132         Suggested by Eric Blake.
27133
27134 2010-08-28  Bruno Haible  <bruno@clisp.org>
27135
27136         sys_socket, netdb: Ensure socklen_t gets defined.
27137         * modules/sys_socket (Depends-on): Add socklen.
27138         * modules/netdb (Depends-on): Likewise.
27139         * modules/getaddrinfo (Depends-on): Remove socklen.
27140         * modules/getsockopt (Depends-on): Likewise.
27141         * modules/setsockopt (Depends-on): Likewise.
27142         * tests/test-sys_socket.c: Check that socklen_t is defined.
27143         * tests/test-netdb.c: Likewise.
27144         * m4/socklen.m4: Update comments.
27145         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
27146
27147 2010-08-27  Eric Blake  <eblake@redhat.com>
27148
27149         login_tty: add missing dependency
27150         * modules/login_tty (Depends-on): Add pty.
27151
27152 2010-08-26  Eric Blake  <eblake@redhat.com>
27153
27154         lib-symbol-versions: fix m4 quoting
27155         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
27156         format for AC_LINK_IFELSE.
27157
27158         glob: fix compile test
27159         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
27160
27161         btowc: fix missing file
27162         * modules/btowc (Files): Also ship locale-fr.m4.
27163
27164         lseek: fix link test
27165         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
27166         AC_LINK_IFELSE.
27167
27168         include_next: silence autoconf 2.68 warning
27169         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
27170         AC_COMPILE_IFELSE as special.
27171         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
27172         autoconf < 2.68.
27173
27174         acl: fix compilation test
27175         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
27176         AC_COMPILE_IFELSE.
27177
27178 2010-08-26  Bruno Haible  <bruno@clisp.org>
27179
27180         Modernize AC_TRY_RUN invocations.
27181         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
27182         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
27183         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
27184         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
27185         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
27186         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
27187         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
27188         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
27189         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
27190         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
27191         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
27192         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
27193         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
27194         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
27195         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
27196         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
27197         gl_MBRLEN_NUL_RETVAL): Likewise.
27198         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
27199         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
27200         Likewise.
27201         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
27202         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
27203         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
27204         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
27205         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
27206         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
27207         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
27208         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
27209         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
27210         Likewise.
27211         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
27212         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
27213         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
27214         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
27215         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
27216         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
27217         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
27218         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
27219         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
27220         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
27221
27222 2010-08-26  Bruno Haible  <bruno@clisp.org>
27223
27224         Modernize AC_TRY_LINK invocations.
27225         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
27226         AC_TRY_LINK.
27227         * m4/argp.m4 (gl_ARGP): Likewise.
27228         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
27229         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
27230         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
27231         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
27232         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
27233         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
27234         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
27235         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
27236         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
27237         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
27238         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
27239         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
27240         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
27241         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
27242         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
27243         * m4/hostent.m4 (gl_HOSTENT): Likewise.
27244         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
27245         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
27246         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
27247         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
27248         Likewise.
27249         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
27250         Likewise.
27251         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
27252         Likewise.
27253         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
27254         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
27255         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
27256         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
27257         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
27258         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
27259         * m4/servent.m4 (gl_SERVENT): Likewise.
27260         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
27261         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
27262         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
27263         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
27264         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
27265         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
27266         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
27267         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
27268         * modules/tsearch-tests (configure.ac): Likewise.
27269
27270 2010-08-26  Bruno Haible  <bruno@clisp.org>
27271
27272         Modernize AC_TRY_COMPILE invocations.
27273         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
27274         AC_TRY_COMPILE.
27275         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
27276         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
27277         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
27278         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
27279         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
27280         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
27281         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
27282         * m4/lock.m4 (gl_LOCK): Likewise.
27283         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
27284         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
27285         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
27286         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
27287         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
27288         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
27289         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
27290         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
27291         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
27292         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
27293         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
27294         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
27295         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
27296         extraneous semicolon.
27297
27298 2010-08-26  Jim Meyering  <meyering@redhat.com>
27299
27300         stat-time: relax license LGPL
27301         * modules/stat-time (License): Change from GPL to LGPL,
27302         with consent from all contributors, for use in libguile.
27303         Requested by Ludovic Courtès.
27304
27305 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
27306
27307         poll: return immediately on POLLHUP.
27308         * lib/poll.c (poll): Always set timeout before wait_timeout is
27309         computed.
27310
27311 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27312
27313         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
27314         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
27315         rmdir ("dir/.//"), unlinkat.
27316
27317 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
27318
27319         stdbool: avoid spurious failure with modern xlc
27320         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
27321
27322 2010-08-24  Bruno Haible  <bruno@clisp.org>
27323
27324         getloadavg: simplify code
27325         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
27326         gl_have_func. Update comments.
27327
27328 2010-08-24  Eric Blake  <eblake@redhat.com>
27329
27330         getloadavg: don't define SVR4 on cygwin
27331         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
27332         only define SVR4 when -lkvm is required.
27333         Reported by Yaakov Selkowitz.
27334
27335 2010-08-24  Bruno Haible  <bruno@clisp.org>
27336
27337         priv-set: fix comment
27338         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
27339
27340 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
27341
27342         priv-set: fix comments
27343         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
27344         to match code, as suggested by David Bartley in:
27345         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
27346
27347 2010-08-23  Eric Blake  <eblake@redhat.com>
27348
27349         stdbool: avoid rejecting clang
27350         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
27351         * tests/test-stdbool.c: Enable more tests if using the system
27352         <stdbool.h> instead of the gnulib replacement.
27353         (main): Move xlc bug test to a runtime test for all compilers.
27354         Reported by Anders Kaseorg.
27355
27356         argz: fix shell quoting issue
27357         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
27358         Reported by Charles Wilson.
27359
27360 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
27361             Erik Faye-Lund <kusmabite@gmail.com>
27362
27363         poll, select: handle ERROR_BROKEN_PIPE.
27364         * lib/poll.c (win32_compute_revents): Return POLLHUP when
27365         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
27366         * lib/select.c (win32_compute_revents): Do not mark a pipe
27367         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
27368
27369 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
27370
27371         fts: allow compilation with C++
27372         * lib/fts_.h: Specify extern "C" linkage with C++.
27373
27374 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27375
27376         Fix gnulib-tool sed script de-commentation for AIX sed.
27377         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
27378         sed.
27379
27380 2010-08-17  Eric Blake  <eblake@redhat.com>
27381
27382         test-stddef: test for (some) offsetof bugs
27383         * tests/test-stddef.c: Enhance test to ensure correct type of
27384         offsetof.
27385         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
27386         that we are not fixing at this time.
27387
27388 2010-08-15  Bruno Haible  <bruno@clisp.org>
27389
27390         stpncpy: Allow stpncpy to be defined as a macro.
27391         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
27392         if it's already correctly declared.
27393         * lib/string.in.h (stpncpy): Undefine before redefining.
27394         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
27395
27396 2010-08-14  Bruno Haible  <bruno@clisp.org>
27397
27398         Rename module 'memxfrm' to 'amemxfrm'.
27399         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
27400         (amemxfrm): Renamed from memxfrm.
27401         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
27402         (amemxfrm): Renamed from memxfrm.
27403         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
27404         * NEWS: Mention the change.
27405         * MODULES.html.sh (String handling <string.h>): Update.
27406         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
27407         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
27408         * lib/unicase/u16-casexfrm.c: Likewise.
27409         * lib/unicase/u32-casexfrm.c: Likewise.
27410         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
27411         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
27412         * lib/uninorm/u16-normxfrm.c: Likewise.
27413         * lib/uninorm/u32-normxfrm.c: Likewise.
27414         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
27415         memxfrm.
27416         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
27417         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
27418         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
27419         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
27420         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
27421         Suggested by Paul Eggert.
27422
27423 2010-08-14  Bruno Haible  <bruno@clisp.org>
27424
27425         Tests for module 'astrxfrm'.
27426         * modules/astrxfrm-tests: New file.
27427         * tests/test-astrxfrm.c: New file.
27428
27429         New module 'astrxfrm'.
27430         * lib/astrxfrm.h: New file.
27431         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
27432         * modules/astrxfrm: New file.
27433
27434 2010-08-14  Reuben Thomas <rrt@sc3d.org>
27435
27436         regex: Tweak doc.
27437         * doc/regex.texi (Overview): Don't mention regex.c.
27438         (GNU Regular Expression Compiling): Likewise.
27439         (Match-end-of-line Operator): Mention 'not_eol'.
27440
27441 2010-08-14  Brian Gough  <bjg@gnu.org>
27442             Bruno Haible  <bruno@clisp.org>
27443
27444         git-merge-changelog: add doc relating to use with bzr and hg.
27445         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
27446
27447 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
27448
27449         pthread: fix pthread.h creation for srcdir != builddir
27450         * modules/pthread (Makefile.am): Fix the rule to work also in a
27451         non-srcdir build.
27452
27453 2010-08-13  Karl Berry  <karl@gnu.org>
27454
27455         * doc/regex.texi (Predefined Syntaxes): @smallexample.
27456         * doc/posix-*/*: force line break before @url of POSIX
27457         specifications.
27458         Suggested by Werner Lemberg.
27459
27460 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
27461
27462         strtod: fix const diagnostic
27463         * lib/strtod.c (strtod): Don't assign const char * to char *,
27464         as this elicits a warning from GCC when warnings are enabled.
27465
27466 2010-08-10  Pádraig Brady <P@draigbrady.com>
27467         and Eric Blake  <eblake@redhat.com>
27468
27469         copy-acl: ignore ENOTSUP on HP-UX
27470         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
27471         so that it is available for HP-UX.
27472         * lib/copy-acl.c (qcopy_acl): Use it.
27473         Reported by Patrick M. Callahan.
27474
27475 2010-08-10  Eric Blake  <eblake@redhat.com>
27476
27477         open, chown: relax license
27478         * modules/open (License): Change to LGPLv2+, with consent by all
27479         authors, for use in augeas.
27480         * modules/chown (License): Likewise.
27481         * modules/lchown (Likewise): Likewise.
27482         Requested by Adam Stokes.
27483
27484 2010-08-09  Karl Berry  <karl@gnu.org>
27485
27486         * build-aux/ar-lib: new file, import from Automake.
27487         * config/srclist.txt: autocheck for updates.
27488
27489 2010-08-09  Eric Blake  <eblake@redhat.com>
27490
27491         readlinkat: adjust client modules
27492         * modules/areadlinkat (Depends-on): Use readlinkat, not
27493         symlinkat.
27494         * modules/areadlinkat-with-size (Depends-on): Likewise.
27495
27496         mknod: be more vocal about danger of running tests as root
27497         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
27498         root, since that is just asking for problems.
27499         Suggested by Bruno Haible, based on a report by Rainer Tammer.
27500
27501         readlinkat: split into its own module
27502         * modules/symlinkat: Split readlinkat...
27503         * modules/readlinkat: ...into separate module.
27504         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
27505         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
27506         * lib/symlinkat.c (readlinkat): Move...
27507         * lib/readlinkat.c: ...into new file.
27508         * modules/symlinkat-tests: Split readlinkat test...
27509         * modules/readlinkat-tests: ...into separate module.
27510         * tests/test-symlinkat.c: Split...
27511         * tests/test-readlinkat.c: ...into new file.
27512         * NEWS: Document the split.
27513         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
27514         * lib/unistd.in.h (readlinkat): Likewise.
27515         Suggested by Bruno Haible.
27516
27517 2010-08-08  Bruno Haible  <bruno@clisp.org>
27518
27519         memxfrm: Speed up.
27520         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
27521         that usually only one call to strxfrm is necessary for each string
27522         part.
27523         Reported by Paul Eggert <eggert@cs.ucla.edu>.
27524
27525 2010-08-07  Karl Berry  <karl@gnu.org>
27526
27527         * doc/posix-headers/limits.texi,
27528         * doc/posix-functions/malloc.texi,
27529         * doc/posix-functions/strsignal.texi: missing @item.
27530         * doc/ld-version-script.texi: spurious leading i.
27531         * doc/regex.texi (Interval Operators): no commas inside @var.
27532
27533 2010-08-01  Bruno Haible  <bruno@clisp.org>
27534
27535         Integrate the regex documentation.
27536         * doc/gnulib.texi: Define 'cn' index.
27537         (Regular expressions): New a chapter that includes regex.texi and
27538         regexprops-generic.texi.
27539         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
27540         syntax.
27541
27542         Whitespace cleanup.
27543         * doc/regex.texi: Remove trailing spaces.
27544
27545         Add regex documentation.
27546         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
27547         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
27548         Written by Kathy A. Hargreaves and Karl Berry.
27549
27550 2010-08-01  Bruno Haible  <bruno@clisp.org>
27551
27552         link: Update documentation.
27553         * doc/posix-functions/link.texi: Update regarding Solaris.
27554
27555 2010-07-31  Bruno Haible  <bruno@clisp.org>
27556
27557         Update modules list.
27558         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
27559         (String handling <string.h>): Add memcmp2, memxfrm.
27560         (Container data structures): Add xlist, xsublist, xoset.
27561         (Core language properties): Add alignof, unused-parameter.
27562         (Process control, Numeric conversion functions <stdlib.h>): Renamed
27563         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
27564         (Unibyte characters <ctype.h>): New section.
27565         (String handling <string.h>): New section.
27566         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
27567         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
27568         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
27569         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
27570         tan, tanh, tanl, y0, y1, yn.
27571         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
27572         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
27573         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
27574         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
27575         unlockpt, vdprintf, vdprintf-posix.
27576         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
27577         (File system functions): Add concat-filename, sys_file, sys_ioctl,
27578         xconcat-filename.
27579         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
27580         getdtablesize, pipe2, pipe2-safer.
27581         (Security): New section.
27582         (Networking functions): Add accept4.
27583         (Signal handling): Add sigpipe.
27584         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
27585         mbmemcasecoll.
27586         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
27587         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
27588         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
27589         pipe-filter-ii.
27590         (Misc): Add argp-version-etc, login_tty, parse-duration.
27591
27592 2010-07-31  Bruno Haible  <bruno@clisp.org>
27593
27594         Improve doc in MODULES.html.
27595         * modules/linkat (Description): Add the word "function".
27596         * modules/mkfifo (Description): Likewise.
27597         * modules/mknod (Description): Likewise.
27598         * modules/remove (Description): Likewise.
27599         * modules/renameat (Description): Likewise.
27600         * modules/stat (Description): Likewise.
27601         * modules/symlink (Description): Likewise.
27602         * modules/unlink (Description): Likewise.
27603
27604 2010-07-31  Bruno Haible  <bruno@clisp.org>
27605
27606         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
27607         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
27608         option --enable/disable-c++ instead of --enable/disable-cxx.
27609         * NEWS: Mention the change.
27610
27611 2010-07-31  Bruno Haible  <bruno@clisp.org>
27612
27613         readlink, areadlink: Relax test a bit.
27614         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
27615         alternative to ENOTDIR.
27616         * tests/test-areadlink.h (test_areadlink): Likewise.
27617         Reported by Rainer Tammer.
27618
27619 2010-07-31  Bruno Haible  <bruno@clisp.org>
27620
27621         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
27622         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
27623         character, perform the search using U_STRCHR.
27624         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
27625         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
27626         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
27627         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
27628         Suggested by Paolo Bonzini.
27629
27630 2010-07-31  Bruno Haible  <bruno@clisp.org>
27631
27632         unistr/u*-strstr: Fix dependencies.
27633         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
27634         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
27635         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
27636
27637 2010-07-31  Bruno Haible  <bruno@clisp.org>
27638
27639         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
27640         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
27641         the beginning of the loop.
27642         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
27643         cases in 'switch' statement.
27644
27645         unistr/u8-strchr: Fix several bugs.
27646         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
27647         the string. When not found, return NULL, not a pointer near the end.
27648
27649         More tests for unistr/u8-strchr.
27650         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
27651         that the function does not read past the first occurrence of the byte
27652         being searched.
27653         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
27654         * tests/unistr/test-u16-strchr.c (main): New function.
27655         * tests/unistr/test-u32-strchr.c (main): New function.
27656
27657 2010-07-31  Bruno Haible  <bruno@clisp.org>
27658
27659         posix-modules: Ignore backup files of documentation files.
27660         * posix-modules: grep only through files named *.texi.
27661
27662 2010-07-31  Bruno Haible  <bruno@clisp.org>
27663
27664         symlinkat: Fix documentation.
27665         * doc/posix-functions/readlinkat.texi: Fix module name.
27666
27667 2010-07-31  Bruno Haible  <bruno@clisp.org>
27668
27669         fchownat: Replace also when chown has the trailing slash bug.
27670         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
27671         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
27672         introduced on 2010-04-10.
27673         Reported by Rainer Tammer.
27674
27675 2010-07-31  Bruno Haible  <bruno@clisp.org>
27676
27677         linkat: Work around AIX 7.1 bug.
27678         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
27679         whether linkat handles trailing slash correctly. If not, replace linkat
27680         and define LINKAT_TRAILING_SLASH_BUG.
27681         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
27682         check whether (fd1,file1) points to a directory if file1 or file2 ends
27683         in a slash. Code taken from lib/link.c.
27684         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
27685         Reported by Rainer Tammer.
27686
27687 2010-07-31  Bruno Haible  <bruno@clisp.org>
27688
27689         Correctly determine whether pow is available in libc on AIX 7 with xlc.
27690         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
27691         This disables an xlc optimization that was causing wrong test results.
27692         Reported by Rainer Tammer.
27693
27694 2010-07-31  Bruno Haible  <bruno@clisp.org>
27695
27696         iconv: Work around AIX 6.1..7.1 bug.
27697         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
27698         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
27699         cross-compiling, guess no on all versions of AIX.
27700         Reported by Rainer Tammer.
27701
27702 2010-07-31  Bruno Haible  <bruno@clisp.org>
27703
27704         readlink: Relax test a bit.
27705         * tests/test-readlink.h (test_readlink): Allow different errno value
27706         when readlink is called with a file name that ends in / and refers to
27707         a file.
27708         Suggested by Eric Blake.
27709         Reported by Rainer Tammer.
27710
27711 2010-07-31  Bruno Haible  <bruno@clisp.org>
27712
27713         copysign: Does not require -lm on glibc systems.
27714         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
27715         gl_COMMON_DOUBLE_MATHFUNC.
27716         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
27717
27718 2010-07-31  Bruno Haible  <bruno@clisp.org>
27719
27720         duplocale: Work around AIX 7.1 bug.
27721         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
27722         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
27723         * lib/duplocale.c (rpl_duplocale): Update comment.
27724         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
27725         Reported by Rainer Tammer.
27726
27727 2010-07-30  Bruno Haible  <bruno@clisp.org>
27728
27729         dirfd: Avoid link error on AIX 7.1.
27730         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
27731         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
27732         exist, set REPLACE_DIRFD.
27733         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
27734         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
27735         * doc/posix-functions/dirfd.texi: Update.
27736         Reported by Rainer Tammer.
27737
27738 2010-07-30  Eric Blake  <eblake@redhat.com>
27739
27740         strtod: next round of AIX fixes
27741         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
27742         exponent.
27743         * tests/test-strtod.c (main): Enhance tests.
27744         * doc/posix-functions/strtod.texi (strtod): Document next bug.
27745         Reported by Rainer Tammer.
27746
27747         futimens: fix configure check
27748         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
27749         Reported by Bruno Haible.
27750
27751 2010-07-30  Bruno Haible  <bruno@clisp.org>
27752
27753         getline: Update regarding AIX.
27754         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
27755         Reported by Rainer Tammer.
27756
27757 2010-07-30  Bruno Haible  <bruno@clisp.org>
27758
27759         wcwidth: Drop replacement on AIX 7.
27760         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
27761         AIX 7.
27762         Reported by Rainer Tammer.
27763
27764 2010-07-30  Bruno Haible  <bruno@clisp.org>
27765
27766         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
27767         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
27768         a 'char *'.
27769         Reported by Rainer Tammer.
27770
27771 2010-07-30  Bruno Haible  <bruno@clisp.org>
27772
27773         unlink: Update regarding AIX.
27774         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
27775         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
27776         Reported by Rainer Tammer.
27777
27778 2010-07-30  Bruno Haible  <bruno@clisp.org>
27779
27780         symlink: Update regarding AIX.
27781         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
27782         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
27783         Reported by Rainer Tammer.
27784
27785 2010-07-30  Bruno Haible  <bruno@clisp.org>
27786
27787         strndup: Update regarding AIX.
27788         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
27789         AIX 7.
27790         Reported by Rainer Tammer.
27791
27792 2010-07-30  Bruno Haible  <bruno@clisp.org>
27793
27794         stat: Update regarding AIX.
27795         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
27796         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
27797         Reported by Rainer Tammer.
27798
27799 2010-07-30  Bruno Haible  <bruno@clisp.org>
27800
27801         truncl: Fix autoconf test.
27802         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
27803         whether truncl works.
27804         Reported by Rainer Tammer.
27805
27806 2010-07-30  Bruno Haible  <bruno@clisp.org>
27807
27808         round: Update regarding AIX.
27809         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
27810         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
27811         Reported by Rainer Tammer.
27812
27813 2010-07-30  Bruno Haible  <bruno@clisp.org>
27814
27815         rename: Update regarding AIX.
27816         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
27817         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
27818         Reported by Rainer Tammer.
27819
27820 2010-07-30  Bruno Haible  <bruno@clisp.org>
27821
27822         printf.m4: Update regarding AIX.
27823         * m4/printf.m4: Update comments regarding AIX.
27824         Reported by Rainer Tammer.
27825
27826 2010-07-30  Bruno Haible  <bruno@clisp.org>
27827
27828         iconv: Update regarding AIX.
27829         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
27830         AIX 7.
27831         Reported by Rainer Tammer.
27832
27833 2010-07-30  Bruno Haible  <bruno@clisp.org>
27834
27835         getopt: Update regarding AIX.
27836         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
27837         no on AIX.
27838         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
27839         Reported by Rainer Tammer.
27840
27841 2010-07-30  Bruno Haible  <bruno@clisp.org>
27842
27843         ldexpl; Update regarding AIX.
27844         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
27845         on AIX 7.
27846         Reported by Rainer Tammer.
27847
27848 2010-07-30  Bruno Haible  <bruno@clisp.org>
27849
27850         frexpl: Update regarding AIX.
27851         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
27852         on AIX 7.
27853         Reported by Rainer Tammer.
27854
27855 2010-07-30  Bruno Haible  <bruno@clisp.org>
27856
27857         open, fopen: Update regarding AIX.
27858         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
27859         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
27860         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
27861         * doc/posix-functions/fopen.texi: Likewise.
27862         Reported by Rainer Tammer.
27863
27864 2010-07-30  Bruno Haible  <bruno@clisp.org>
27865
27866         chown: Update doc regarding AIX.
27867         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
27868         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
27869         Reported by Rainer Tammer.
27870
27871 2010-07-30  Eric Blake  <eblake@redhat.com>
27872
27873         strtod: fix bug in replacement function on AIX
27874         * lib/strtod.c (strtod): Special case broken "0x" parse in
27875         underlying strtod.
27876         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
27877         * doc/posix-functions/strtod.texi (strtod): Likewise.
27878         Reported by Rainer Tammer.
27879
27880 2010-07-30  Bruno Haible  <bruno@clisp.org>
27881
27882         mbrlen: Fix cross-compilation guess for AIX.
27883         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
27884         guess. Leftover from 2008-12-22.
27885
27886 2010-07-30  Bruno Haible  <bruno@clisp.org>
27887
27888         mbrtowc: Fix cross-compilation guess for AIX.
27889         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
27890         guess. Leftover from 2008-12-21.
27891
27892 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
27893
27894         init.sh: work around trap limitation of some shells
27895         * tests/init.sh (setup_): Move exit trap outside of shell function.
27896
27897 2010-07-29  Eric Blake  <eblake@redhat.com>
27898
27899         strtod: aid debugging
27900         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
27901         understanding why strtod is rejected.
27902
27903 2010-07-28  Bruno Haible  <bruno@clisp.org>
27904
27905         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
27906         * lib/unistr/u8-chr.c: Include <string.h>.
27907         * tests/unistr/test-u8-chr.c: Likewise.
27908         * tests/unistr/test-u16-chr.c: Likewise.
27909         * tests/unistr/test-u32-chr.c: Likewise.
27910         * tests/unistr/test-u8-strchr.c: Likewise.
27911         * tests/unistr/test-u16-strchr.c: Likewise.
27912         * tests/unistr/test-u32-strchr.c: Likewise.
27913         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
27914         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
27915         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
27916         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
27917
27918 2010-07-28  Bruno Haible  <bruno@clisp.org>
27919
27920         Use spaces for indentation, not tabs.
27921         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
27922
27923 2010-07-27  Bruno Haible  <bruno@clisp.org>
27924
27925         mbspcasecmp: Fix function specification.
27926         * lib/string.in.h (mbspcasecmp): Fix specification comment.
27927         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
27928         Reported by Eric Blake <eblake@redhat.com>.
27929
27930 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
27931
27932         timespec: use cast and not conditional, as truncation isn't possible
27933         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
27934         instead of a conditional.  Comment about the situation in more detail.
27935         This undoes most of the 2009-10-29 patch.
27936
27937 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
27938
27939         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
27940         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
27941         * lib/unistr/u8-strchr.c: Likewise.
27942         * modules/unistr/u8-chr: Depend on memchr.
27943
27944         unistr/u*-strchr: add tests
27945         * modules/unistr/u8-strchr-tests: New file.
27946         * modules/unistr/u16-strchr-tests: New file.
27947         * modules/unistr/u32-strchr-tests: New file.
27948         * tests/unistr/test-strchr.h: New file.
27949         * tests/unistr/test-u8-strchr.c: New file.
27950         * tests/unistr/test-u16-strchr.c: New file.
27951         * tests/unistr/test-u32-strchr.c: New file.
27952
27953         unistr/u*-chr: test multibyte sequences more
27954         * tests/unistr/test-chr.h: Do complete testing of the characters in the
27955         test vector.
27956         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
27957         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
27958         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
27959
27960         unistr/u*-chr: test multibyte sequences
27961         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
27962
27963         unistr/u*-chr: prepare for multibyte tests
27964         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
27965         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
27966         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
27967         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
27968         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
27969         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
27970
27971 2010-07-18  Bruno Haible  <bruno@clisp.org>
27972
27973         unistr/u8-strchr: Optimize non-ASCII argument case.
27974         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
27975         because the first byte often matches anyway.
27976         Reported by Pádraig Brady <P@draigbrady.com>.
27977
27978 2010-07-15  Karl Berry  <karl@gnu.org>
27979
27980         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
27981
27982 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
27983
27984         getcwd: on Solaris, work better if ancestors are inaccessible
27985         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
27986         buffer and size, try again with a large buffer.  This works better
27987         on Solaris, since its getcwd succeeds even if the path to the root
27988         is inaccessible, and this is helpful in common cases such as .zfs
27989         hidden directories.  Problem reported by J Chapman Flack in
27990         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
27991         Use system getcwd if it's declared, not merely if it's partly
27992         working; use the partly-working test only to avoid needless effort
27993         if the system getcwd fails.
27994         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
27995         comment that was already obsolete and is now even more obsolete.
27996         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
27997         now might call strdup.
27998
27999 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
28000
28001         pthread: Add enough so that coreutils/src/sort.c compiles.
28002         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
28003         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
28004         gnulib. Include <sched.h> and <time.h>, as per POSIX.
28005         Include <sys/types.h>, in case it defines pthread_t.
28006         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
28007         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
28008         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
28009         (pthread_rwlockattr_t, pthread_spinlock_t):
28010         New typedefs, if HAVE_PTHREAD_T is not defined.
28011         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
28012         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
28013         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
28014         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
28015         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
28016         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
28017         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
28018         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
28019         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
28020         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
28021         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
28022         New macros.
28023         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
28024         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
28025         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
28026         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
28027         (pthread_spin_unlock): New dummy functions.
28028         (pthread_create): Return EAGAIN; don't set errno.
28029         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
28030         require AC_C_INLINE.
28031         * modules/pthread (Depends-on): Add sched, time.
28032         (pthread.h): Use AM_V_GEN.
28033
28034 2010-07-13  Bruno Haible  <bruno@clisp.org>
28035
28036         striconveh: Don't malloc memory if the result buffer is sufficient.
28037         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
28038         buffer if its size is sufficient.
28039         Reported by Ludovic Courtès <ludo@gnu.org>.
28040
28041 2010-07-13  Bruno Haible  <bruno@clisp.org>
28042
28043         strtod: Add safety check.
28044         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
28045
28046 2010-07-12  Bruno Haible  <bruno@clisp.org>
28047
28048         Unify tests that set gl_cv_func_ldexpl_no_libm.
28049         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
28050         gl_FUNC_LDEXPL.
28051         (gl_FUNC_LDEXPL): Invoke it.
28052         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
28053
28054 2010-07-12  Bruno Haible  <bruno@clisp.org>
28055
28056         Unify tests that set gl_cv_func_ldexp_no_libm.
28057         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
28058         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
28059         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
28060         (configure.ac): Simply invoke gl_FUNC_LDEXP.
28061         * modules/strtod (Files): Add m4/ldexp.m4.
28062
28063 2010-07-12  Bruno Haible  <bruno@clisp.org>
28064
28065         Unify tests that set gl_cv_func_frexpl_no_libm.
28066         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
28067         gl_FUNC_FREXPL_NO_LIBM.
28068         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
28069         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
28070
28071 2010-07-12  Bruno Haible  <bruno@clisp.org>
28072
28073         Unify tests that set gl_cv_func_frexp_no_libm.
28074         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
28075         gl_FUNC_FREXP_NO_LIBM.
28076         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
28077         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
28078
28079 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
28080
28081         memcoll: clarify sizes versus lengths, document better, and tweak perf
28082         * lib/memcoll.c (strcoll_loop, memcoll0):
28083         Improve quality of descriptive comments.  Name variables
28084         consistently as to whether they are lengths (which do not include
28085         terminating null) versus sizes (which do).
28086         * lib/xmemcoll.c (xmemcoll0): Likewise.
28087         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
28088         returned when s1size == 0; this is easier to compile and saves
28089         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
28090
28091 2010-07-12  Bruno Haible  <bruno@clisp.org>
28092
28093         Tests for module '_Exit'.
28094         * modules/_Exit-tests: New file.
28095         * tests/test-_Exit.sh: New file.
28096         * tests/test-_Exit.c: New file.
28097
28098         New module '_Exit'.
28099         * lib/stdlib.in.h (__attribute__): New macro.
28100         (_Exit): New declaration.
28101         * lib/_Exit.c: New file.
28102         * m4/_Exit.m4: New file.
28103         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
28104         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
28105         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
28106         * modules/_Exit: New file.
28107         * tests/test-stdlib-c++.cc (_Exit): Check signature.
28108         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
28109
28110 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
28111
28112         strtod: make it more-accurate typically, and don't require libm
28113         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
28114         Include limits.h.  Don't include string.h.
28115         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
28116         (locale_isspace): New function, so that no casts are needed to
28117         check whether *s is a space.
28118         (ldexp): Provide an unused dummy if not available.
28119         (scale_radix_exp, parse_number, underlying_strtod): New functions.
28120         (strtod): Use them.  This implementation prefers to use the
28121         underlying strtod if available, falling back on our own code
28122         only to fix known bugs.  This is more likely to produce an
28123         accurate result.  Also, it avoids the use of libm functions.
28124         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
28125         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
28126         was absent, but it caused a test failure with coreutils.
28127         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
28128         with libm.
28129         * modules/strtod (Makefile.am, Link): libm is no longer needed.
28130         * modules/strtod-tests (Makefile.am): Likewise.
28131
28132 2010-07-11  Pádraig Brady  <P@draigBrady.com>
28133             Bruno Haible  <bruno@clisp.org>
28134
28135         unistr/u8-strchr: Optimize ASCII argument case.
28136         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
28137
28138 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
28139
28140         (x)memcoll: minor tweaks
28141         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
28142         is after the type that it qualifies.
28143         (memcoll0): Likewise.
28144         * lib/memcoll.h (memcoll0): Likewise.
28145         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
28146         * lib/xmemcoll.h (xmemcoll0): Likewise.
28147         * lib/memcoll.c (memcoll0): Correct the comment.  This function
28148         differs from memcoll in that the NUL byte is part of the argument.
28149         Omit the abort-checks, as performance is a real issue here.  Plus,
28150         the checks were wrong anyway (an off-by-one error).  Omit local
28151         variable 'diff', as it's a bit clearer that way.
28152         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
28153         no longer needed.
28154
28155 2010-07-08  Chen Guo <chenguo4@yahoo.com>
28156
28157         (x)memcoll: speedup when input is known to be NUL delimited
28158         * lib/memcoll.c: Include stdlib.
28159         (memcoll0): New function.
28160         (strcoll_loop): New function, refactored for use in both memcoll
28161         and memcoll0.
28162         * lib/memcoll.h (memcoll0): Add prototype.
28163         * lib/xmemcoll.c (xmemcoll0): New function.
28164         (collate_error): New function, refactored for use in both xmemcoll
28165         and xmemcoll0.
28166         * lib/xmemcoll.h (xmemcoll0): Add prototype.
28167         * m4/memcoll.m4: add inline invocation.
28168
28169 2010-07-06  Pádraig Brady  <P@draigBrady.com>
28170
28171         * build-aux/bootstrap: Remove any local translations
28172         from the translation project synchronization directory,
28173         so that local only translations are not distributed.
28174
28175 2010-07-04  Bruno Haible  <bruno@clisp.org>
28176
28177         fsusage: Clarify which code applies to which platforms.
28178         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
28179         platform.
28180         * lib/fsusage.c (get_fs_usage): Likewise.
28181
28182 2010-07-04  Bruno Haible  <bruno@clisp.org>
28183
28184         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
28185         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
28186         Reported by Martin Lambers <marlam@marlam.de>.
28187
28188 2010-07-04  Jim Meyering  <meyering@redhat.com>
28189
28190         hash: once again explicitly disallow insertion of NULL
28191         * lib/hash.c (hash_insert0): Reinstate just-removed test:
28192         inserting a NULL pointer cannot work with these functions.
28193         Add a comment with details.
28194         This reverts part of the 2010-07-01 commit, 5bef1a35
28195         "hash: extend module to deal with non-pointer keys".
28196
28197 2010-07-01  Bruno Haible  <bruno@clisp.org>
28198
28199         stdbool: Update doc.
28200         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
28201         Info from Christian Weisgerber <naddy@mips.inka.de>.
28202
28203 2010-07-01  Jim Meyering  <meyering@redhat.com>
28204
28205         hash: extend module to deal with non-pointer keys
28206         * lib/hash.c (hash_insert0): New interface, much like hash_insert
28207         but that allows insertion of non-pointer entries.
28208         Do not disallow an ENTRY value of NULL.
28209         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
28210         * lib/hash.h (hash_insert0): Declare.
28211
28212 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
28213
28214         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
28215         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
28216         not present (i.e. with autoconf 2.59 and when using gettextize, not
28217         gnulib), require AC_GNU_SOURCE instead.
28218
28219 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
28220
28221         idpriv-drop: Fix tests.
28222         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
28223         not to the test-idpriv-droptemp program.
28224
28225 2010-06-29  Bruno Haible  <bruno@clisp.org>
28226
28227         string: Fix syntax error with g++ 2.96.
28228         * lib/string.in.h (__pure__): Remove definition.
28229         (_GL_ATTRIBUTE_PURE): New macro.
28230         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
28231         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
28232         Reported by Christian Weisgerber <naddy@mips.inka.de>.
28233
28234 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
28235
28236         unitypes: Fix bug introduced on 2010-05-18.
28237         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
28238
28239 2010-06-22  Eric Blake  <eblake@redhat.com>
28240
28241         memmem: slight optimization
28242         * lib/str-two-way.h (critical_factorization): Update comments.
28243         Reduce work during factorization phase.
28244         Reported by Carlos Bueno <carlos@bueno.org>.
28245
28246 2010-06-21  Bruno Haible  <bruno@clisp.org>
28247
28248         Fix HAVE_CALLOC_POSIX misnomer.
28249         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
28250         !HAVE_CALLOC_POSIX.
28251         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
28252         HAVE_CALLOC_POSIX.
28253         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
28254         instead of HAVE_CALLOC_POSIX.
28255         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
28256         HAVE_CALLOC_POSIX.
28257
28258         Use modern idiom for calloc() replacement.
28259         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
28260         AC_FUNC_CALLOC.
28261         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
28262         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
28263         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
28264         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
28265         (gl_REPLACE_CALLOC): New macro.
28266
28267 2010-06-21  Bruno Haible  <bruno@clisp.org>
28268
28269         Fix HAVE_REALLOC_POSIX misnomer.
28270         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
28271         !HAVE_REALLOC_POSIX.
28272         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
28273         HAVE_REALLOC_POSIX.
28274         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
28275         instead of HAVE_REALLOC_POSIX.
28276         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
28277         HAVE_REALLOC_POSIX.
28278
28279         Use modern idiom for realloc() replacement.
28280         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
28281         AC_FUNC_REALLOC.
28282         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
28283         Autoconf's AC_FUNC_REALLOC.
28284         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
28285         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
28286         (gl_REPLACE_REALLOC): New macro.
28287         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
28288
28289 2010-06-21  Bruno Haible  <bruno@clisp.org>
28290
28291         Fix HAVE_MALLOC_POSIX misnomer.
28292         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
28293         !HAVE_MALLOC_POSIX.
28294         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
28295         HAVE_MALLOC_POSIX.
28296         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
28297         instead of HAVE_MALLOC_POSIX.
28298         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
28299         HAVE_MALLOC_POSIX.
28300
28301         Use modern idiom for malloc() replacement.
28302         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
28303         AC_FUNC_MALLOC.
28304         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
28305         Autoconf's AC_FUNC_MALLOC.
28306         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
28307         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
28308         (gl_REPLACE_MALLOC): New macro.
28309         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
28310
28311 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
28312
28313         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
28314         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
28315         This macro takes 3 arguments, not 4.
28316
28317 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
28318
28319         ipv6: fix detection under mingw
28320         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
28321         in6_addr.
28322
28323 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
28324
28325         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
28326         that strtod() works when cross-compiling to a glibc version known
28327         to work.
28328
28329 2010-06-15  Bruno Haible  <bruno@clisp.org>
28330
28331         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
28332
28333 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
28334
28335         select: Correct timeout.
28336         * lib/select.c (rpl_select): Compute wait_timeout correctly.
28337
28338 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
28339
28340         git-version-gen: init shell var to avoid env var influence
28341         * build-aux/git-version-gen (v): Init shell var to empty.
28342
28343 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
28344
28345         priv-set: Don't assume that priv.h exists merely because getppriv does.
28346         See Jan Andersen's bug report about AIX 5L in
28347         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
28348         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
28349         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
28350         * lib/priv-set.h: Likewise.
28351         * tests/test-priv-set.c: Likewise.
28352
28353 2010-06-13  Bruno Haible  <bruno@clisp.org>
28354
28355         relocatable: Make it easier to test whether to install wrappers.
28356         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
28357         RELOCATABLE_VIA_WRAPPER.
28358
28359 2010-06-13  Bruno Haible  <bruno@clisp.org>
28360
28361         gnulib-tool: Display specified modules and dependencies differently.
28362         * gnulib-tool (func_show_module_list): New function.
28363         (func_import, func_create_testdir): Invoke it.
28364         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
28365
28366 2010-06-13  Bruno Haible  <bruno@clisp.org>
28367
28368         gnulib-tool: Align code of func_import and func_create_testdir.
28369         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
28370         specified_modules.
28371
28372 2010-06-12  Jim Meyering  <meyering@redhat.com>
28373
28374         test-inttostr: avoid spurious failure on Solaris 9
28375         * tests/test-inttostr.c (main): Skip the test when snprintf fails
28376         to accept "%ju".  Reported by Bruno Haible.
28377
28378 2010-06-11  Jim Meyering  <meyering@redhat.com>
28379
28380         test-sys_socket: mark variables as used more readably
28381         * tests/test-sys_socket.c (main): Mark otherwise unused variables
28382         as "used" explicitly via (void) statement casts.  This is more
28383         readable than using them in an artificial return expression.
28384         Suggestion from Bruno Haible.
28385
28386 2010-06-11  Bruno Haible  <bruno@clisp.org>
28387
28388         Avoid some more warnings from "gcc -Wwrite-strings".
28389         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
28390         to 'const char *'.
28391         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
28392         * tests/test-c-strcasestr.c (main): Likewise.
28393         * tests/test-mbscasestr1.c (main): Likewise.
28394         * tests/test-mbscasestr2.c (main): Likewise.
28395         * tests/test-memmem.c (main): Likewise.
28396         * tests/test-strstr.c (main): Likewise.
28397         * tests/test-strcasestr.c (main): Likewise.
28398
28399 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28400
28401         init.sh: change framework_failure_ to fail with status 99, not 1
28402         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
28403         automake's parallel-tests rule that this is an unexpected failure,
28404         even if the test is listed in XFAIL_TESTS.
28405
28406 2010-06-11  Jim Meyering  <meyering@redhat.com>
28407
28408         test-inttostr: avoid warnings about 4-6KB literal strings
28409         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
28410         Include "macros.h", for its definition of ASSERT.
28411         (CK): s/assert/ASSERT/
28412         * modules/inttostr-tests (Files): Add macros.h.
28413
28414         init.sh: don't use $ME_ or skip_ before they are defined
28415         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
28416         their first uses.  Also hoist their companions: warn_, fail_,
28417         framework_failure_, $stderr_fileno.  Prompted by a patch from
28418         Stefano Lattarini.
28419
28420         test-sys_socket: avoid set-but-not-used warnings from gcc
28421         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
28422         avoid warning about set-but-not-used variables.
28423
28424         test-xvasprintf: avoid 'const' discard warnings
28425         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
28426         "const" when assigning from literal strings.
28427         (test_xasprintf): Add "void" in function argument list to placate
28428         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
28429
28430         tests: avoid compilation warnings in argmatch and exclude tests...
28431         in packages that define ARGMATCH_DIE_DECL, like coreutils.
28432         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
28433         Since it always exits, declare with the "noreturn" attribute.
28434         * tests/test-argmatch.c: Likewise.
28435
28436         tests: avoid 'const' discard warnings in mbsstr tests
28437         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
28438         * tests/test-mbsstr2.c (main): Likewise.
28439
28440         test-verify: avoid warning from gcc's -Wmissing-declarations
28441         * tests/test-verify.c (function): Declare to be static.
28442
28443         test-inttostr.c: include <string.h> for use of strcmp
28444         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
28445
28446         test-linkat: avoid failed assertion on "other" architectures
28447         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
28448         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
28449         sparc: https://bugs.launchpad.net/bugs/591968
28450
28451 2010-06-11  Jim Meyering  <meyering@redhat.com>
28452
28453         printf.m4: avoid autoconf's "Expanded Before Required" warning
28454         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
28455         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
28456         autoconf warning.
28457
28458 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
28459
28460         Replacement header templates are now named with ".in", not "_".
28461         * doc/gnulib-intro.texi: Correct.
28462
28463 2010-06-10  Jim Meyering  <meyering@redhat.com>
28464
28465         inttostr-tests: depend on snprintf, not snprintf-posix
28466         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
28467         snprintf-posix, to avoid this aclocal failure:
28468           missing file gnulib-tests/vasnprintf.c
28469           configure.ac:45: error: expected source file, required through \
28470           AC_LIBSOURCES, not found
28471
28472 2010-06-10  Jim Meyering  <meyering@redhat.com>
28473
28474         inttostr: add a new function, inttostr, and tests
28475         The namesake function was not available.  The existence of the
28476         template file, inttostr.c makes its addition nontrivial.
28477         * lib/anytostr.c: Rename from inttostr.c.
28478         (anytostr): Rename from inttostr.
28479         * lib/inttostr.c: New file.
28480         * modules/inttostr (Files): Add anytostr.c.
28481         (Makefile.am): Set lib_SOURCES instead of ...
28482         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
28483         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
28484         * lib/offtostr.c: Likewise.
28485         * lib/uinttostr.c: Likewise.
28486         * lib/umaxtostr.c: Likewise.
28487         * modules/inttostr-tests: New file.
28488         * tests/test-inttostr.c: New file.  Test these functions.
28489
28490 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
28491             Bruno Haible  <bruno@clisp.org>
28492
28493         Add "Extending Gnulib" chapter to manual.
28494         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
28495         chapter.
28496         (Extending Gnulib): New chapter.
28497         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
28498         chapter.
28499
28500 2010-06-09  Bruno Haible  <bruno@clisp.org>
28501
28502         Avoid relocwrapper link errors due to gnulib replacement functions.
28503         * lib/areadlink.c: Use the system's malloc, realloc functions.
28504         (areadlink): Set errno to ENOMEM explicitly.
28505         * modules/areadlink (Depends-on): Remove malloc-posix.
28506         Reported by Ben Pfaff <blp@cs.stanford.edu>.
28507
28508 2010-06-09  Bruno Haible  <bruno@clisp.org>
28509
28510         Avoid relocwrapper link errors due to gnulib replacement functions.
28511         * lib/canonicalize-lgpl.c: Use the system's malloc function.
28512         * lib/malloca.c: Likewise.
28513         * lib/relocatable.c: Likewise.
28514         * lib/progreloc.c: Use the system's malloc, sprintf functions.
28515         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
28516         * lib/setenv.c: Use the system's malloc, realloc functions.
28517         * lib/strerror.c: Use the system's sprintf function.
28518         Reported by Ben Pfaff <blp@cs.stanford.edu>.
28519
28520 2010-06-04  Bruno Haible  <bruno@clisp.org>
28521
28522         Prefer documented low-level autoconf macro names.
28523         * m4/lib-link.m4: Use m4_translit instead of translit.
28524         * m4/environ.m4: Likewise.
28525         * m4/mathfunc.m4: Likewise.
28526         * m4/onceonly.m4: Likewise.
28527         * m4/stdint.m4: Likewise.
28528         Suggested by Eric Blake.
28529
28530 2010-06-04  Martin Lambers  <marlam@marlam.de>
28531             Bruno Haible  <bruno@clisp.org>
28532
28533         havelib: Allow library names with '+' characters.
28534         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
28535         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
28536
28537 2010-06-09  Bruno Haible  <bruno@clisp.org>
28538
28539         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
28540         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
28541         realloc failed.
28542
28543 2010-06-08  Peter Simons  <simons@cryp.to>
28544
28545         maint.mk: make the news-check rule more configurable
28546         * top/maint.mk (news-check-lines-spec): New variable.
28547         (news-check): Use "sed -n 1,10p" in place of "head".
28548
28549 2010-06-07  Jim Meyering  <meyering@redhat.com>
28550
28551         do-release-commit-and-tag: fix typo in --help
28552         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
28553
28554         regex: avoid new dead-code warning with gcc-4.6.0
28555         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
28556         if-block containing a while-loop.  It's been unused for at least
28557         5 years.
28558
28559 2010-06-05  Bruno Haible  <bruno@clisp.org>
28560
28561         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
28562         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
28563
28564 2010-06-04  Bruno Haible  <bruno@clisp.org>
28565
28566         Update to GNU gettext 0.18.1.
28567         * modules/gettext (configure.ac): Require gettext infrastructure from
28568         version 0.18.1.
28569
28570 2010-06-03  Bruno Haible  <bruno@clisp.org>
28571
28572         Don't use AC_LIBOBJ with file names in subdirectories.
28573         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
28574         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
28575         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
28576         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
28577         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
28578         gl_LIBUNISTRING_LIBSOURCE.
28579         (Makefile.am): Augment lib_SOURCES here, conditionally.
28580         * NEWS: Drop requirement for Automake option 'subdir-objects'.
28581
28582 2010-06-03  Bruno Haible  <bruno@clisp.org>
28583
28584         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
28585         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
28586         expansion does not end with a newline.
28587         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
28588         unnecessary newline.
28589
28590 2010-06-03  Bruno Haible  <bruno@clisp.org>
28591
28592         Reduce dependencies.
28593         * tests/test-quotearg.h: New file, extracted from
28594         tests/test-quotearg.c.
28595         * tests/test-quotearg-simple.c: New file, extracted from
28596         tests/test-quotearg.c.
28597         * tests/test-quotearg.c: Don't include <ctype.h>.
28598         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
28599         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
28600         use_quote_double_quotes, use_quotearg_colon): Moved to
28601         tests/test-quotearg.h.
28602         (results_g, flag_results, custom_quotes, custom_results): Moved
28603         to tests/test-quotearg-simple.c.
28604         (main): Moved the part that does not depend on gettext to
28605         tests/test-quotearg-simple.c. Return 77 if the test cannot be
28606         performed.
28607         * modules/quotearg-simple: New file.
28608         * modules/quotearg-simple-tests: New file.
28609         * modules/quotearg (Depends-on): Add quotearg-simple.
28610         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
28611         (Files): Add tests/test-quotearg.h.
28612         Reported by Paolo Bonzini.
28613
28614 2010-06-03  Bruno Haible  <bruno@clisp.org>
28615
28616         Reduce dependencies.
28617         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
28618
28619 2010-06-03  Bruno Haible  <bruno@clisp.org>
28620
28621         time: Undefine more broken macros.
28622         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
28623         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
28624         Reported by Eric Blake.
28625
28626 2010-06-03  Bruno Haible  <bruno@clisp.org>
28627
28628         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
28629         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
28630         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
28631         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
28632         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
28633         Reported by Ludovic Courtès <ludo@gnu.org>.
28634
28635 2010-06-02  Eric Blake  <eblake@redhat.com>
28636
28637         time: work with mingw + pthreads-win32 library
28638         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
28639         if timespec is defined only in pthread.h.
28640         * modules/time (Makefile.am): Substitute it.
28641         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
28642         <pthread.h>, when needed.
28643         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
28644         from the library.
28645
28646 2010-05-31  Bruno Haible  <bruno@clisp.org>
28647
28648         Avoid expanding two macros in the wrong order.
28649         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
28650         gl_LIBUNISTRING if it is defined.
28651         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
28652         autoconf >= 2.64.
28653         Reported by Ludovic Courtès <ludo@gnu.org>.
28654
28655 2010-05-27  Jim Meyering  <meyering@redhat.com>
28656
28657         maint.mk: also prohibit "#undef" of always-defined symbols
28658         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
28659         Allow more than one space before the symbol name.
28660         (sc_prohibit_always-defined_macros): Use grep's -E, now that
28661         the regexp uses alternation.
28662
28663 2010-05-26  Eric Blake  <eblake@redhat.com>
28664
28665         maint.mk: avoid echo -e
28666         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
28667         Convert all uses of echo -* to printf.
28668         Reported by Matthias Bolte.
28669
28670 2010-05-25  Bruno Haible  <bruno@clisp.org>
28671
28672         Update to GNU gettext 0.18, part 2.
28673         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
28674         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
28675
28676 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28677
28678         Add missing include in test-pwrite.c.
28679         * tests/test-pwrite.c: Include string.h, for strcmp.
28680
28681 2010-05-24  Bruno Haible  <bruno@clisp.org>
28682
28683         * NEWS: Mention requirement for Automake option 'subdir-objects'.
28684
28685 2010-05-24  Bruno Haible  <bruno@clisp.org>
28686
28687         Don't use conversion with transliteration in u{8,16,32}_strcoll.
28688         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
28689         iconveh_error argument.
28690         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
28691         U_STRCONV_TO_LOCALE.
28692         * lib/unistr/u16-strcoll.c: Likewise.
28693         * lib/unistr/u32-strcoll.c: Likewise.
28694         * modules/unistr/u8-strcoll (Depends-on): Add
28695         uniconv/u8-strconv-to-enc, localcharset. Remove
28696         uniconv/u8-strconv-to-locale.
28697         (configure.ac): Bump version number.
28698         * modules/unistr/u16-strcoll (Depends-on): Add
28699         uniconv/u16-strconv-to-enc, localcharset. Remove
28700         uniconv/u16-strconv-to-locale.
28701         (configure.ac): Bump version number.
28702         * modules/unistr/u32-strcoll (Depends-on): Add
28703         uniconv/u32-strconv-to-enc, localcharset. Remove
28704         uniconv/u32-strconv-to-locale.
28705         (configure.ac): Bump version number.
28706
28707 2010-05-24  Bruno Haible  <bruno@clisp.org>
28708
28709         Avoid a test failure on NetBSD 5.0.
28710         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
28711         an iconv() bug.
28712
28713 2010-05-24  Bruno Haible  <bruno@clisp.org>
28714
28715         Adjust #include directive style.
28716         * modules/regex (Includes): Recommend to write <regex.h>.
28717
28718 2010-05-24  Bruno Haible  <bruno@clisp.org>
28719
28720         regex: Don't require alloca.
28721         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
28722         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
28723         only inside if (0).
28724
28725 2010-05-23  Jim Meyering  <meyering@redhat.com>
28726
28727         test-renameat.c: include <sys/stat.h>
28728         * tests/test-renameat.c: Include <sys/stat.h>; required for
28729         definition of S_IS* macros.
28730
28731 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
28732
28733         Update maintainer documentation for 'relocatable-prog' module.
28734         * doc/relocatable-maint.texi: Update.
28735         Comments by Bruno Haible.
28736
28737 2010-05-23  Bruno Haible  <bruno@clisp.org>
28738
28739         git-merge-changelog: Enable --split-merged-entry by default.
28740         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
28741         (usage): Don't mention this option any more.
28742         Reported by Ralf Wildenhues.
28743
28744 2010-05-23  Jim Meyering  <meyering@redhat.com>
28745
28746         test-pwrite: do not leave behind a test file named "out"
28747         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
28748         The trivial-looking use of init.sh is really necessary.
28749         It ensures that the temporary file, "out", is created in
28750         a temporary directory, and removed upon termination.
28751         * tests/test-pwrite.sh: Re-add file.
28752         * modules/pwrite-tests: Reference it.
28753
28754 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28755
28756         Fix output redirection buglet in init.sh.
28757         * tests/init.sh: Fix redirection of stderr.
28758
28759 2010-05-20  Simon Josefsson  <simon@josefsson.org>
28760
28761         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
28762
28763 2010-05-17  Simon Josefsson  <simon@josefsson.org>
28764
28765         * modules/valgrind-tests: New file.
28766         * m4/valgrind-tests.m4: New file.
28767         * doc/valgrind-tests.texi: New file.
28768         * doc/gnulib.texi (Running self-tests under valgrind): New
28769         section.
28770
28771 2010-05-19  Bruno Haible  <bruno@clisp.org>
28772
28773         Clean up dead code in recent commit.
28774         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
28775         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
28776         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
28777         Suggested by Paolo Bonzini.
28778
28779 2010-05-19  Bruno Haible  <bruno@clisp.org>
28780
28781         Avoid valgrind error reports from libunistring.
28782         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
28783         * modules/libunistring (Files): Add it.
28784         * modules/libunistring-optional (Files): Likewise.
28785
28786 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
28787             Bruno Haible  <bruno@clisp.org>
28788
28789         New module 'libunistring-optional'.
28790         * modules/libunistring-optional: New file.
28791         * m4/libunistring-base.m4: New file.
28792         * m4/libunistring-optional.m4: New file.
28793         * lib/unicase.in.h: Renamed from lib/unicase.h.
28794         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
28795         * lib/unictype.in.h: Renamed from lib/unictype.h.
28796         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
28797         * lib/uniname.in.h: Renamed from lib/uniname.h.
28798         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
28799         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
28800         * lib/unistr.in.h: Renamed from lib/unistr.h.
28801         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
28802         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
28803         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
28804         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
28805         gl_LIBUNISTRING. If the library was found, determine the installed
28806         version and set LIBUNISTRING_VERSION.
28807         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
28808         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
28809         handle a configuration option --with-included-libunistring.
28810         * modules/libunistring (Files): Add m4/absolute-header.m4.
28811         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
28812         Add m4/libunistring-base.m4.
28813         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28814         (Makefile.am): Build unicase.h from unicase.in.h.
28815         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
28816         Add m4/libunistring-base.m4.
28817         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28818         (Makefile.am): Build uniconv.h from uniconv.in.h.
28819         * modules/unictype/base (Files): Use unictype.in.h instead of
28820         unictype.h. Add m4/libunistring-base.m4.
28821         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28822         (Makefile.am): Build unictype.h from unictype.in.h.
28823         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
28824         Add m4/libunistring-base.m4.
28825         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28826         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
28827         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
28828         Add m4/libunistring-base.m4.
28829         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28830         (Makefile.am): Build uniname.h from uniname.in.h.
28831         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
28832         Add m4/libunistring-base.m4.
28833         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28834         (Makefile.am): Build uninorm.h from uninorm.in.h.
28835         * modules/unistdio/base (Files): Use unistdio.in.h instead of
28836         unistdio.h. Add m4/libunistring-base.m4.
28837         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28838         (Makefile.am): Build unistdio.h from unistdio.in.h.
28839         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
28840         Add m4/libunistring-base.m4.
28841         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28842         (Makefile.am): Build unistr.h from unistr.in.h.
28843         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
28844         Add m4/libunistring-base.m4.
28845         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28846         (Makefile.am): Build unitypes.h from unitypes.in.h.
28847         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
28848         Add m4/libunistring-base.m4.
28849         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28850         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
28851         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
28852         uniwidth.h. Add m4/libunistring-base.m4.
28853         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28854         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
28855         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
28856         instead of augmenting lib_SOURCES.
28857         * modules/unicase/empty-suffix-context: Likewise.
28858         * modules/unicase/locale-language: Likewise.
28859         * modules/unicase/tolower: Likewise.
28860         * modules/unicase/totitle: Likewise.
28861         * modules/unicase/toupper: Likewise.
28862         * modules/unicase/u8-casecmp: Likewise.
28863         * modules/unicase/u8-casecoll: Likewise.
28864         * modules/unicase/u8-casefold: Likewise.
28865         * modules/unicase/u8-casexfrm: Likewise.
28866         * modules/unicase/u8-ct-casefold: Likewise.
28867         * modules/unicase/u8-ct-tolower: Likewise.
28868         * modules/unicase/u8-ct-totitle: Likewise.
28869         * modules/unicase/u8-ct-toupper: Likewise.
28870         * modules/unicase/u8-is-cased: Likewise.
28871         * modules/unicase/u8-is-casefolded: Likewise.
28872         * modules/unicase/u8-is-lowercase: Likewise.
28873         * modules/unicase/u8-is-titlecase: Likewise.
28874         * modules/unicase/u8-is-uppercase: Likewise.
28875         * modules/unicase/u8-prefix-context: Likewise.
28876         * modules/unicase/u8-suffix-context: Likewise.
28877         * modules/unicase/u8-tolower: Likewise.
28878         * modules/unicase/u8-totitle: Likewise.
28879         * modules/unicase/u8-toupper: Likewise.
28880         * modules/unicase/u16-casecmp: Likewise.
28881         * modules/unicase/u16-casecoll: Likewise.
28882         * modules/unicase/u16-casefold: Likewise.
28883         * modules/unicase/u16-casexfrm: Likewise.
28884         * modules/unicase/u16-ct-casefold: Likewise.
28885         * modules/unicase/u16-ct-tolower: Likewise.
28886         * modules/unicase/u16-ct-totitle: Likewise.
28887         * modules/unicase/u16-ct-toupper: Likewise.
28888         * modules/unicase/u16-is-cased: Likewise.
28889         * modules/unicase/u16-is-casefolded: Likewise.
28890         * modules/unicase/u16-is-lowercase: Likewise.
28891         * modules/unicase/u16-is-titlecase: Likewise.
28892         * modules/unicase/u16-is-uppercase: Likewise.
28893         * modules/unicase/u16-prefix-context: Likewise.
28894         * modules/unicase/u16-suffix-context: Likewise.
28895         * modules/unicase/u16-tolower: Likewise.
28896         * modules/unicase/u16-totitle: Likewise.
28897         * modules/unicase/u16-toupper: Likewise.
28898         * modules/unicase/u32-casecmp: Likewise.
28899         * modules/unicase/u32-casecoll: Likewise.
28900         * modules/unicase/u32-casefold: Likewise.
28901         * modules/unicase/u32-casexfrm: Likewise.
28902         * modules/unicase/u32-ct-casefold: Likewise.
28903         * modules/unicase/u32-ct-tolower: Likewise.
28904         * modules/unicase/u32-ct-totitle: Likewise.
28905         * modules/unicase/u32-ct-toupper: Likewise.
28906         * modules/unicase/u32-is-cased: Likewise.
28907         * modules/unicase/u32-is-casefolded: Likewise.
28908         * modules/unicase/u32-is-lowercase: Likewise.
28909         * modules/unicase/u32-is-titlecase: Likewise.
28910         * modules/unicase/u32-is-uppercase: Likewise.
28911         * modules/unicase/u32-prefix-context: Likewise.
28912         * modules/unicase/u32-suffix-context: Likewise.
28913         * modules/unicase/u32-tolower: Likewise.
28914         * modules/unicase/u32-totitle: Likewise.
28915         * modules/unicase/u32-toupper: Likewise.
28916         * modules/unicase/ulc-casecmp: Likewise.
28917         * modules/unicase/ulc-casecoll: Likewise.
28918         * modules/unicase/ulc-casexfrm: Likewise.
28919         * modules/uniconv/u8-conv-from-enc: Likewise.
28920         * modules/uniconv/u8-conv-to-enc: Likewise.
28921         * modules/uniconv/u8-strconv-from-enc: Likewise.
28922         * modules/uniconv/u8-strconv-from-locale: Likewise.
28923         * modules/uniconv/u8-strconv-to-enc: Likewise.
28924         * modules/uniconv/u8-strconv-to-locale: Likewise.
28925         * modules/uniconv/u16-conv-from-enc: Likewise.
28926         * modules/uniconv/u16-conv-to-enc: Likewise.
28927         * modules/uniconv/u16-strconv-from-enc: Likewise.
28928         * modules/uniconv/u16-strconv-from-locale: Likewise.
28929         * modules/uniconv/u16-strconv-to-enc: Likewise.
28930         * modules/uniconv/u16-strconv-to-locale: Likewise.
28931         * modules/uniconv/u32-conv-from-enc: Likewise.
28932         * modules/uniconv/u32-conv-to-enc: Likewise.
28933         * modules/uniconv/u32-strconv-from-enc: Likewise.
28934         * modules/uniconv/u32-strconv-from-locale: Likewise.
28935         * modules/uniconv/u32-strconv-to-enc: Likewise.
28936         * modules/uniconv/u32-strconv-to-locale: Likewise.
28937         * modules/unictype/bidicategory-byname: Likewise.
28938         * modules/unictype/bidicategory-name: Likewise.
28939         * modules/unictype/bidicategory-of: Likewise.
28940         * modules/unictype/bidicategory-test: Likewise.
28941         * modules/unictype/block-list: Likewise.
28942         * modules/unictype/block-test: Likewise.
28943         * modules/unictype/category-C: Likewise.
28944         * modules/unictype/category-Cc: Likewise.
28945         * modules/unictype/category-Cf: Likewise.
28946         * modules/unictype/category-Cn: Likewise.
28947         * modules/unictype/category-Co: Likewise.
28948         * modules/unictype/category-Cs: Likewise.
28949         * modules/unictype/category-L: Likewise.
28950         * modules/unictype/category-Ll: Likewise.
28951         * modules/unictype/category-Lm: Likewise.
28952         * modules/unictype/category-Lo: Likewise.
28953         * modules/unictype/category-Lt: Likewise.
28954         * modules/unictype/category-Lu: Likewise.
28955         * modules/unictype/category-M: Likewise.
28956         * modules/unictype/category-Mc: Likewise.
28957         * modules/unictype/category-Me: Likewise.
28958         * modules/unictype/category-Mn: Likewise.
28959         * modules/unictype/category-N: Likewise.
28960         * modules/unictype/category-Nd: Likewise.
28961         * modules/unictype/category-Nl: Likewise.
28962         * modules/unictype/category-No: Likewise.
28963         * modules/unictype/category-P: Likewise.
28964         * modules/unictype/category-Pc: Likewise.
28965         * modules/unictype/category-Pd: Likewise.
28966         * modules/unictype/category-Pe: Likewise.
28967         * modules/unictype/category-Pf: Likewise.
28968         * modules/unictype/category-Pi: Likewise.
28969         * modules/unictype/category-Po: Likewise.
28970         * modules/unictype/category-Ps: Likewise.
28971         * modules/unictype/category-S: Likewise.
28972         * modules/unictype/category-Sc: Likewise.
28973         * modules/unictype/category-Sk: Likewise.
28974         * modules/unictype/category-Sm: Likewise.
28975         * modules/unictype/category-So: Likewise.
28976         * modules/unictype/category-Z: Likewise.
28977         * modules/unictype/category-Zl: Likewise.
28978         * modules/unictype/category-Zp: Likewise.
28979         * modules/unictype/category-Zs: Likewise.
28980         * modules/unictype/category-and: Likewise.
28981         * modules/unictype/category-and-not: Likewise.
28982         * modules/unictype/category-byname: Likewise.
28983         * modules/unictype/category-name: Likewise.
28984         * modules/unictype/category-none: Likewise.
28985         * modules/unictype/category-of: Likewise.
28986         * modules/unictype/category-or: Likewise.
28987         * modules/unictype/category-test: Likewise.
28988         * modules/unictype/combining-class: Likewise.
28989         * modules/unictype/ctype-alnum: Likewise.
28990         * modules/unictype/ctype-alpha: Likewise.
28991         * modules/unictype/ctype-blank: Likewise.
28992         * modules/unictype/ctype-cntrl: Likewise.
28993         * modules/unictype/ctype-digit: Likewise.
28994         * modules/unictype/ctype-graph: Likewise.
28995         * modules/unictype/ctype-lower: Likewise.
28996         * modules/unictype/ctype-print: Likewise.
28997         * modules/unictype/ctype-punct: Likewise.
28998         * modules/unictype/ctype-space: Likewise.
28999         * modules/unictype/ctype-upper: Likewise.
29000         * modules/unictype/ctype-xdigit: Likewise.
29001         * modules/unictype/decimal-digit: Likewise.
29002         * modules/unictype/digit: Likewise.
29003         * modules/unictype/mirror: Likewise.
29004         * modules/unictype/numeric: Likewise.
29005         * modules/unictype/property-alphabetic: Likewise.
29006         * modules/unictype/property-ascii-hex-digit: Likewise.
29007         * modules/unictype/property-bidi-arabic-digit: Likewise.
29008         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
29009         * modules/unictype/property-bidi-block-separator: Likewise.
29010         * modules/unictype/property-bidi-boundary-neutral: Likewise.
29011         * modules/unictype/property-bidi-common-separator: Likewise.
29012         * modules/unictype/property-bidi-control: Likewise.
29013         * modules/unictype/property-bidi-embedding-or-override: Likewise.
29014         * modules/unictype/property-bidi-eur-num-separator: Likewise.
29015         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
29016         * modules/unictype/property-bidi-european-digit: Likewise.
29017         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
29018         * modules/unictype/property-bidi-left-to-right: Likewise.
29019         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
29020         * modules/unictype/property-bidi-other-neutral: Likewise.
29021         * modules/unictype/property-bidi-pdf: Likewise.
29022         * modules/unictype/property-bidi-segment-separator: Likewise.
29023         * modules/unictype/property-bidi-whitespace: Likewise.
29024         * modules/unictype/property-byname: Likewise.
29025         * modules/unictype/property-combining: Likewise.
29026         * modules/unictype/property-composite: Likewise.
29027         * modules/unictype/property-currency-symbol: Likewise.
29028         * modules/unictype/property-dash: Likewise.
29029         * modules/unictype/property-decimal-digit: Likewise.
29030         * modules/unictype/property-default-ignorable-code-point: Likewise.
29031         * modules/unictype/property-deprecated: Likewise.
29032         * modules/unictype/property-diacritic: Likewise.
29033         * modules/unictype/property-extender: Likewise.
29034         * modules/unictype/property-format-control: Likewise.
29035         * modules/unictype/property-grapheme-base: Likewise.
29036         * modules/unictype/property-grapheme-extend: Likewise.
29037         * modules/unictype/property-grapheme-link: Likewise.
29038         * modules/unictype/property-hex-digit: Likewise.
29039         * modules/unictype/property-hyphen: Likewise.
29040         * modules/unictype/property-id-continue: Likewise.
29041         * modules/unictype/property-id-start: Likewise.
29042         * modules/unictype/property-ideographic: Likewise.
29043         * modules/unictype/property-ids-binary-operator: Likewise.
29044         * modules/unictype/property-ids-trinary-operator: Likewise.
29045         * modules/unictype/property-ignorable-control: Likewise.
29046         * modules/unictype/property-iso-control: Likewise.
29047         * modules/unictype/property-join-control: Likewise.
29048         * modules/unictype/property-left-of-pair: Likewise.
29049         * modules/unictype/property-line-separator: Likewise.
29050         * modules/unictype/property-logical-order-exception: Likewise.
29051         * modules/unictype/property-lowercase: Likewise.
29052         * modules/unictype/property-math: Likewise.
29053         * modules/unictype/property-non-break: Likewise.
29054         * modules/unictype/property-not-a-character: Likewise.
29055         * modules/unictype/property-numeric: Likewise.
29056         * modules/unictype/property-other-alphabetic: Likewise.
29057         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
29058         * modules/unictype/property-other-grapheme-extend: Likewise.
29059         * modules/unictype/property-other-id-continue: Likewise.
29060         * modules/unictype/property-other-id-start: Likewise.
29061         * modules/unictype/property-other-lowercase: Likewise.
29062         * modules/unictype/property-other-math: Likewise.
29063         * modules/unictype/property-other-uppercase: Likewise.
29064         * modules/unictype/property-paired-punctuation: Likewise.
29065         * modules/unictype/property-paragraph-separator: Likewise.
29066         * modules/unictype/property-pattern-syntax: Likewise.
29067         * modules/unictype/property-pattern-white-space: Likewise.
29068         * modules/unictype/property-private-use: Likewise.
29069         * modules/unictype/property-punctuation: Likewise.
29070         * modules/unictype/property-quotation-mark: Likewise.
29071         * modules/unictype/property-radical: Likewise.
29072         * modules/unictype/property-sentence-terminal: Likewise.
29073         * modules/unictype/property-soft-dotted: Likewise.
29074         * modules/unictype/property-space: Likewise.
29075         * modules/unictype/property-terminal-punctuation: Likewise.
29076         * modules/unictype/property-test: Likewise.
29077         * modules/unictype/property-titlecase: Likewise.
29078         * modules/unictype/property-unassigned-code-value: Likewise.
29079         * modules/unictype/property-unified-ideograph: Likewise.
29080         * modules/unictype/property-uppercase: Likewise.
29081         * modules/unictype/property-variation-selector: Likewise.
29082         * modules/unictype/property-white-space: Likewise.
29083         * modules/unictype/property-xid-continue: Likewise.
29084         * modules/unictype/property-xid-start: Likewise.
29085         * modules/unictype/property-zero-width: Likewise.
29086         * modules/unictype/scripts: Likewise.
29087         * modules/unictype/syntax-c-ident: Likewise.
29088         * modules/unictype/syntax-c-whitespace: Likewise.
29089         * modules/unictype/syntax-java-ident: Likewise.
29090         * modules/unictype/syntax-java-whitespace: Likewise.
29091         * modules/unilbrk/u8-possible-linebreaks: Likewise.
29092         * modules/unilbrk/u8-width-linebreaks: Likewise.
29093         * modules/unilbrk/u16-possible-linebreaks: Likewise.
29094         * modules/unilbrk/u16-width-linebreaks: Likewise.
29095         * modules/unilbrk/u32-possible-linebreaks: Likewise.
29096         * modules/unilbrk/u32-width-linebreaks: Likewise.
29097         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
29098         * modules/unilbrk/ulc-width-linebreaks: Likewise.
29099         * modules/uniname/uniname: Likewise.
29100         * modules/uninorm/canonical-decomposition: Likewise.
29101         * modules/uninorm/composition: Likewise.
29102         * modules/uninorm/decomposing-form: Likewise.
29103         * modules/uninorm/decomposition: Likewise.
29104         * modules/uninorm/filter: Likewise.
29105         * modules/uninorm/nfc: Likewise.
29106         * modules/uninorm/nfd: Likewise.
29107         * modules/uninorm/nfkc: Likewise.
29108         * modules/uninorm/nfkd: Likewise.
29109         * modules/uninorm/u8-normalize: Likewise.
29110         * modules/uninorm/u8-normcmp: Likewise.
29111         * modules/uninorm/u8-normcoll: Likewise.
29112         * modules/uninorm/u8-normxfrm: Likewise.
29113         * modules/uninorm/u16-normalize: Likewise.
29114         * modules/uninorm/u16-normcmp: Likewise.
29115         * modules/uninorm/u16-normcoll: Likewise.
29116         * modules/uninorm/u16-normxfrm: Likewise.
29117         * modules/uninorm/u32-normalize: Likewise.
29118         * modules/uninorm/u32-normcmp: Likewise.
29119         * modules/uninorm/u32-normcoll: Likewise.
29120         * modules/uninorm/u32-normxfrm: Likewise.
29121         * modules/unistdio/u8-asnprintf: Likewise.
29122         * modules/unistdio/u8-asprintf: Likewise.
29123         * modules/unistdio/u8-snprintf: Likewise.
29124         * modules/unistdio/u8-sprintf: Likewise.
29125         * modules/unistdio/u8-u8-asnprintf: Likewise.
29126         * modules/unistdio/u8-u8-asprintf: Likewise.
29127         * modules/unistdio/u8-u8-snprintf: Likewise.
29128         * modules/unistdio/u8-u8-sprintf: Likewise.
29129         * modules/unistdio/u8-u8-vasnprintf: Likewise.
29130         * modules/unistdio/u8-u8-vasprintf: Likewise.
29131         * modules/unistdio/u8-u8-vsnprintf: Likewise.
29132         * modules/unistdio/u8-u8-vsprintf: Likewise.
29133         * modules/unistdio/u8-vasnprintf: Likewise.
29134         * modules/unistdio/u8-vasprintf: Likewise.
29135         * modules/unistdio/u8-vsnprintf: Likewise.
29136         * modules/unistdio/u8-vsprintf: Likewise.
29137         * modules/unistdio/u16-asnprintf: Likewise.
29138         * modules/unistdio/u16-asprintf: Likewise.
29139         * modules/unistdio/u16-snprintf: Likewise.
29140         * modules/unistdio/u16-sprintf: Likewise.
29141         * modules/unistdio/u16-u16-asnprintf: Likewise.
29142         * modules/unistdio/u16-u16-asprintf: Likewise.
29143         * modules/unistdio/u16-u16-snprintf: Likewise.
29144         * modules/unistdio/u16-u16-sprintf: Likewise.
29145         * modules/unistdio/u16-u16-vasnprintf: Likewise.
29146         * modules/unistdio/u16-u16-vasprintf: Likewise.
29147         * modules/unistdio/u16-u16-vsnprintf: Likewise.
29148         * modules/unistdio/u16-u16-vsprintf: Likewise.
29149         * modules/unistdio/u16-vasnprintf: Likewise.
29150         * modules/unistdio/u16-vasprintf: Likewise.
29151         * modules/unistdio/u16-vsnprintf: Likewise.
29152         * modules/unistdio/u16-vsprintf: Likewise.
29153         * modules/unistdio/u32-asnprintf: Likewise.
29154         * modules/unistdio/u32-asprintf: Likewise.
29155         * modules/unistdio/u32-snprintf: Likewise.
29156         * modules/unistdio/u32-sprintf: Likewise.
29157         * modules/unistdio/u32-u32-asnprintf: Likewise.
29158         * modules/unistdio/u32-u32-asprintf: Likewise.
29159         * modules/unistdio/u32-u32-snprintf: Likewise.
29160         * modules/unistdio/u32-u32-sprintf: Likewise.
29161         * modules/unistdio/u32-u32-vasnprintf: Likewise.
29162         * modules/unistdio/u32-u32-vasprintf: Likewise.
29163         * modules/unistdio/u32-u32-vsnprintf: Likewise.
29164         * modules/unistdio/u32-u32-vsprintf: Likewise.
29165         * modules/unistdio/u32-vasnprintf: Likewise.
29166         * modules/unistdio/u32-vasprintf: Likewise.
29167         * modules/unistdio/u32-vsnprintf: Likewise.
29168         * modules/unistdio/u32-vsprintf: Likewise.
29169         * modules/unistdio/ulc-asnprintf: Likewise.
29170         * modules/unistdio/ulc-asprintf: Likewise.
29171         * modules/unistdio/ulc-fprintf: Likewise.
29172         * modules/unistdio/ulc-snprintf: Likewise.
29173         * modules/unistdio/ulc-sprintf: Likewise.
29174         * modules/unistdio/ulc-vasnprintf: Likewise.
29175         * modules/unistdio/ulc-vasprintf: Likewise.
29176         * modules/unistdio/ulc-vfprintf: Likewise.
29177         * modules/unistdio/ulc-vsnprintf: Likewise.
29178         * modules/unistdio/ulc-vsprintf: Likewise.
29179         * modules/unistr/u8-check: Likewise.
29180         * modules/unistr/u8-chr: Likewise.
29181         * modules/unistr/u8-cmp: Likewise.
29182         * modules/unistr/u8-cmp2: Likewise.
29183         * modules/unistr/u8-cpy: Likewise.
29184         * modules/unistr/u8-cpy-alloc: Likewise.
29185         * modules/unistr/u8-endswith: Likewise.
29186         * modules/unistr/u8-mblen: Likewise.
29187         * modules/unistr/u8-mbsnlen: Likewise.
29188         * modules/unistr/u8-mbtouc: Likewise.
29189         * modules/unistr/u8-mbtouc-unsafe: Likewise.
29190         * modules/unistr/u8-mbtoucr: Likewise.
29191         * modules/unistr/u8-move: Likewise.
29192         * modules/unistr/u8-next: Likewise.
29193         * modules/unistr/u8-prev: Likewise.
29194         * modules/unistr/u8-set: Likewise.
29195         * modules/unistr/u8-startswith: Likewise.
29196         * modules/unistr/u8-stpcpy: Likewise.
29197         * modules/unistr/u8-stpncpy: Likewise.
29198         * modules/unistr/u8-strcat: Likewise.
29199         * modules/unistr/u8-strchr: Likewise.
29200         * modules/unistr/u8-strcmp: Likewise.
29201         * modules/unistr/u8-strcoll: Likewise.
29202         * modules/unistr/u8-strcpy: Likewise.
29203         * modules/unistr/u8-strcspn: Likewise.
29204         * modules/unistr/u8-strdup: Likewise.
29205         * modules/unistr/u8-strlen: Likewise.
29206         * modules/unistr/u8-strmblen: Likewise.
29207         * modules/unistr/u8-strmbtouc: Likewise.
29208         * modules/unistr/u8-strncat: Likewise.
29209         * modules/unistr/u8-strncmp: Likewise.
29210         * modules/unistr/u8-strncpy: Likewise.
29211         * modules/unistr/u8-strnlen: Likewise.
29212         * modules/unistr/u8-strpbrk: Likewise.
29213         * modules/unistr/u8-strrchr: Likewise.
29214         * modules/unistr/u8-strspn: Likewise.
29215         * modules/unistr/u8-strstr: Likewise.
29216         * modules/unistr/u8-strtok: Likewise.
29217         * modules/unistr/u8-to-u16: Likewise.
29218         * modules/unistr/u8-to-u32: Likewise.
29219         * modules/unistr/u8-uctomb: Likewise.
29220         * modules/unistr/u16-check: Likewise.
29221         * modules/unistr/u16-chr: Likewise.
29222         * modules/unistr/u16-cmp: Likewise.
29223         * modules/unistr/u16-cmp2: Likewise.
29224         * modules/unistr/u16-cpy: Likewise.
29225         * modules/unistr/u16-cpy-alloc: Likewise.
29226         * modules/unistr/u16-endswith: Likewise.
29227         * modules/unistr/u16-mblen: Likewise.
29228         * modules/unistr/u16-mbsnlen: Likewise.
29229         * modules/unistr/u16-mbtouc: Likewise.
29230         * modules/unistr/u16-mbtouc-unsafe: Likewise.
29231         * modules/unistr/u16-mbtoucr: Likewise.
29232         * modules/unistr/u16-move: Likewise.
29233         * modules/unistr/u16-next: Likewise.
29234         * modules/unistr/u16-prev: Likewise.
29235         * modules/unistr/u16-set: Likewise.
29236         * modules/unistr/u16-startswith: Likewise.
29237         * modules/unistr/u16-stpcpy: Likewise.
29238         * modules/unistr/u16-stpncpy: Likewise.
29239         * modules/unistr/u16-strcat: Likewise.
29240         * modules/unistr/u16-strchr: Likewise.
29241         * modules/unistr/u16-strcmp: Likewise.
29242         * modules/unistr/u16-strcoll: Likewise.
29243         * modules/unistr/u16-strcpy: Likewise.
29244         * modules/unistr/u16-strcspn: Likewise.
29245         * modules/unistr/u16-strdup: Likewise.
29246         * modules/unistr/u16-strlen: Likewise.
29247         * modules/unistr/u16-strmblen: Likewise.
29248         * modules/unistr/u16-strmbtouc: Likewise.
29249         * modules/unistr/u16-strncat: Likewise.
29250         * modules/unistr/u16-strncmp: Likewise.
29251         * modules/unistr/u16-strncpy: Likewise.
29252         * modules/unistr/u16-strnlen: Likewise.
29253         * modules/unistr/u16-strpbrk: Likewise.
29254         * modules/unistr/u16-strrchr: Likewise.
29255         * modules/unistr/u16-strspn: Likewise.
29256         * modules/unistr/u16-strstr: Likewise.
29257         * modules/unistr/u16-strtok: Likewise.
29258         * modules/unistr/u16-to-u32: Likewise.
29259         * modules/unistr/u16-to-u8: Likewise.
29260         * modules/unistr/u16-uctomb: Likewise.
29261         * modules/unistr/u32-check: Likewise.
29262         * modules/unistr/u32-chr: Likewise.
29263         * modules/unistr/u32-cmp: Likewise.
29264         * modules/unistr/u32-cmp2: Likewise.
29265         * modules/unistr/u32-cpy: Likewise.
29266         * modules/unistr/u32-cpy-alloc: Likewise.
29267         * modules/unistr/u32-endswith: Likewise.
29268         * modules/unistr/u32-mblen: Likewise.
29269         * modules/unistr/u32-mbsnlen: Likewise.
29270         * modules/unistr/u32-mbtouc: Likewise.
29271         * modules/unistr/u32-mbtouc-unsafe: Likewise.
29272         * modules/unistr/u32-mbtoucr: Likewise.
29273         * modules/unistr/u32-move: Likewise.
29274         * modules/unistr/u32-next: Likewise.
29275         * modules/unistr/u32-prev: Likewise.
29276         * modules/unistr/u32-set: Likewise.
29277         * modules/unistr/u32-startswith: Likewise.
29278         * modules/unistr/u32-stpcpy: Likewise.
29279         * modules/unistr/u32-stpncpy: Likewise.
29280         * modules/unistr/u32-strcat: Likewise.
29281         * modules/unistr/u32-strchr: Likewise.
29282         * modules/unistr/u32-strcmp: Likewise.
29283         * modules/unistr/u32-strcoll: Likewise.
29284         * modules/unistr/u32-strcpy: Likewise.
29285         * modules/unistr/u32-strcspn: Likewise.
29286         * modules/unistr/u32-strdup: Likewise.
29287         * modules/unistr/u32-strlen: Likewise.
29288         * modules/unistr/u32-strmblen: Likewise.
29289         * modules/unistr/u32-strmbtouc: Likewise.
29290         * modules/unistr/u32-strncat: Likewise.
29291         * modules/unistr/u32-strncmp: Likewise.
29292         * modules/unistr/u32-strncpy: Likewise.
29293         * modules/unistr/u32-strnlen: Likewise.
29294         * modules/unistr/u32-strpbrk: Likewise.
29295         * modules/unistr/u32-strrchr: Likewise.
29296         * modules/unistr/u32-strspn: Likewise.
29297         * modules/unistr/u32-strstr: Likewise.
29298         * modules/unistr/u32-strtok: Likewise.
29299         * modules/unistr/u32-to-u16: Likewise.
29300         * modules/unistr/u32-to-u8: Likewise.
29301         * modules/unistr/u32-uctomb: Likewise.
29302         * modules/uniwbrk/u8-wordbreaks: Likewise.
29303         * modules/uniwbrk/u16-wordbreaks: Likewise.
29304         * modules/uniwbrk/u32-wordbreaks: Likewise.
29305         * modules/uniwbrk/ulc-wordbreaks: Likewise.
29306         * modules/uniwbrk/wordbreak-property: Likewise.
29307         * modules/uniwidth/u8-strwidth: Likewise.
29308         * modules/uniwidth/u8-width: Likewise.
29309         * modules/uniwidth/u16-strwidth: Likewise.
29310         * modules/uniwidth/u16-width: Likewise.
29311         * modules/uniwidth/u32-strwidth: Likewise.
29312         * modules/uniwidth/u32-width: Likewise.
29313         * modules/uniwidth/width: Likewise.
29314         * modules/unicase/cased-tests (Makefile.am): Link all test programs
29315         with $(LIBUNISTRING).
29316         * modules/unicase/ignorable-tests: Likewise.
29317         * modules/unicase/locale-language-tests: Likewise.
29318         * modules/unicase/tolower-tests: Likewise.
29319         * modules/unicase/totitle-tests: Likewise.
29320         * modules/unicase/toupper-tests: Likewise.
29321         * modules/unicase/u8-casecmp-tests: Likewise.
29322         * modules/unicase/u8-casecoll-tests: Likewise.
29323         * modules/unicase/u8-casefold-tests: Likewise.
29324         * modules/unicase/u8-is-cased-tests: Likewise.
29325         * modules/unicase/u8-is-casefolded-tests: Likewise.
29326         * modules/unicase/u8-is-lowercase-tests: Likewise.
29327         * modules/unicase/u8-is-titlecase-tests: Likewise.
29328         * modules/unicase/u8-is-uppercase-tests: Likewise.
29329         * modules/unicase/u8-tolower-tests: Likewise.
29330         * modules/unicase/u8-totitle-tests: Likewise.
29331         * modules/unicase/u8-toupper-tests: Likewise.
29332         * modules/unicase/u16-casecmp-tests: Likewise.
29333         * modules/unicase/u16-casecoll-tests: Likewise.
29334         * modules/unicase/u16-casefold-tests: Likewise.
29335         * modules/unicase/u16-is-cased-tests: Likewise.
29336         * modules/unicase/u16-is-casefolded-tests: Likewise.
29337         * modules/unicase/u16-is-lowercase-tests: Likewise.
29338         * modules/unicase/u16-is-titlecase-tests: Likewise.
29339         * modules/unicase/u16-is-uppercase-tests: Likewise.
29340         * modules/unicase/u16-tolower-tests: Likewise.
29341         * modules/unicase/u16-totitle-tests: Likewise.
29342         * modules/unicase/u16-toupper-tests: Likewise.
29343         * modules/unicase/u32-casecmp-tests: Likewise.
29344         * modules/unicase/u32-casecoll-tests: Likewise.
29345         * modules/unicase/u32-casefold-tests: Likewise.
29346         * modules/unicase/u32-is-cased-tests: Likewise.
29347         * modules/unicase/u32-is-casefolded-tests: Likewise.
29348         * modules/unicase/u32-is-lowercase-tests: Likewise.
29349         * modules/unicase/u32-is-titlecase-tests: Likewise.
29350         * modules/unicase/u32-is-uppercase-tests: Likewise.
29351         * modules/unicase/u32-tolower-tests: Likewise.
29352         * modules/unicase/u32-totitle-tests: Likewise.
29353         * modules/unicase/u32-toupper-tests: Likewise.
29354         * modules/unicase/ulc-casecmp-tests: Likewise.
29355         * modules/unicase/ulc-casecoll-tests: Likewise.
29356         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
29357         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
29358         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
29359         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
29360         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
29361         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
29362         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
29363         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
29364         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
29365         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
29366         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
29367         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
29368         * modules/unictype/bidicategory-byname-tests: Likewise.
29369         * modules/unictype/bidicategory-name-tests: Likewise.
29370         * modules/unictype/bidicategory-of-tests: Likewise.
29371         * modules/unictype/bidicategory-test-tests: Likewise.
29372         * modules/unictype/block-list-tests: Likewise.
29373         * modules/unictype/block-of-tests: Likewise.
29374         * modules/unictype/block-test-tests: Likewise.
29375         * modules/unictype/category-C-tests: Likewise.
29376         * modules/unictype/category-Cc-tests: Likewise.
29377         * modules/unictype/category-Cf-tests: Likewise.
29378         * modules/unictype/category-Cn-tests: Likewise.
29379         * modules/unictype/category-Co-tests: Likewise.
29380         * modules/unictype/category-Cs-tests: Likewise.
29381         * modules/unictype/category-L-tests: Likewise.
29382         * modules/unictype/category-Ll-tests: Likewise.
29383         * modules/unictype/category-Lm-tests: Likewise.
29384         * modules/unictype/category-Lo-tests: Likewise.
29385         * modules/unictype/category-Lt-tests: Likewise.
29386         * modules/unictype/category-Lu-tests: Likewise.
29387         * modules/unictype/category-M-tests: Likewise.
29388         * modules/unictype/category-Mc-tests: Likewise.
29389         * modules/unictype/category-Me-tests: Likewise.
29390         * modules/unictype/category-Mn-tests: Likewise.
29391         * modules/unictype/category-N-tests: Likewise.
29392         * modules/unictype/category-Nd-tests: Likewise.
29393         * modules/unictype/category-Nl-tests: Likewise.
29394         * modules/unictype/category-No-tests: Likewise.
29395         * modules/unictype/category-P-tests: Likewise.
29396         * modules/unictype/category-Pc-tests: Likewise.
29397         * modules/unictype/category-Pd-tests: Likewise.
29398         * modules/unictype/category-Pe-tests: Likewise.
29399         * modules/unictype/category-Pf-tests: Likewise.
29400         * modules/unictype/category-Pi-tests: Likewise.
29401         * modules/unictype/category-Po-tests: Likewise.
29402         * modules/unictype/category-Ps-tests: Likewise.
29403         * modules/unictype/category-S-tests: Likewise.
29404         * modules/unictype/category-Sc-tests: Likewise.
29405         * modules/unictype/category-Sk-tests: Likewise.
29406         * modules/unictype/category-Sm-tests: Likewise.
29407         * modules/unictype/category-So-tests: Likewise.
29408         * modules/unictype/category-Z-tests: Likewise.
29409         * modules/unictype/category-Zl-tests: Likewise.
29410         * modules/unictype/category-Zp-tests: Likewise.
29411         * modules/unictype/category-Zs-tests: Likewise.
29412         * modules/unictype/category-and-not-tests: Likewise.
29413         * modules/unictype/category-and-tests: Likewise.
29414         * modules/unictype/category-byname-tests: Likewise.
29415         * modules/unictype/category-name-tests: Likewise.
29416         * modules/unictype/category-none-tests: Likewise.
29417         * modules/unictype/category-of-tests: Likewise.
29418         * modules/unictype/category-or-tests: Likewise.
29419         * modules/unictype/category-test-withtable-tests: Likewise.
29420         * modules/unictype/combining-class-tests: Likewise.
29421         * modules/unictype/ctype-alnum-tests: Likewise.
29422         * modules/unictype/ctype-alpha-tests: Likewise.
29423         * modules/unictype/ctype-blank-tests: Likewise.
29424         * modules/unictype/ctype-cntrl-tests: Likewise.
29425         * modules/unictype/ctype-digit-tests: Likewise.
29426         * modules/unictype/ctype-graph-tests: Likewise.
29427         * modules/unictype/ctype-lower-tests: Likewise.
29428         * modules/unictype/ctype-print-tests: Likewise.
29429         * modules/unictype/ctype-punct-tests: Likewise.
29430         * modules/unictype/ctype-space-tests: Likewise.
29431         * modules/unictype/ctype-upper-tests: Likewise.
29432         * modules/unictype/ctype-xdigit-tests: Likewise.
29433         * modules/unictype/decimal-digit-tests: Likewise.
29434         * modules/unictype/digit-tests: Likewise.
29435         * modules/unictype/mirror-tests: Likewise.
29436         * modules/unictype/numeric-tests: Likewise.
29437         * modules/unictype/property-alphabetic-tests: Likewise.
29438         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
29439         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
29440         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
29441         * modules/unictype/property-bidi-block-separator-tests: Likewise.
29442         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
29443         * modules/unictype/property-bidi-common-separator-tests: Likewise.
29444         * modules/unictype/property-bidi-control-tests: Likewise.
29445         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
29446         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
29447         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
29448         * modules/unictype/property-bidi-european-digit-tests: Likewise.
29449         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
29450         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
29451         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
29452         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
29453         * modules/unictype/property-bidi-pdf-tests: Likewise.
29454         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
29455         * modules/unictype/property-bidi-whitespace-tests: Likewise.
29456         * modules/unictype/property-byname-tests: Likewise.
29457         * modules/unictype/property-combining-tests: Likewise.
29458         * modules/unictype/property-composite-tests: Likewise.
29459         * modules/unictype/property-currency-symbol-tests: Likewise.
29460         * modules/unictype/property-dash-tests: Likewise.
29461         * modules/unictype/property-decimal-digit-tests: Likewise.
29462         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
29463         * modules/unictype/property-deprecated-tests: Likewise.
29464         * modules/unictype/property-diacritic-tests: Likewise.
29465         * modules/unictype/property-extender-tests: Likewise.
29466         * modules/unictype/property-format-control-tests: Likewise.
29467         * modules/unictype/property-grapheme-base-tests: Likewise.
29468         * modules/unictype/property-grapheme-extend-tests: Likewise.
29469         * modules/unictype/property-grapheme-link-tests: Likewise.
29470         * modules/unictype/property-hex-digit-tests: Likewise.
29471         * modules/unictype/property-hyphen-tests: Likewise.
29472         * modules/unictype/property-id-continue-tests: Likewise.
29473         * modules/unictype/property-id-start-tests: Likewise.
29474         * modules/unictype/property-ideographic-tests: Likewise.
29475         * modules/unictype/property-ids-binary-operator-tests: Likewise.
29476         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
29477         * modules/unictype/property-ignorable-control-tests: Likewise.
29478         * modules/unictype/property-iso-control-tests: Likewise.
29479         * modules/unictype/property-join-control-tests: Likewise.
29480         * modules/unictype/property-left-of-pair-tests: Likewise.
29481         * modules/unictype/property-line-separator-tests: Likewise.
29482         * modules/unictype/property-logical-order-exception-tests: Likewise.
29483         * modules/unictype/property-lowercase-tests: Likewise.
29484         * modules/unictype/property-math-tests: Likewise.
29485         * modules/unictype/property-non-break-tests: Likewise.
29486         * modules/unictype/property-not-a-character-tests: Likewise.
29487         * modules/unictype/property-numeric-tests: Likewise.
29488         * modules/unictype/property-other-alphabetic-tests: Likewise.
29489         * modules/unictype/property-other-default-ignorable-code-point-tests:
29490         Likewise.
29491         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
29492         * modules/unictype/property-other-id-continue-tests: Likewise.
29493         * modules/unictype/property-other-id-start-tests: Likewise.
29494         * modules/unictype/property-other-lowercase-tests: Likewise.
29495         * modules/unictype/property-other-math-tests: Likewise.
29496         * modules/unictype/property-other-uppercase-tests: Likewise.
29497         * modules/unictype/property-paired-punctuation-tests: Likewise.
29498         * modules/unictype/property-paragraph-separator-tests: Likewise.
29499         * modules/unictype/property-pattern-syntax-tests: Likewise.
29500         * modules/unictype/property-pattern-white-space-tests: Likewise.
29501         * modules/unictype/property-private-use-tests: Likewise.
29502         * modules/unictype/property-punctuation-tests: Likewise.
29503         * modules/unictype/property-quotation-mark-tests: Likewise.
29504         * modules/unictype/property-radical-tests: Likewise.
29505         * modules/unictype/property-sentence-terminal-tests: Likewise.
29506         * modules/unictype/property-soft-dotted-tests: Likewise.
29507         * modules/unictype/property-space-tests: Likewise.
29508         * modules/unictype/property-terminal-punctuation-tests: Likewise.
29509         * modules/unictype/property-test-tests: Likewise.
29510         * modules/unictype/property-titlecase-tests: Likewise.
29511         * modules/unictype/property-unassigned-code-value-tests: Likewise.
29512         * modules/unictype/property-unified-ideograph-tests: Likewise.
29513         * modules/unictype/property-uppercase-tests: Likewise.
29514         * modules/unictype/property-variation-selector-tests: Likewise.
29515         * modules/unictype/property-white-space-tests: Likewise.
29516         * modules/unictype/property-xid-continue-tests: Likewise.
29517         * modules/unictype/property-xid-start-tests: Likewise.
29518         * modules/unictype/property-zero-width-tests: Likewise.
29519         * modules/unictype/scripts-tests: Likewise.
29520         * modules/unictype/syntax-c-ident-tests: Likewise.
29521         * modules/unictype/syntax-c-whitespace-tests: Likewise.
29522         * modules/unictype/syntax-java-ident-tests: Likewise.
29523         * modules/unictype/syntax-java-whitespace-tests: Likewise.
29524         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
29525         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
29526         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
29527         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
29528         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
29529         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
29530         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
29531         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
29532         * modules/uniname/uniname-tests: Likewise.
29533         * modules/uninorm/canonical-decomposition-tests: Likewise.
29534         * modules/uninorm/compat-decomposition-tests: Likewise.
29535         * modules/uninorm/composition-tests: Likewise.
29536         * modules/uninorm/decomposing-form-tests: Likewise.
29537         * modules/uninorm/decomposition-tests: Likewise.
29538         * modules/uninorm/filter-tests: Likewise.
29539         * modules/uninorm/nfc-tests: Likewise.
29540         * modules/uninorm/nfd-tests: Likewise.
29541         * modules/uninorm/nfkc-tests: Likewise.
29542         * modules/uninorm/nfkd-tests: Likewise.
29543         * modules/uninorm/u8-normcmp-tests: Likewise.
29544         * modules/uninorm/u8-normcoll-tests: Likewise.
29545         * modules/uninorm/u16-normcmp-tests: Likewise.
29546         * modules/uninorm/u16-normcoll-tests: Likewise.
29547         * modules/uninorm/u32-normcmp-tests: Likewise.
29548         * modules/uninorm/u32-normcoll-tests: Likewise.
29549         * modules/unistdio/u8-asnprintf-tests: Likewise.
29550         * modules/unistdio/u8-vasnprintf-tests: Likewise.
29551         * modules/unistdio/u8-vasprintf-tests: Likewise.
29552         * modules/unistdio/u8-vsnprintf-tests: Likewise.
29553         * modules/unistdio/u8-vsprintf-tests: Likewise.
29554         * modules/unistdio/u16-asnprintf-tests: Likewise.
29555         * modules/unistdio/u16-vasnprintf-tests: Likewise.
29556         * modules/unistdio/u16-vasprintf-tests: Likewise.
29557         * modules/unistdio/u16-vsnprintf-tests: Likewise.
29558         * modules/unistdio/u16-vsprintf-tests: Likewise.
29559         * modules/unistdio/u32-asnprintf-tests: Likewise.
29560         * modules/unistdio/u32-vasnprintf-tests: Likewise.
29561         * modules/unistdio/u32-vasprintf-tests: Likewise.
29562         * modules/unistdio/u32-vsnprintf-tests: Likewise.
29563         * modules/unistdio/u32-vsprintf-tests: Likewise.
29564         * modules/unistdio/ulc-asnprintf-tests: Likewise.
29565         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
29566         * modules/unistdio/ulc-vasprintf-tests: Likewise.
29567         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
29568         * modules/unistdio/ulc-vsprintf-tests: Likewise.
29569         * modules/unistr/u8-check-tests: Likewise.
29570         * modules/unistr/u8-chr-tests: Likewise.
29571         * modules/unistr/u8-cmp-tests: Likewise.
29572         * modules/unistr/u8-cmp2-tests: Likewise.
29573         * modules/unistr/u8-cpy-alloc-tests: Likewise.
29574         * modules/unistr/u8-cpy-tests: Likewise.
29575         * modules/unistr/u8-mblen-tests: Likewise.
29576         * modules/unistr/u8-mbsnlen-tests: Likewise.
29577         * modules/unistr/u8-mbtouc-tests: Likewise.
29578         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
29579         * modules/unistr/u8-mbtoucr-tests: Likewise.
29580         * modules/unistr/u8-move-tests: Likewise.
29581         * modules/unistr/u8-next-tests: Likewise.
29582         * modules/unistr/u8-prev-tests: Likewise.
29583         * modules/unistr/u8-set-tests: Likewise.
29584         * modules/unistr/u8-stpcpy-tests: Likewise.
29585         * modules/unistr/u8-stpncpy-tests: Likewise.
29586         * modules/unistr/u8-strcat-tests: Likewise.
29587         * modules/unistr/u8-strcmp-tests: Likewise.
29588         * modules/unistr/u8-strcoll-tests: Likewise.
29589         * modules/unistr/u8-strcpy-tests: Likewise.
29590         * modules/unistr/u8-strdup-tests: Likewise.
29591         * modules/unistr/u8-strlen-tests: Likewise.
29592         * modules/unistr/u8-strmblen-tests: Likewise.
29593         * modules/unistr/u8-strmbtouc-tests: Likewise.
29594         * modules/unistr/u8-strncat-tests: Likewise.
29595         * modules/unistr/u8-strncmp-tests: Likewise.
29596         * modules/unistr/u8-strncpy-tests: Likewise.
29597         * modules/unistr/u8-strnlen-tests: Likewise.
29598         * modules/unistr/u8-to-u16-tests: Likewise.
29599         * modules/unistr/u8-to-u32-tests: Likewise.
29600         * modules/unistr/u8-uctomb-tests: Likewise.
29601         * modules/unistr/u16-check-tests: Likewise.
29602         * modules/unistr/u16-chr-tests: Likewise.
29603         * modules/unistr/u16-cmp-tests: Likewise.
29604         * modules/unistr/u16-cmp2-tests: Likewise.
29605         * modules/unistr/u16-cpy-alloc-tests: Likewise.
29606         * modules/unistr/u16-cpy-tests: Likewise.
29607         * modules/unistr/u16-mblen-tests: Likewise.
29608         * modules/unistr/u16-mbsnlen-tests: Likewise.
29609         * modules/unistr/u16-mbtouc-tests: Likewise.
29610         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
29611         * modules/unistr/u16-mbtoucr-tests: Likewise.
29612         * modules/unistr/u16-move-tests: Likewise.
29613         * modules/unistr/u16-next-tests: Likewise.
29614         * modules/unistr/u16-prev-tests: Likewise.
29615         * modules/unistr/u16-set-tests: Likewise.
29616         * modules/unistr/u16-stpcpy-tests: Likewise.
29617         * modules/unistr/u16-stpncpy-tests: Likewise.
29618         * modules/unistr/u16-strcat-tests: Likewise.
29619         * modules/unistr/u16-strcmp-tests: Likewise.
29620         * modules/unistr/u16-strcoll-tests: Likewise.
29621         * modules/unistr/u16-strcpy-tests: Likewise.
29622         * modules/unistr/u16-strdup-tests: Likewise.
29623         * modules/unistr/u16-strlen-tests: Likewise.
29624         * modules/unistr/u16-strmblen-tests: Likewise.
29625         * modules/unistr/u16-strmbtouc-tests: Likewise.
29626         * modules/unistr/u16-strncat-tests: Likewise.
29627         * modules/unistr/u16-strncmp-tests: Likewise.
29628         * modules/unistr/u16-strncpy-tests: Likewise.
29629         * modules/unistr/u16-strnlen-tests: Likewise.
29630         * modules/unistr/u16-to-u32-tests: Likewise.
29631         * modules/unistr/u16-to-u8-tests: Likewise.
29632         * modules/unistr/u16-uctomb-tests: Likewise.
29633         * modules/unistr/u32-check-tests: Likewise.
29634         * modules/unistr/u32-chr-tests: Likewise.
29635         * modules/unistr/u32-cmp-tests: Likewise.
29636         * modules/unistr/u32-cmp2-tests: Likewise.
29637         * modules/unistr/u32-cpy-alloc-tests: Likewise.
29638         * modules/unistr/u32-cpy-tests: Likewise.
29639         * modules/unistr/u32-mblen-tests: Likewise.
29640         * modules/unistr/u32-mbsnlen-tests: Likewise.
29641         * modules/unistr/u32-mbtouc-tests: Likewise.
29642         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
29643         * modules/unistr/u32-mbtoucr-tests: Likewise.
29644         * modules/unistr/u32-move-tests: Likewise.
29645         * modules/unistr/u32-next-tests: Likewise.
29646         * modules/unistr/u32-prev-tests: Likewise.
29647         * modules/unistr/u32-set-tests: Likewise.
29648         * modules/unistr/u32-stpcpy-tests: Likewise.
29649         * modules/unistr/u32-stpncpy-tests: Likewise.
29650         * modules/unistr/u32-strcat-tests: Likewise.
29651         * modules/unistr/u32-strcmp-tests: Likewise.
29652         * modules/unistr/u32-strcoll-tests: Likewise.
29653         * modules/unistr/u32-strcpy-tests: Likewise.
29654         * modules/unistr/u32-strdup-tests: Likewise.
29655         * modules/unistr/u32-strlen-tests: Likewise.
29656         * modules/unistr/u32-strmblen-tests: Likewise.
29657         * modules/unistr/u32-strmbtouc-tests: Likewise.
29658         * modules/unistr/u32-strncat-tests: Likewise.
29659         * modules/unistr/u32-strncmp-tests: Likewise.
29660         * modules/unistr/u32-strncpy-tests: Likewise.
29661         * modules/unistr/u32-strnlen-tests: Likewise.
29662         * modules/unistr/u32-to-u16-tests: Likewise.
29663         * modules/unistr/u32-to-u8-tests: Likewise.
29664         * modules/unistr/u32-uctomb-tests: Likewise.
29665         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
29666         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
29667         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
29668         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
29669         * modules/uniwidth/u8-strwidth-tests: Likewise.
29670         * modules/uniwidth/u8-width-tests: Likewise.
29671         * modules/uniwidth/u16-strwidth-tests: Likewise.
29672         * modules/uniwidth/u16-width-tests: Likewise.
29673         * modules/uniwidth/u32-strwidth-tests: Likewise.
29674         * modules/uniwidth/u32-width-tests: Likewise.
29675         * modules/uniwidth/width-tests: Likewise.
29676
29677 2010-05-18  Richard Jones  <rjones@redhat.com>
29678
29679         doc: users.txt: list hivex
29680         * users.txt: Add hivex.
29681
29682 2010-05-18  Richard Jones  <rjones@redhat.com>
29683
29684         doc: users.txt: list febootstrap
29685         * users.txt: Add febootstrap.
29686
29687 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
29688
29689         bootstrap: fix an error when gnulib is not used as a git submodule
29690         * build-aux/bootstrap (gnulib_path): If its length is zero then
29691         assign "gnulib" to it.
29692         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
29693
29694 2010-05-16  Bruno Haible  <bruno@clisp.org>
29695
29696         Avoid autoconf warnings about AM_ICONV.
29697         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
29698         2.64.
29699
29700 2010-05-16  Bruno Haible  <bruno@clisp.org>
29701
29702         absolute-header: Make the macro usable in more situations.
29703         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
29704         from gl_ABSOLUTE_HEADER.
29705         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
29706
29707 2010-05-16  James Youngman  <jay@gnu.org>
29708
29709         doc: update users.txt
29710         * users.txt: Add CSSC.
29711
29712 2010-05-16  Jim Meyering  <meyering@redhat.com>
29713
29714         init.sh: fix an error in the previous change; add more comments
29715         * tests/init.sh: Compare exit code in loop against 9, not 2.
29716         Patch by Bruno Haible.
29717         Make the two tests more similar by adding an empty "then" clause.
29718         Add comments.
29719
29720         init.sh: avoid unnecessary shell re-exec
29721         * tests/init.sh: Improve the re-exec-required check to first test the
29722         current shell.  If it passes the test, do not search for a shell that
29723         does pass, and do not re-exec.  This test is particularly contorted to
29724         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
29725         of $(...) evokes a syntax error and causes immediate shell exit with
29726         status 2.  Bruno Haible reported that the re-exec made it impossible
29727         to single-step through any init.sh-using script.
29728
29729 2010-05-16  Bruno Haible  <bruno@clisp.org>
29730
29731         Fix collision between gnulib's and libintl's printf replacements.
29732         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
29733         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
29734         (printf): When using GNU C, map the __printf__ function to rpl_printf
29735         via __asm__. When not using GNU C, define rpl_printf instead of
29736         __printf__.
29737         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
29738         commit.
29739         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
29740         commit.
29741         * m4/asm-underscore.m4: New file.
29742         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
29743         * modules/stdio (Files): Add m4/asm-underscore.m4.
29744         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
29745         Reported by Ben Pfaff.
29746
29747 2010-05-16  Bruno Haible  <bruno@clisp.org>
29748
29749         verify: Avoid skipping the test on openSUSE 11.0.
29750         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
29751
29752 2010-05-13  Bruno Haible  <bruno@clisp.org>
29753
29754         Avoid useless warnings from G++.
29755         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
29756         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
29757         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
29758
29759 2010-05-11  Jim Meyering  <meyering@redhat.com>
29760
29761         maint.mk: tweak preceding change
29762         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
29763         regexps tighter by anchoring at EOL, and make the new group "shy"
29764         for slightly decreased overhead.
29765
29766 2010-05-11  Eric Blake  <eblake@redhat.com>
29767
29768         maint.mk: gnulib doesn't guarantee NSIG
29769         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
29770
29771 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
29772
29773         test-pwrite.c: Remove unused variable declaration.
29774         * tests/test-pwrite.c (main): Remove read_buf declaration.
29775
29776         Remove useless test-pwrite.sh file.
29777         * tests/test-pwrite.sh: Delete file.
29778         * modules/pwrite-tests: Remove references.
29779         Reported by Bruno Haible.
29780
29781 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
29782
29783         init.sh: fix a typo
29784         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
29785
29786 2010-05-10  Jim Meyering  <meyering@redhat.com>
29787
29788         maint.mk: avoid using a temporary file in the always-defined-macros check
29789         * top/maint.mk (.re-defmac): Remove rule.
29790         (gl_trap_): Remove definition.
29791         (sc_prohibit_always-defined_macros): Rewrite not to create and
29792         depend on a temporary file.  Instead, depend on GNU grep's ability
29793         to read a list of regular expressions from stdin when given "-f -".
29794
29795 2010-05-09  Bruno Haible  <bruno@clisp.org>
29796
29797         Update to GNU gettext 0.18, part 1.
29798         * m4/gettext.m4: Update to GNU gettext 0.18.
29799         * m4/intl.m4: Likewise.
29800         * m4/po.m4: Likewise.
29801         * modules/gettext (Files): Add m4/fcntl-o.m4.
29802         (configure.ac): Require gettext infrastructure from version 0.18.
29803
29804 2010-05-09  Jim Meyering  <meyering@redhat.com>
29805
29806         init.sh: enable MALLOC_PERTURB_
29807         * tests/init.sh: Enable glibc's malloc-perturbing option.
29808
29809         maint.mk: improve sc_cross_check_PATH_usage_in_tests
29810         With my recent change in init.sh from the two-line form:
29811             -#   : ${srcdir=.}
29812             -#   . "$srcdir/init.sh"; path_prepend_ .
29813             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
29814         I noticed that using the one-line form would cause this test
29815         to fail with a false-positive, or to stop working altogether,
29816         depending on whether help-version changed or all the tests did.
29817         * top/maint.mk (_hv_regex): Remove this definition.
29818         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
29819         (_hv_regex_strong): Use a stronger regex to check for conformance.
29820         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
29821         Give a separate diagnostic for lack of conforming use.
29822
29823         maint.mk: prohibit definition of symbols defined by gnulib
29824         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
29825         definition of symbols defined by gnulib.
29826
29827 2010-05-09  Bruno Haible  <bruno@clisp.org>
29828
29829         acl: Avoid test failure on Cygwin-hosted mingw.
29830         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
29831
29832 2010-05-09  Bruno Haible  <bruno@clisp.org>
29833
29834         error: Use system's fcntl function.
29835         * lib/error.c (fcntl): Undefine.
29836
29837 2010-05-09  Jim Meyering  <meyering@redhat.com>
29838
29839         verify: adjust formatting to be more consistent
29840         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
29841         argument-list '('s, and after one comma.
29842
29843 2010-05-09  Bruno Haible  <bruno@clisp.org>
29844
29845         error: More reliable output on mingw.
29846         * lib/error.c: Include <windows.h>.
29847         (is_open): New function.
29848         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
29849         defined.
29850
29851 2010-05-09  Bruno Haible  <bruno@clisp.org>
29852
29853         vasnprintf: Fix syntax errors in libintl build on mingw.
29854         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
29855         pad_ourselves and prec_ourselves after use.
29856
29857 2010-05-08  Bruno Haible  <bruno@clisp.org>
29858
29859         * lib/config.charset: Update comments for Cygwin 1.7.
29860         * lib/localcharset.c: Likewise.
29861
29862 2010-05-07  Jim Meyering  <meyering@redhat.com>
29863
29864         init.sh: improve comments
29865         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
29866         . "${srcdir=.}/init.sh"; path_prepend_ .
29867         Add a note about path_prepend_ and the alternative of using
29868         TESTS_ENVIRONMENT.
29869
29870 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
29871
29872         exclude: Unescape hashed patterns in wildcard mode.
29873         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
29874         to the hash list.
29875         * tests/test-exclude8.sh: New test case.
29876         * modules/exclude-tests: Add new test.
29877
29878 2010-05-05  Eric Blake  <eblake@redhat.com>
29879
29880         verify: automate tests
29881         * modules/verify-tests: New module.
29882         * tests/test-verify.sh: New file.
29883         * tests/test-verify.c: Guard each negative test with a unique id.
29884         Also avoid warning about unused left hand of comma expressions.
29885
29886 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
29887
29888         Further improvements to verify.h, suggested by Eric Blake.
29889         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
29890         the GL_* versions, to avoid collision with OpenGL.
29891         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
29892         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
29893         than testing merely whether it's defined.
29894
29895         Modify verify.h to pacify gcc -Wredundant_decls.
29896         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
29897         These use the prefix "GL_" since they're likely to be useful elsewhere.
29898         We may need to break them out into a different .h file.
29899         (__COUNTER__): Define to 0 if the compiler doesn't support it.
29900         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
29901         of verify_function__.
29902
29903 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
29904
29905         Tests for module pwrite.
29906         * modules/pwrite-tests: New file.
29907         * tests/test-pwrite.sh: New file.
29908         * tests/test-pwrite.c: New file.
29909
29910         New module pwrite.
29911         * lib/unistd.in.h (pwrite): New declaration.
29912         * lib/pwrite.c: New file, from glibc with modifications.
29913         * m4/pwrite.m4: New file.
29914         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
29915         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
29916         REPLACE_PWRITE.
29917         * modules/pwrite: New file.
29918         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
29919         REPLACE_PWRITE.
29920         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
29921         * doc/posix-functions/pwrite.texi: Mention the new module.
29922
29923 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
29924
29925         pread: Update documentation.
29926         * doc/posix-functions/pread.texi: Mention the 'pread' module.
29927
29928 2010-05-04  Eric Blake  <eblake@redhat.com>
29929
29930         docs: update cygwin progress
29931         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
29932         this bug.
29933         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
29934         Added in cygwin 1.7.2.
29935         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
29936         Likewise.
29937         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
29938         Likewise.
29939         * doc/glibc-functions/dup3.texi (dup3): Likewise.
29940         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
29941         * doc/glibc-functions/accept4.texi (accept4): Likewise.
29942         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
29943         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
29944         Mention nproc module.
29945         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
29946         bug in cygwin 1.7.5 addition.
29947         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
29948         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
29949         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
29950         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
29951         1.7.5.
29952         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
29953         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
29954         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
29955         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
29956         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
29957         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
29958         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
29959         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
29960         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
29961         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
29962         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
29963         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
29964         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
29965         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
29966         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
29967         Likewise.
29968         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
29969         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
29970         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
29971         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
29972         Likewise.
29973         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
29974         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
29975         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
29976         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
29977         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
29978         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
29979         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
29980         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
29981         Likewise.
29982         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
29983         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
29984         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
29985         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
29986         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
29987         Likewise.
29988         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
29989         Likewise.
29990         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
29991         Likewise.
29992         * doc/glibc-functions/xdrrec_endofrecord.texi
29993         (xdrrec_endofrecord): Likewise.
29994         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
29995         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
29996         Likewise.
29997         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
29998         Likewise.
29999
30000 2010-05-04  Jim Meyering  <meyering@redhat.com>
30001
30002         gendocs.sh: make its "-s FILE" option more useful
30003         * build-aux/gendocs.sh: When honoring the -s FILE option, update
30004         $PACKAGE to reflect the probably-different basename of "FILE".
30005
30006 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
30007
30008         bootstrap: don't ignore download_po_files failure
30009         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
30010         failure.
30011
30012 2010-05-03  Jim Meyering  <meyering@redhat.com>
30013
30014         maint.mk: allow to pass options to gendocs.sh
30015         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
30016         (gendocs_options_): New overridable variable.
30017
30018         gnu-web-doc-update: don't ignore configure or build failure
30019         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
30020
30021         announce-gen: backslash-escape '@'s in --help output
30022         * build-aux/announce-gen: Fix syntax errors.
30023
30024         maint.mk, announce-gen: allow project-specific announcement mail headers
30025         * top/maint.mk (translation_project_): Define default.
30026         (announcement_Cc_, announcement_mail_headers_): Likewise.
30027         (announcement): Invoke announce-gen with new --mail-headers option.
30028         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
30029
30030         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
30031         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
30032         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
30033         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
30034         line in the "err2" output file when running "make check" in verbose
30035         mode (i.e., with set -x enabled).
30036
30037 2010-05-03  Bruno Haible  <bruno@clisp.org>
30038
30039         wctob: Fix for weird platforms.
30040         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
30041         argument value.
30042
30043 2010-05-03  Jim Meyering  <meyering@redhat.com>
30044
30045         maint.mk: prohibit unwarranted use of <strings.h>
30046         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
30047         strings.h in a file that does not also use strcasecmp, strncasecmp,
30048         ffs or ffsll.
30049
30050         maint.mk: remove obsolete comments
30051         * top/maint.mk: Remove stale, commented-out rules.
30052
30053 2010-05-02  Bruno Haible  <bruno@clisp.org>
30054
30055         wcwidth: Declare also when it's aliased.
30056         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
30057         macro.
30058
30059 2010-05-02  Bruno Haible  <bruno@clisp.org>
30060
30061         Fix regression from 2010-04-25.
30062         * gnulib-tool (func_modules_transitive_closure): Check the status of
30063         all modules, not only of the tests that are of the form foo-tests where
30064         foo is a module.
30065
30066 2010-05-02  Bruno Haible  <bruno@clisp.org>
30067
30068         wctob: Work around nasty Cygwin 1.7.2 bug.
30069         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
30070         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
30071
30072 2010-05-01  Bruno Haible  <bruno@clisp.org>
30073
30074         fpurge: Sharper test.
30075         * tests/test-fpurge.c (main): Add one more ftell check.
30076         * modules/fpurge-tests (Depends-on): Add ftell.
30077         Suggested by Eric Blake.
30078
30079 2010-05-01  Bruno Haible  <bruno@clisp.org>
30080
30081         ftello: Another test.
30082         * tests/test-ftello3.c: New file.
30083         * modules/ftello-tests (Files): Add it.
30084         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
30085         MOSTLYCLEANFILES.
30086
30087         ftell: Another test.
30088         * tests/test-ftell3.c: New file.
30089         * modules/ftell-tests (Files): Add it.
30090         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
30091         MOSTLYCLEANFILES.
30092
30093 2010-05-01  Bruno Haible  <bruno@clisp.org>
30094
30095         ftell, ftello: Work around Solaris bug.
30096         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
30097         * lib/ftello.c: Include stdio-impl.h.
30098         (ftello): On Solaris, when _IOWRT is set, compute the result without
30099         looking at _IOREAD.
30100         * modules/ftello (Files): Add lib/stdio-impl.h.
30101         * doc/posix-functions/ftell.texi: Mention Solaris bug.
30102         * doc/posix-functions/ftello.texi: Likewise.
30103         Reported by Eric Blake.
30104
30105 2010-05-01  Bruno Haible  <bruno@clisp.org>
30106
30107         freading: Adapt to special meaning of _IOREAD flag on Solaris.
30108         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
30109         the _IOWRT flag is also set.
30110
30111 2010-05-01  Bruno Haible  <bruno@clisp.org>
30112
30113         Fix doc about a HP-UX stdio bug.
30114         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
30115         * doc/posix-functions/ftello.texi: Likewise.
30116
30117 2010-05-01  Bruno Haible  <bruno@clisp.org>
30118
30119         lseek test: Fix failure on Solaris.
30120         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
30121         output.
30122
30123 2010-04-30  Jim Meyering  <meyering@redhat.com>
30124
30125         bootstrap: don't ignore failure to generate po*/Makevars
30126         * build-aux/bootstrap (with_gettext): Don't ignore failure
30127         to create po/Makevars or runtime-po/Makevars.
30128
30129 2010-04-29  Eric Blake  <eblake@redhat.com>
30130
30131         headers: relax license to LGPLv2+
30132         * modules/fcntl-h (License): Relax license.
30133         * modules/getopt-posix (License): Likewise.
30134         * modules/locale (License): Likewise.
30135         * modules/math (License): Likewise.
30136         * modules/pty (License): Likewise.
30137         * modules/sched (License): Likewise.
30138         * modules/search (License): Likewise.
30139         * modules/spawn (License): Likewise.
30140         * modules/stdarg (License): Likewise.
30141         * modules/sysexits (License): Likewise.
30142
30143 2010-04-29  Jim Meyering  <meyering@redhat.com>
30144
30145         inttypes: relax license to LGPLv2+
30146         * modules/inttypes (License): Relax license.
30147
30148 2010-04-29  Simon Josefsson  <simon@josefsson.org>
30149
30150         * top/maint.mk (indent): Run twice to produce idempotent results.
30151
30152 2010-04-28  Bruno Haible  <bruno@clisp.org>
30153
30154         getdate: Generate getdate.c in the source directory.
30155         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
30156         MOSTLYCLEANFILES.
30157         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
30158
30159 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
30160
30161         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
30162         is not declared as a const *; avoid warnings in that case.
30163
30164 2010-04-28  Eric Blake  <eblake@redhat.com>
30165
30166         canonicalize-lgpl: avoid compiler warning
30167         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
30168         declaration' / 'extraneous semicolon' warning with some compilers.
30169         Reported by Andreas Gruenbacher.
30170
30171 2010-04-28  Jim Meyering  <meyering@redhat.com>
30172
30173         init.sh: ensure a more reliable exit status when exiting via trap
30174         * tests/init.sh (setup_): Don't rely on $? in signal handler.
30175         Inspired by patches from Dmitry V. Levin.
30176         Also trap on signal 3 (SIGQUIT).
30177
30178 2010-04-27  Bruno Haible  <bruno@clisp.org>
30179
30180         Update doc about utimes().
30181         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
30182         'utimens' module.
30183         Reported by Andreas Gruenbacher <agruen@suse.de>.
30184
30185 2010-04-27  Eric Blake  <eblake@redhat.com>
30186
30187         full-read, full-write: relax license
30188         * modules/full-read (License): Drop to LGPLv2+.
30189         * modules/full-write (License): Likewise.
30190         * modules/safe-read (License): Likewise.
30191         * modules/safe-write (License): Likewise.
30192
30193         pthread: mention library for linking
30194         * modules/pthread (Link): Mention $(LIB_PTHREAD).
30195
30196 2010-04-27  Jim Meyering  <meyering@redhat.com>
30197
30198         maint.mk: fix a bug introduced in last change
30199         * top/maint.mk (gl_assured_headers_): Now that all names are on
30200         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
30201         is not anchored to end of word, it should be adequate.
30202
30203         maint.mk: avoid side-effect in latest syntax-check
30204         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
30205         to run commands via $(shell...), and hence to incur cost only when
30206         the new rule is actually run.
30207
30208         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
30209         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
30210         and use that to create a regexp used to detect all #if HAVE_..._H uses.
30211         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
30212         (gl_assured_headers_, az_, AZ_): Define.
30213         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
30214
30215 2010-04-26  Jim Meyering  <jim@meyering.net>
30216             Bruno Haible  <bruno@clisp.org>
30217
30218         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
30219         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
30220         Prompted by an exchange with Gilles Espinasse.
30221
30222 2010-04-26  Jim Meyering  <meyering@redhat.com>
30223
30224         git-version-gen: aesthetic tweak
30225         * build-aux/git-version-gen: Use "$nl" rather than a literal,
30226         so that the command remains on a single line.
30227
30228 2010-04-26  Eric Blake  <eblake@redhat.com>
30229
30230         git-version-gen: allow use on EBCDIC hosts
30231         * build-aux/git-version-gen (dirty): Use literal rather than tying
30232         ourselves to ascii.
30233         Reported by Steve Goetze.
30234
30235 2010-04-25  Bruno Haible  <bruno@clisp.org>
30236
30237         netdb: Add support for GNULIB_POSIXCHECK.
30238         * lib/netdb.in.h: Include warn-on-use.h.
30239         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
30240         functions are used when GNULIB_POSIXCHECK is defined and the
30241         getaddrinfo module is not in use.
30242         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
30243         freeaddrinfo, gai_strerror, getnameinfo are declared.
30244         * modules/netdb (Depends-on): Add warn-on-use.
30245         (Makefile.am): Include warn-on-use.h in netdb.h.
30246
30247 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
30248
30249         build: avoid "make check" failure without .git/ directory
30250         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
30251         there is no .git/ directory.
30252
30253 2010-04-25  Bruno Haible  <bruno@clisp.org>
30254
30255         ptsname: Fix misuse of ttyname_r.
30256         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
30257         of errno.
30258
30259 2010-04-25  Bruno Haible  <bruno@clisp.org>
30260
30261         ttyname_r: Make it work on Solaris 10.
30262         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
30263         if the system function has the POSIX declaration. Test whether the
30264         function fails if the buffer is less than 128 bytes large.
30265         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
30266         system's ttyname_r function. Provide a reasonably large buffer.
30267         * modules/ttyname_r (Depends-on): Add extensions.
30268         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
30269
30270 2010-04-25  Bruno Haible  <bruno@clisp.org>
30271
30272         Use the 'extensions' module for some more functions on Solaris.
30273         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
30274         module.
30275         * doc/posix-functions/ctime_r.texi: Likewise.
30276         * doc/posix-functions/getgrgid_r.texi: Likewise.
30277         * doc/posix-functions/getgrnam_r.texi: Likewise.
30278         * doc/posix-functions/getpwnam_r.texi: Likewise.
30279         * doc/posix-functions/getpwuid_r.texi: Likewise.
30280         * doc/posix-functions/readdir_r.texi: Likewise.
30281         * doc/posix-functions/sigwait.texi: Likewise.
30282         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
30283         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
30284
30285 2010-04-25  Bruno Haible  <bruno@clisp.org>
30286
30287         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
30288         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
30289         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
30290         * lib/ttyname_r.c: Include <limits.h>.
30291         (ttyname_r): Define using the system's ttyname_r function, if it exists
30292         and not on Solaris.
30293         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
30294         set.
30295         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
30296         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
30297         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
30298         Reported by Simon Josefsson.
30299
30300 2010-04-25  Bruno Haible  <bruno@clisp.org>
30301
30302         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
30303         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
30304         * doc/posix-functions/ctime_r.texi: Likewise.
30305         * doc/posix-functions/getgrgid_r.texi: Likewise.
30306         * doc/posix-functions/getgrnam_r.texi: Likewise.
30307         * doc/posix-functions/getlogin_r.texi: Likewise.
30308         * doc/posix-functions/getpwnam_r.texi: Likewise.
30309         * doc/posix-functions/getpwuid_r.texi: Likewise.
30310         * doc/posix-functions/readdir_r.texi: Likewise.
30311         * doc/posix-functions/sigwait.texi: Likewise.
30312         * doc/posix-functions/ttyname_r.texi: Likewise.
30313         Reported by Simon Josefsson.
30314
30315 2010-04-25  Bruno Haible  <bruno@clisp.org>
30316
30317         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
30318         * gnulib-tool (func_usage): Document that --with-*-tests options apply
30319         also to --create-testdir.
30320         (func_acceptable): Don't consider the status of *-tests modules here.
30321         (func_modules_transitive_closure): Consider it here, before including a
30322         test module.
30323         (func_import, func_create_testdir): Set inc_all_direct_tests,
30324         inc_all_indirect_tests.
30325         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
30326         --create-testdir and --create-megatestdir.
30327
30328 2010-04-25  Bruno Haible  <bruno@clisp.org>
30329
30330         gnulib-tool: Add --without-*-tests options.
30331         * gnulib-tool (func_usage): Document the --without-*-tests options.
30332         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
30333         excl_unportable_tests): New variables.
30334         Fail if they are specified with --import or --update.
30335         (func_acceptable): Respect the excl_*_tests variables.
30336         (func_import): Set the excl_*_tests variables to empty.
30337
30338 2010-04-25  Simon Josefsson  <simon@josefsson.org>
30339             Bruno Haible  <bruno@clisp.org>
30340
30341         Work around a MacOS X 10.4 bug with openpty.
30342         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
30343         * tests/test-openpty.c (main): Close the master side explicitly.
30344
30345 2010-04-25  Bruno Haible  <bruno@clisp.org>
30346
30347         strnlen: Fix a C++ test error on MacOS X and Solaris.
30348         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
30349         the function is not declared.
30350         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
30351         Simon Josefsson.
30352
30353 2010-04-24  Bruno Haible  <bruno@clisp.org>
30354
30355         Avoid a gcc warning.
30356         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
30357         of correct type for %08lx directive.
30358         Reported by Eric Blake.
30359
30360 2010-04-24  Bruno Haible  <bruno@clisp.org>
30361
30362         vasnprintf: Correct errno value in case of out-of-memory.
30363         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
30364         or sprintf. Use the errno value from SNPRINTF or sprintf.
30365         Reported by Ian Beckwith <ianb@erislabs.net>.
30366
30367 2010-04-24  Bruno Haible  <bruno@clisp.org>
30368
30369         ansi-c++-opt: Find correct compiler when cross-compiling.
30370         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
30371         AC_CHECK_PROGS.
30372         Reported by Simon Josefsson.
30373
30374 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
30375
30376         vc-list-files: Add support for subversion
30377         * build-aux/vc-list-files: Use "svn list" to generate the list of
30378         files controlled by subversion.
30379
30380 2010-04-23  Jim Meyering  <meyering@redhat.com>
30381
30382         vc-list-files tests: convert to use init.sh
30383         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
30384         path_prepend_.
30385         Use Exit, not exit.
30386         Use skip_ rather than open coding it.
30387         Remove trap set-up and compare definitions.
30388         * tests/test-vc-list-files-git.sh: Likewise.
30389         * modules/vc-list-files-tests (Files): Add tests/init.sh.
30390
30391 2010-04-22  Simon Josefsson  <simon@josefsson.org>
30392
30393         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
30394         backup files.
30395
30396 2010-04-21  Simon Josefsson  <simon@josefsson.org>
30397
30398         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
30399
30400 2010-04-20  Eric Blake  <eblake@redhat.com>
30401
30402         tests: be robust to ignored SIGPIPE
30403         * tests/test-select-in.sh: Consume all output.
30404         * tests/test-lseek.sh: Check correct exit status, while avoiding
30405         EPIPE.
30406
30407 2010-04-20  Simon Josefsson  <simon@josefsson.org>
30408             Bruno Haible  <bruno@clisp.org>
30409
30410         visibility: Don't use -fvisibility if it leads to a warning.
30411         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
30412         yes, don't pretend that visibility works if it leads to a warning.
30413         Reported by Mike Gran <spk121@yahoo.com>.
30414
30415 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
30416
30417         * build-aux/bootstrap: Use "git -h" for testing for supported options
30418         instead of "git --help".  The short-form option only shows a summary,
30419         and doesn't layout the full man page.  Grep for the full option name
30420         in the summary, too.
30421
30422 2010-04-19  Bruno Haible  <bruno@clisp.org>
30423
30424         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
30425         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
30426         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
30427         mention of RELOCATABLE_STRIP.
30428         Reported by Sylvain Beucler <beuc@beuc.net>.
30429
30430 2010-04-19  Bruno Haible  <bruno@clisp.org>
30431
30432         * lib/diffseq.h: Fix typo in comment.
30433         Reported by Eric Blake.
30434
30435 2010-04-19  Bruno Haible  <bruno@clisp.org>
30436
30437         ioctl: Move autoconf macro to a .m4 file.
30438         * m4/ioctl.m4: New file, extracted from modules/ioctl.
30439         * modules/ioctl (Files): Add it.
30440         (configure.ac): Simply invoke gl_FUNC_IOCTL.
30441         Reported by Ian Beckwith <ianb@erislabs.net>.
30442
30443 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
30444             Bruno Haible  <bruno@clisp.org>
30445
30446         diffseq: Accommodate use-case with abstract arrays.
30447         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
30448         is not defined.
30449         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
30450         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
30451
30452 2010-04-18  Bruno Haible  <bruno@clisp.org>
30453
30454         * doc/posix-headers/stdbool.texi: More precise wording.
30455
30456 2010-04-17  Jim Meyering  <meyering@redhat.com>
30457
30458         maint.mk: use gnu-style indentation in an embedded perl script
30459         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
30460         Rename variable: s/two/last_two_bytes/
30461
30462 2010-04-16  Eric Blake  <eblake@redhat.com>
30463
30464         test-stdbool: skip test that fails with Solaris CC
30465         * tests/test-stdbool.c (f): Skip test that causes compilation
30466         error under buggy C++ compiler.
30467         * lib/stdbool.in.h: Document the limitation.
30468         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
30469
30470         setenv: allow compilation with C++
30471         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
30472         register keyword.
30473
30474         stdint: allow test to pass with C++
30475         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
30476
30477         getopt: allow compilation with C++
30478         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
30479         struct.
30480         * lib/getopt.c (_getopt_internal_r): Use correct type.
30481         Reported by Dagobert Michelson, via Joel E. Denny.
30482
30483 2010-04-16  Bruno Haible  <bruno@clisp.org>
30484
30485         Override netdb.h always.
30486         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
30487         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
30488         Reported by Ludovic Courtès <ludo@gnu.org>.
30489
30490 2010-04-15  Bruno Haible  <bruno@clisp.org>
30491
30492         openpty: Fix mistake from 2010-03-21.
30493         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
30494         Reported by Simon Josefsson.
30495
30496 2010-04-15  Eric Blake  <eblake@redhat.com>
30497
30498         test-forkpty: fix expected signature
30499         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
30500         Reported by Simon Josefsson.
30501
30502 2010-04-15  Jim Meyering  <meyering@redhat.com>
30503
30504         maint.mk: texinfo_suffix_re_: correct the default regexp
30505         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
30506
30507         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
30508         make it configurable via texinfo_suffix_re_.
30509
30510 2010-04-14  Eric Blake  <eblake@redhat.com>
30511
30512         strtok_r: relax license to LGPLv2+
30513         * modules/strtok_r (License): Relax license.
30514         Reported by Matthias Bolte.
30515
30516 2010-04-14  Simon Josefsson  <simon@josefsson.org>
30517
30518         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
30519         version 1.4.4 by default instead of requiring the libgcrypt
30520         version used during build.  This makes it possible to use the
30521         application with older but still binary compatible libgcrypt
30522         versions.
30523
30524 2010-04-13  Eric Blake  <eblake@redhat.com>
30525
30526         getopt-gnu: match recent glibc fixes and posix ruling
30527         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
30528         '+' handling, when requesting extensions.
30529         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
30530         'W;' handling.
30531         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
30532         * doc/posix-functions/getopt.texi (getopt): Document this.
30533         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
30534         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
30535         Likewise.
30536
30537         getopt: merge bug fixes from glibc
30538         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
30539         diagnostics.  Honor '+:' correctly.  Reject ';'.
30540
30541         getopt-posix: detect MacOS bug
30542         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
30543         optind when missing a required argument.
30544         * doc/posix-functions/getopt.texi (getopt): Document the bug.
30545         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
30546         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
30547         Likewise.
30548
30549         getopt-posix: avoid spurious failure on Solaris
30550         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
30551         an indicator that setting optind=1 is sufficient for reset.
30552
30553         getopt-posix: avoid spurious failure on FreeBSD
30554         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
30555         in POSIX mode, since the m4 test uses it.
30556
30557         gnulib-tool: silence warning on BSD sh
30558         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
30559
30560 2010-04-13  Jim Meyering  <meyering@redhat.com>
30561
30562         doc: users.txt: GNU patch now uses gnulib
30563         * users.txt: Add patch.
30564
30565 2010-04-12  Jim Meyering  <meyering@redhat.com>
30566
30567         maint.mk: generate more concise timing data for syntax-check rules
30568         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
30569         " done" from each line that reports a syntax-check test duration.
30570
30571 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
30572
30573         git-version-gen: use "git update-index..." rather than "git status"
30574         * build-aux/git-version-gen: Use git update-index --refresh, not
30575         "git status".  With some versions of git, "git status" would fail
30576         to update the index and result in an unwarranted "-dirty" suffix.
30577
30578 2010-04-11  Jim Meyering  <meyering@redhat.com>
30579
30580         openat: correct formatting (no semantic change)
30581         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
30582         Suggested by Bruno Haible.
30583
30584 2010-04-11  Bruno Haible  <bruno@clisp.org>
30585
30586         Stricter declaration checking in testdirs.
30587         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
30588         If for_tests is true, augment AM_CPPFLAGS to define
30589         GNULIB_STRICT_CHECKING.
30590         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
30591         GNULIB_STRICT_CHECKING is defined, verify that the function is
30592         declared.
30593
30594 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
30595             Bruno Haible  <bruno@clisp.org>
30596
30597         libunistring: Improve configure output.
30598         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
30599         Don't say "consider installing GNU libunistring" when checking again
30600         with libiconv.
30601
30602 2010-04-11  Bruno Haible  <bruno@clisp.org>
30603
30604         libunistring: Correct value of $LTLIBUNISTRING.
30605         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
30606         correct the value of $LTLIBUNISTRING.
30607
30608 2010-04-11  Bruno Haible  <bruno@clisp.org>
30609
30610         havelib: Add static libraries to LIBS in the right order.
30611         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
30612         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
30613
30614 2010-04-11  Bruno Haible  <bruno@clisp.org>
30615
30616         libunistring: Detect libunistring also when it depends on libiconv.
30617         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
30618         the second AC_LIB_HAVE_LINKFLAGS invocation.
30619
30620 2010-04-11  James Youngman  <jay@gnu.org>
30621
30622         close-stream: declare local scalars to be "const"
30623         * lib/close-stream.c (close_stream): Make boolean variables const
30624         to document the fact that we set but do not change them.
30625
30626 2010-04-11  Bruno Haible  <bruno@clisp.org>
30627
30628         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
30629
30630 2010-04-11  Jim Meyering  <meyering@redhat.com>
30631
30632         maint.mk: don't include dist-check.mk
30633         * top/maint.mk: Remove bogus include directive.
30634
30635         maint.mk: improve empty-line-at-EOF check
30636         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
30637         solution, rather than tail+Perl-based one.  The latter would read
30638         a few kilobytes from the end of each file, and did not handle empty
30639         files properly.
30640
30641         maint.mk: print the elapsed time for each syntax-check rule
30642         * top/maint.mk (sc_m_rules_): Save start time in a file.
30643         (sc_z_rules_): New rules: remove temp file and print elapsed time.
30644         (local-check): Interpose the .z rules
30645
30646 2010-04-11  Jim Meyering  <meyering@redhat.com>
30647
30648         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
30649         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
30650         empty file with one that ends in an empty line.
30651
30652 2010-04-10  Bruno Haible  <bruno@clisp.org>
30653
30654         mkdir: Make it work on mingw64.
30655         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
30656         * lib/mkdir.c: Update comment.
30657         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
30658
30659 2010-04-10  Bruno Haible  <bruno@clisp.org>
30660
30661         Don't override improved macro from newer autoconf.
30662         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
30663         autoconf >= 2.62.
30664         Reported by Joel E. Denny <jdenny@clemson.edu>.
30665
30666 2010-04-10  Jim Meyering  <meyering@redhat.com>
30667
30668         maint.mk: new syntax-check rule: prohibit empty lines at end of file
30669         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
30670
30671         maint.mk: correct a diagnostic
30672         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
30673         in diagnostic; now use $prohibit.
30674
30675 2010-04-10  Bruno Haible  <address@hidden>
30676
30677         fchownat: Fix a C++ test error on Solaris 8.
30678         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
30679         the function does not exist.
30680
30681 2010-04-10  Bruno Haible  <bruno@clisp.org>
30682
30683         vasnprintf: Add more tests.
30684         * tests/test-vasnprintf-posix.c: Include <errno.h>.
30685         (test_function): Test converting an invalid wide string.
30686
30687         vasnprintf: Correct handling of unconvertible wide string arguments.
30688         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
30689         VASNPRINTF.
30690         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
30691         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
30692         smaller than the expected maximum need for the directive. Set errno to
30693         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
30694         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
30695         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
30696         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
30697         * modules/vasnprintf (Files): Add m4/printf.m4.
30698         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30699
30700 2010-04-10  Bruno Haible  <bruno@clisp.org>
30701
30702         vasnprintf: Fix crash in %ls directive.
30703         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
30704         string is passed as argument to %ls, with no precision and no width.
30705         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30706
30707 2010-04-10  Bruno Haible  <bruno@clisp.org>
30708
30709         vasnprintf: Fix multiple test failures on mingw.
30710         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
30711         _snprintf, or snwprintf, not _snwprintf.
30712
30713 2010-04-10  Bruno Haible  <bruno@clisp.org>
30714
30715         write: Fix a C++ test error on mingw.
30716         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
30717
30718 2010-04-10  Bruno Haible  <bruno@clisp.org>
30719
30720         vasnprintf test: Reduce code duplication.
30721         * tests/test-vasnprintf.c (test_function): New function, extracted from
30722         test_vasnprintf.
30723         (test_vasnprintf, test_asnprintf): Invoke it.
30724
30725 2010-04-10  Bruno Haible  <bruno@clisp.org>
30726
30727         strnlen: Fix warning in C++ mode on MacOS X.
30728         * lib/string.in.h (strnlen): Use the modern idiom.
30729         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
30730         defining strnlen as a macro already in <config.h>.
30731         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
30732         REPLACE_STRNLEN.
30733         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
30734         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30735
30736 2010-04-08  James Youngman  <jay@gnu.org>
30737
30738         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
30739         the example.
30740
30741 2010-04-09  Jim Meyering  <meyering@redhat.com>
30742
30743         maint.mk: print better diagnostic when there is no $(_hv_file)
30744         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
30745         announce that when $(_hv_file) (aka help-version) does not exist.
30746
30747         init.sh: run tr in the "C" locale to avoid multibyte interpretation
30748         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
30749         not try to interpret its random input bytes.  Jarno Rajahalme reported
30750         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
30751         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
30752         (mktempd_): Likewise, just in case.
30753
30754         ftruncate: add two years to projected module removal date: 2012
30755         * m4/ftruncate.m4: Adjust comments.
30756
30757         ftruncate: mark module as obsolete; even MinGW provides it, now
30758         * modules/ftruncate (Status): Obsolete.
30759         (Notice): Say that.
30760         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
30761         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
30762
30763 2010-04-08  Bruno Haible  <bruno@clisp.org>
30764
30765         Fix side effects from tests-related modules.
30766         * modules/dprintf-posix (Comment): New section.
30767         * modules/fprintf-posix (Comment): Likewise.
30768         * modules/obstack-printf-posix (Comment): Likewise.
30769         * modules/printf-posix (Comment): Likewise.
30770         * modules/snprintf-posix (Comment): Likewise.
30771         * modules/sprintf-posix (Comment): Likewise.
30772         * modules/vasnprintf-posix (Comment): Likewise.
30773         * modules/vasprintf-posix (Comment): Likewise.
30774         * modules/vdprintf-posix (Comment): Likewise.
30775         * modules/vfprintf-posix (Comment): Likewise.
30776         * modules/vprintf-posix (Comment): Likewise.
30777         * modules/vsnprintf-posix (Comment): Likewise.
30778         * modules/vsprintf-posix (Comment): Likewise.
30779         * modules/xprintf-posix (Comment): Likewise.
30780         * modules/xvasprintf-posix (Comment): Likewise.
30781         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
30782         * modules/floorf-tests (Depends-on): Likewise.
30783         * modules/round-tests (Depends-on): Likewise.
30784         * modules/roundf-tests (Depends-on): Likewise.
30785         * modules/trunc-tests (Depends-on): Likewise.
30786         * modules/truncf-tests (Depends-on): Likewise.
30787         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
30788         'fprintf-posix' module is not present.
30789         * tests/test-floorf2.c (check): Likewise.
30790         * tests/test-trunc2.c (check): Likewise.
30791         * tests/test-truncf2.c (check): Likewise.
30792         * tests/test-round2.c (equal): Likewise.
30793         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30794
30795 2010-04-07  Karl Berry  <karl@gnu.org>
30796
30797         * config/srclist.txt,
30798         * config/srclistvars.sh,
30799         * config/srclist-update: doc fixes.
30800
30801 2010-04-07  Jim Meyering  <meyering@redhat.com>
30802
30803         maint.mk: add a PATH crosschecking syntax-check rule
30804         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
30805         Useful if you use a test like the one in help-version (coreutils,
30806         diffutils, grep, gzip) that ensures $(VERSION) matches what is
30807         printed by prog --version.
30808
30809 2010-04-06  Bruno Haible  <bruno@clisp.org>
30810
30811         Fix link error on mingw.
30812         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
30813         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
30814
30815 2010-04-06  Bruno Haible  <bruno@clisp.org>
30816
30817         Assume rmdir exists.
30818         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
30819
30820 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
30821
30822         doc: update users.txt
30823         * users.txt: Add gcal.
30824
30825 2010-04-06  Jim Meyering  <meyering@redhat.com>
30826
30827         init.sh: simply unset TMPDIR rather than risking env -i
30828         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
30829         although it probably works fine on all Unix-based systems, some
30830         systems (Cygwin?) cannot tolerate a totally cleared environment.
30831         Suggestion from Eric Blake.
30832
30833 2010-04-06  Jim Meyering  <meyering@redhat.com>
30834
30835         init.sh: portability fix: use env's POSIX-specified -i option not -u
30836         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
30837         than unportable env -u.  Solaris 5.11's env lacks support for -u.
30838
30839 2010-04-05  Bruno Haible  <bruno@clisp.org>
30840
30841         btowc: Work around Cygwin 1.7.2 bug.
30842         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
30843         does not map NUL to 0.
30844         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
30845
30846 2010-04-05  Bruno Haible  <bruno@clisp.org>
30847
30848         Make the multithread modules work on Cygwin 1.7.2.
30849         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
30850         imported symbols can be declared weak, so that it returns "no" on
30851         Cygwin 1.7.2.
30852
30853 2010-04-05  Bruno Haible  <bruno@clisp.org>
30854
30855         Use the module 'strncat'.
30856         * modules/unistr/u8-strncat (Depends-on): Add strncat.
30857
30858         Tests for module 'strncat'.
30859         * modules/strncat-tests: New file.
30860         * tests/test-strncat.c: New file.
30861
30862         New module 'strncat'.
30863         * lib/string.in.h (strncat): New declaration.
30864         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
30865         * m4/strncat.m4: New file, based on m4/memchr.m4.
30866         * modules/strncat: New file.
30867         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
30868         is declared.
30869         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
30870         REPLACE_STRNCAT.
30871         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
30872         REPLACE_STRNCAT.
30873         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
30874         module.
30875         * tests/test-string-c++.cc: Check signature of strncat.
30876
30877 2010-04-05  Jim Meyering  <meyering@redhat.com>
30878
30879         xstrtoumax-tests: convert to use init.sh
30880         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
30881         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
30882         Use Exit, not exit.
30883         Remove uses of $EXEEXT and "./" to run a program in the current dir.
30884
30885         xstrtoimax-tests: convert to use init.sh
30886         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
30887         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
30888         Use Exit, not exit.
30889         Remove uses of $EXEEXT and "./" to run a program in the current dir.
30890
30891 2010-04-05  Bruno Haible  <bruno@clisp.org>
30892
30893         sys_socket: Avoid #define replacements in C++ mode.
30894         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
30895         warning to the function if possible, rather than #defining the symbol
30896         to a dysfunctional alias.
30897
30898 2010-04-05  Bruno Haible  <bruno@clisp.org>
30899
30900         fseeko: Fix C++ test error on mingw.
30901         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
30902         gl_FUNC_FSEEKO.
30903         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
30904         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
30905         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
30906         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
30907
30908 2010-04-05  Bruno Haible  <bruno@clisp.org>
30909
30910         duplocale: Improve test output.
30911         * tests/test-duplocale.c (main): Print reason for skipped test.
30912
30913 2010-04-05  Bruno Haible  <bruno@clisp.org>
30914
30915         Assume rmdir exists.
30916         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
30917         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
30918
30919 2010-04-05  Bruno Haible  <bruno@clisp.org>
30920
30921         Fix link error on Solaris 8 with cc.
30922         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
30923
30924 2010-04-05  Bruno Haible  <bruno@clisp.org>
30925
30926         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
30927         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
30928
30929 2010-04-05  Bruno Haible  <bruno@clisp.org>
30930
30931         vasprintf: Update documentation.
30932         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
30933
30934 2010-04-05  Bruno Haible  <bruno@clisp.org>
30935
30936         ptsname: Improve test.
30937         * tests/test-ptsname.c (main): Also try the various master names of BSD
30938         systems.
30939
30940 2010-04-05  Bruno Haible  <bruno@clisp.org>
30941
30942         memchr: Avoid a possible C++ test error.
30943         * lib/string.in.h (memchr): Provide declaration if function is missing.
30944         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
30945         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
30946         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
30947         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
30948
30949 2010-04-05  Bruno Haible  <bruno@clisp.org>
30950
30951         strtok_r: Improve idiom.
30952         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
30953         AC_LIBOBJ is used.
30954
30955 2010-04-05  Bruno Haible  <bruno@clisp.org>
30956
30957         strdup: Improve idiom.
30958         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
30959         AC_LIBOBJ is used.
30960         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
30961         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
30962         when AC_LIBOBJ is used.
30963
30964 2010-04-05  Bruno Haible  <bruno@clisp.org>
30965
30966         mbsinit, mbrtowc, wcrtomb: Improve idioms.
30967         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
30968         don't set REPLACE_MBSINIT to 1.
30969         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
30970         don't set REPLACE_MBRTOWC to 1.
30971         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
30972         exist, don't set REPLACE_MBSRTOWCS to 1.
30973         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
30974         exist, don't set REPLACE_MBSNRTOWCS to 1.
30975         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
30976         don't set REPLACE_WCRTOMB to 1.
30977         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
30978         exist, don't set REPLACE_WCSRTOMBS to 1.
30979         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
30980         exist, don't set REPLACE_WCSNRTOMBS to 1.
30981
30982 2010-04-05  Bruno Haible  <bruno@clisp.org>
30983
30984         ldexpl: Improve idiom.
30985         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
30986         make sure to set HAVE_DECL_LDEXPL to 0.
30987
30988 2010-04-05  Jim Meyering  <meyering@redhat.com>
30989
30990         xstrtol-tests: convert to use init.sh
30991         * modules/xstrtol-tests (Files): Add tests/init.sh.
30992         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
30993         Use Exit, not exit.
30994         Remove uses of $EXEEXT and "./" to run a program in the current dir.
30995
30996         atexit-tests: convert to use init.sh
30997         * modules/atexit-tests (Files): Add tests/init.sh.
30998         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
30999         Use Exit, not exit.
31000         Remove uses of $EXEEXT and "./" to run a program in the current dir.
31001
31002         init.sh: fix typo
31003         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
31004
31005         init.sh: make it easier for a test script to write to the tty, ...
31006         when using automake's parallel-tests mode.
31007         * tests/init.sh (stderr_fileno_): Define overridable variable.
31008         (warn_): New function, to use it.
31009         (fail_, skip_, framework_failure_): Use warn_.
31010
31011 2010-04-04  Bruno Haible  <bruno@clisp.org>
31012
31013         btowc: Avoid warning.
31014         * lib/btowc.c: Include <stdlib.h>.
31015         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
31016
31017 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
31018             Bruno Haible  <bruno@clisp.org>
31019
31020         wchar: Port to NetBSD 1.5.
31021         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
31022         * lib/wctype.in.h (WEOF): Likewise.
31023
31024 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
31025             Bruno Haible  <bruno@clisp.org>
31026
31027         Port extended stdio to NetBSD 1.5.
31028         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
31029         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
31030         older.
31031
31032 2010-04-04  Bruno Haible  <bruno@clisp.org>
31033
31034         string: Remove unused substitution.
31035         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
31036         HAVE_DECL_STRERROR.
31037         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
31038
31039 2010-04-04  Bruno Haible  <bruno@clisp.org>
31040
31041         strtod: Avoid a possible C++ test error.
31042         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
31043         set REPLACE_STRTOD.
31044
31045 2010-04-04  Bruno Haible  <bruno@clisp.org>
31046
31047         strerror: Update documentation.
31048         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
31049
31050 2010-04-04  Bruno Haible  <bruno@clisp.org>
31051
31052         stdio: Fix some C++ test errors on Solaris 8 with GCC.
31053         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
31054         _GL_CXXALIAS_SYS_CAST.
31055
31056 2010-04-04  Bruno Haible  <bruno@clisp.org>
31057
31058         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
31059         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
31060         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
31061         REPLACE_FREXPL to 1.
31062         * doc/posix-functions/frexpl.texi: Update documentation.
31063
31064 2010-04-04  Bruno Haible  <bruno@clisp.org>
31065
31066         math: Fix some C++ test errors on Solaris 8 and Cygwin.
31067         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
31068
31069 2010-04-04  Bruno Haible  <bruno@clisp.org>
31070
31071         Implement nanosleep for native Windows.
31072         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
31073
31074 2010-04-04  Bruno Haible  <bruno@clisp.org>
31075
31076         math: Fix some C++ test errors on Solaris 8.
31077         * lib/math.in.h (truncf, trunc): Use simpler idiom.
31078
31079 2010-04-04  Bruno Haible  <bruno@clisp.org>
31080
31081         math: Fix some C++ test errors on Cygwin.
31082         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
31083         truncl): Provide declaration if the system does not have it.
31084         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
31085         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
31086         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
31087         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
31088         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
31089         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
31090         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
31091         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
31092         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
31093         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
31094         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
31095         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
31096         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
31097         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
31098         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
31099         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
31100         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
31101         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
31102         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
31103         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
31104         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
31105         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
31106
31107 2010-04-04  Bruno Haible  <bruno@clisp.org>
31108
31109         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
31110         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
31111         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
31112         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
31113         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
31114         * m4/isinf.m4 (gl_ISINF): Likewise.
31115         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
31116
31117 2010-04-04  Bruno Haible  <bruno@clisp.org>
31118
31119         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
31120         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
31121
31122 2010-04-04  Bruno Haible  <bruno@clisp.org>
31123
31124         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
31125         * modules/tmpfile (configure.ac): Update.
31126
31127         tmpfile: Fix C++ test error on mingw.
31128         * lib/stdio.in.h (tmpfile): New declaration.
31129         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
31130         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
31131         * modules/tmpfile (Depends-on): Add stdio.
31132         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
31133         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
31134         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
31135         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
31136         REPLACE_TMPFILE.
31137         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
31138
31139 2010-04-04  Bruno Haible  <bruno@clisp.org>
31140
31141         ioctl: Fix C++ test error on mingw.
31142         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
31143         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
31144         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
31145
31146 2010-04-03  Bruno Haible  <bruno@clisp.org>
31147
31148         wcwidth: Fix C++ test error on mingw.
31149         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
31150         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
31151         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
31152
31153 2010-04-03  Bruno Haible  <bruno@clisp.org>
31154
31155         nanosleep: Fix C++ test error on mingw.
31156         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
31157         * lib/time.in.h (nanosleep): Use modern idiom.
31158         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
31159         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
31160         REPLACE_NANOSLEEP to 1.
31161         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
31162         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
31163
31164 2010-04-03  Bruno Haible  <bruno@clisp.org>
31165
31166         strptime: Fix C++ test error on mingw.
31167         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
31168         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
31169         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
31170         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
31171         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
31172         not REPLACE_STRPTIME.
31173         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
31174         REPLACE_STRPTIME.
31175
31176 2010-04-03  Bruno Haible  <bruno@clisp.org>
31177
31178         timegm: Fix C++ test error on mingw.
31179         * lib/time.in.h (timegm): Use modern idiom.
31180         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
31181         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
31182         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
31183         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
31184
31185 2010-04-03  Bruno Haible  <bruno@clisp.org>
31186
31187         timegm: Assume declaration if function exists.
31188         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
31189         if it exists. Don't clobber ac_cv_func_timegm.
31190
31191 2010-04-03  Bruno Haible  <bruno@clisp.org>
31192
31193         time_r: Fix C++ test error on mingw.
31194         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
31195         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
31196         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
31197         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
31198         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
31199
31200 2010-04-03  Bruno Haible  <bruno@clisp.org>
31201
31202         time_r: Minor updates.
31203         * modules/time_r (Description): Mention the provided functions.
31204         * lib/time_r.c: Don't include <string.h>.
31205         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
31206         * doc/posix-functions/localtime_r.texi: Likewise.
31207
31208 2010-04-03  Bruno Haible  <bruno@clisp.org>
31209
31210         time: Fix regression introduced on 2010-03-08.
31211         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
31212         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
31213
31214 2010-04-03  Jim Meyering  <meyering@redhat.com>
31215
31216         maint.mk: don't silently disable project-specific syntax-check rules
31217         * top/maint.mk (_prohibit_regexp): Define, to help people realize
31218         that they need to convert their project-specific syntax-check rules
31219         to use the new _sc_search_regexp.
31220
31221 2010-04-03  Bruno Haible  <bruno@clisp.org>
31222
31223         fchdir: Fix regression introduced on 2010-03-08.
31224         * lib/unistd.in.h (fchdir): Fix declaration.
31225         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
31226         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
31227         REPLACE_FCHDIR.
31228         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
31229         REPLACE_FCHDIR.
31230
31231 2010-04-03  Bruno Haible  <bruno@clisp.org>
31232
31233         getpagesize: Fix C++ test error on mingw.
31234         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
31235         system does not declare the function.
31236         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
31237         declared.
31238         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
31239         HAVE_DECL_GETPAGESIZE.
31240         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
31241
31242 2010-04-03  Bruno Haible  <bruno@clisp.org>
31243
31244         stdio: Make C++ tests work on mingw.
31245         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
31246         does not declare the function.
31247
31248 2010-04-03  Bruno Haible  <bruno@clisp.org>
31249
31250         ftello: Fix C++ test error on mingw.
31251         * lib/stdio.in.h (ftello): Use modern idiom.
31252         * lib/ftello.c (ftello): Renamed from rpl_ftello.
31253         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
31254         is missing and that it needs to be replaced.
31255         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
31256         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
31257         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
31258
31259 2010-04-03  Bruno Haible  <bruno@clisp.org>
31260
31261         fseeko: Fix C++ test error on mingw.
31262         * lib/stdio.in.h (fseeko): Use modern idiom.
31263         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
31264         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
31265         is missing and that it needs to be replaced.
31266         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
31267         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
31268         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
31269
31270 2010-04-03  Bruno Haible  <bruno@clisp.org>
31271
31272         mkstemp: Fix C++ test error on mingw.
31273         * lib/stdlib.in.h (mkstemp): Use modern idiom.
31274         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
31275         function is missing and that it needs to be replaced.
31276         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
31277         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
31278
31279 2010-04-03  Bruno Haible  <bruno@clisp.org>
31280
31281         stpncpy: Fix C++ test error on mingw.
31282         * lib/string.in.h (stpncpy): Use modern idiom.
31283         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
31284         function is missing and that it needs to be replaced.
31285         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
31286         REPLACE_STPNCPY.
31287         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
31288
31289 2010-04-03  Bruno Haible  <bruno@clisp.org>
31290
31291         sys_stat: Fix C++ test error on mingw.
31292         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
31293         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
31294
31295 2010-04-03  Bruno Haible  <bruno@clisp.org>
31296
31297         pty: Update doc.
31298         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
31299
31300 2010-04-03  Bruno Haible  <bruno@clisp.org>
31301
31302         unistd: Fix C++ test error on mingw.
31303         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
31304
31305 2010-04-03  Bruno Haible  <bruno@clisp.org>
31306
31307         Update doc regarding mingw.
31308         * doc/glibc-functions/openpty.texi: Update regarding mingw.
31309         * doc/glibc-functions/login_tty.texi: Likewise.
31310         * doc/glibc-functions/forkpty.texi: Likewise.
31311
31312 2010-04-03  Bruno Haible  <bruno@clisp.org>
31313
31314         stdlib: Avoid compilation failure of c-strtold on mingw.
31315         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
31316
31317 2010-04-03  Bruno Haible  <bruno@clisp.org>
31318
31319         locale: Make C++ tests work on Cygwin and mingw.
31320         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
31321         cannot provide the function.
31322         Reported by Simon Josefsson.
31323
31324 2010-04-03  Bruno Haible  <bruno@clisp.org>
31325
31326         localename: Port to MacOS X 10.6.
31327         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
31328         memory layout of the locales in MacOS X 10.6 as well.
31329         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
31330
31331 2010-04-02  Bruno Haible  <bruno@clisp.org>
31332
31333         gnulib-tool: Ensure that long-running tests are executed last.
31334         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
31335         running tests after the one for the other tests.
31336
31337 2010-04-02  Bruno Haible  <bruno@clisp.org>
31338
31339         gnulib-tool: Ensure the tests in the main directory are executed first.
31340         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
31341         start with the current directory.
31342
31343 2010-04-02  Bruno Haible  <bruno@clisp.org>
31344
31345         Tests for module 'havelib', moved here from GNU gettext.
31346         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
31347         modifications.
31348         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
31349         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
31350         with modifications.
31351         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
31352         modifications.
31353         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
31354         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
31355         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
31356         with modifications.
31357         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
31358         with modifications.
31359         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
31360         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
31361         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
31362         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
31363         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
31364         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
31365         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
31366         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
31367         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
31368         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
31369         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
31370         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
31371         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
31372         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
31373         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
31374         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
31375         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
31376         with modifications.
31377         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
31378         with modifications.
31379         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
31380         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
31381         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
31382         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
31383         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
31384         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
31385         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
31386         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
31387         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
31388         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
31389         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
31390         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
31391         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
31392         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
31393         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
31394         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
31395         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
31396         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
31397         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
31398         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
31399         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
31400         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
31401         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
31402         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
31403         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
31404         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
31405         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
31406         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
31407         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
31408         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
31409         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
31410         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
31411         * tests/havelib/rpathx/rpathx.c: New file, from
31412         gettext/autoconf-lib-link.
31413         * tests/havelib/rpathx/Makefile.am: New file, from
31414         gettext/autoconf-lib-link.
31415         * tests/havelib/rpathx/configure.ac: New file, from
31416         gettext/autoconf-lib-link with modifications.
31417         * tests/havelib/rpathy/rpathy.c: New file, from
31418         gettext/autoconf-lib-link.
31419         * tests/havelib/rpathy/Makefile.am: New file, from
31420         gettext/autoconf-lib-link.
31421         * tests/havelib/rpathy/configure.ac: New file, from
31422         gettext/autoconf-lib-link with modifications.
31423         * tests/havelib/rpathz/rpathz.c: New file, from
31424         gettext/autoconf-lib-link.
31425         * tests/havelib/rpathz/Makefile.am: New file, from
31426         gettext/autoconf-lib-link.
31427         * tests/havelib/rpathz/configure.ac: New file, from
31428         gettext/autoconf-lib-link with modifications.
31429         * tests/havelib/rpathlx/usex.c: New file, from
31430         gettext/autoconf-lib-link.
31431         * tests/havelib/rpathlx/Makefile.am: New file, from
31432         gettext/autoconf-lib-link.
31433         * tests/havelib/rpathlx/configure.ac: New file, from
31434         gettext/autoconf-lib-link with modifications.
31435         * tests/havelib/rpathly/usey.c: New file, from
31436         gettext/autoconf-lib-link.
31437         * tests/havelib/rpathly/Makefile.am: New file, from
31438         gettext/autoconf-lib-link.
31439         * tests/havelib/rpathly/configure.ac: New file, from
31440         gettext/autoconf-lib-link with modifications.
31441         * tests/havelib/rpathlz/usez.c: New file, from
31442         gettext/autoconf-lib-link.
31443         * tests/havelib/rpathlz/Makefile.am: New file, from
31444         gettext/autoconf-lib-link.
31445         * tests/havelib/rpathlz/configure.ac: New file, from
31446         gettext/autoconf-lib-link with modifications.
31447         * tests/havelib/rpathlyx/usey.c: New file, from
31448         gettext/autoconf-lib-link.
31449         * tests/havelib/rpathlyx/Makefile.am: New file, from
31450         gettext/autoconf-lib-link.
31451         * tests/havelib/rpathlyx/configure.ac: New file, from
31452         gettext/autoconf-lib-link with modifications.
31453         * tests/havelib/rpathlzyx/usez.c: New file, from
31454         gettext/autoconf-lib-link.
31455         * tests/havelib/rpathlzyx/Makefile.am: New file, from
31456         gettext/autoconf-lib-link.
31457         * tests/havelib/rpathlzyx/configure.ac: New file, from
31458         gettext/autoconf-lib-link with modifications.
31459         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
31460         with modifications.
31461
31462 2010-04-02  Bruno Haible  <bruno@clisp.org>
31463
31464         gnulib-tool: Create distributed built sources also for the tests.
31465         * gnulib-tool (func_create_testdir): Also generate distributed built
31466         sources in the tests directory.
31467
31468 2010-04-02  Bruno Haible  <bruno@clisp.org>
31469
31470         gnulib-tool: Obey user's environment variables.
31471         * gnulib-tool (func_create_testdir): When creating built sources,
31472         respect the environment variables for autoconf, automake, etc. given by
31473         the user.
31474
31475 2010-04-02  Bruno Haible  <bruno@clisp.org>
31476
31477         gnulib-tool: Provide the value of --m4-base to modules.
31478         * gnulib-tool (func_import, func_create_testdir): Emit a definition
31479         of gl_m4_base.
31480
31481 2010-04-02  Eric Blake  <eblake@redhat.com>
31482
31483         maint.mk: fix some fallout
31484         * NEWS: Document the incompatible change, and its effect on cfg.mk.
31485         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
31486
31487 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
31488
31489         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
31490         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
31491         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
31492         (sc_cast_of_x_alloc_return_value): Likewise.
31493         (sc_cast_of_alloca_return_value): Likewise.
31494         (sc_space_tab): Likewise.
31495         (sc_prohibit_atoi_atof): Likewise.
31496         (sc_prohibit_magic_number_exit): Likewise.
31497         (sc_error_exit_success): Likewise.
31498         (sc_file_system): Likewise.
31499         (sc_prohibit_have_config_h): Likewise.
31500         (sc_require_config_h): Likewise.
31501         (sc_prohibit_HAVE_MBRTOWC): Likewise.
31502         (sc_obsolete_symbols): Likewise.
31503         (sc_changelog): Likewise.
31504         (sc_program_name): Likewise.
31505         (sc_the_the): Likewise.
31506         (sc_trailing_blank): Likewise.
31507         (sc_two_space_separator_in_usage): Likewise.
31508         (sc_useless_cpp_parens): Likewise.
31509         (sc_GPL_version): Likewise.
31510         (sc_GFDL_version): Likewise.
31511         (sc_texinfo_acronym): Likewise.
31512         (sc_prohibit_cvs_keyword): Likewise.
31513         (sc_prohibit_stat_st_blocks): Likewise.
31514         (sc_prohibit_S_IS_definition): Likewise.
31515         (sc_redundant_const): Likewise.
31516         (sc_makefile_TAB_only_indentation): Likewise.
31517         (sc_m4_quote_check): Likewise.
31518         (sc_makefile_path_separator_check): Likewise.
31519         (sc_copyright_check): Likewise.
31520         (sc_Wundef_boolean): Likewise.
31521         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
31522
31523         maint.mk: match 0 or more whitespace-before-function-call '('
31524         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
31525         that have zero or two-and-more spaces between the function name
31526         and the open parenthesis.
31527         (sc_error_message_warn_fatal): Likewise.
31528         (sc_error_message_uppercase): Likewise.
31529         (sc_error_message_period): Likewise.
31530
31531 2010-03-31  Eric Blake  <eblake@redhat.com>
31532
31533         maint.mk: check for [ as well as test
31534         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
31535         Based on a libvirt report by Matthias Bolte.
31536
31537         gnumakefile: don't squelch _version output
31538         * top/GNUmakefile (_version): Create one-shot dependency rather
31539         than using $(shell) when version must be regenerated.
31540         (_autoreconf): Run verbosely, by default.
31541
31542         sys_time: avoid compiler warnings
31543         * lib/sys_time.in.h (includes): Ensure gcc pragma is
31544         unconditional, fixing regression from 2010-03-29.
31545         Reported by Simon Josefsson.
31546
31547 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
31548
31549         maint.mk: s/_header_without_use/_sc_header_without_use/
31550         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
31551         (sc_prohibit_assert_without_use): Use the new name.
31552         (sc_prohibit_close_stream_without_use): Likewise.
31553         (sc_prohibit_getopt_without_use): Likewise.
31554         (sc_prohibit_quotearg_without_use): Likewise.
31555         (sc_prohibit_quote_without_use): Likewise.
31556         (sc_prohibit_long_options_without_use): Likewise.
31557         (sc_prohibit_inttostr_without_use): Likewise.
31558         (sc_prohibit_ignore_value_without_use): Likewise.
31559         (sc_prohibit_error_without_use): Likewise.
31560         (sc_prohibit_xalloc_without_use): Likewise.
31561         (sc_prohibit_hash_without_use): Likewise.
31562         (sc_prohibit_hash_pjw_without_use): Likewise.
31563         (sc_prohibit_safe_read_without_use): Likewise.
31564         (sc_prohibit_argmatch_without_use): Likewise.
31565         (sc_prohibit_canonicalize_without_use): Likewise.
31566         (sc_prohibit_root_dev_ino_without_use): Likewise.
31567         (sc_prohibit_openat_without_use): Likewise.
31568         (sc_prohibit_c_ctype_without_use): Likewise.
31569         (sc_prohibit_signal_without_use): Likewise.
31570         (sc_prohibit_intprops_without_use): Likewise.
31571
31572 2010-03-30  Eric Blake  <eblake@redhat.com>
31573
31574         maint: improve module indicators
31575         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
31576         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
31577         columns, and avoid extra macro expansion.
31578
31579         fdopendir: work around FreeBSD bug
31580         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
31581         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
31582         * modules/dirent (Makefile.am): Substitute it.
31583         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
31584         declaration.
31585         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
31586         fix.
31587         Reported by Christian Weisgerber <naddy@mips.inka.de>.
31588
31589 2010-03-29  Bruno Haible  <bruno@clisp.org>
31590
31591         Emit #pragma system_header after the inclusion guard, not before.
31592         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
31593         guard that spans the entire file, not before. This enables an
31594         optimization in GCC's preprocessor.
31595         * lib/ctype.in.h: Likewise.
31596         * lib/dirent.in.h: Likewise.
31597         * lib/errno.in.h: Likewise.
31598         * lib/float.in.h: Likewise.
31599         * lib/getopt.in.h: Likewise.
31600         * lib/iconv.in.h: Likewise.
31601         * lib/langinfo.in.h: Likewise.
31602         * lib/locale.in.h: Likewise.
31603         * lib/math.in.h: Likewise.
31604         * lib/netdb.in.h: Likewise.
31605         * lib/netinet_in.in.h: Likewise.
31606         * lib/pty.in.h: Likewise.
31607         * lib/sched.in.h: Likewise.
31608         * lib/se-selinux.in.h: Likewise.
31609         * lib/search.in.h: Likewise.
31610         * lib/spawn.in.h: Likewise.
31611         * lib/stdarg.in.h: Likewise.
31612         * lib/stdint.in.h: Likewise.
31613         * lib/string.in.h: Likewise.
31614         * lib/strings.in.h: Likewise.
31615         * lib/sys_file.in.h: Likewise.
31616         * lib/sys_ioctl.in.h: Likewise.
31617         * lib/sys_time.in.h: Likewise.
31618         * lib/sys_times.in.h: Likewise.
31619         * lib/sys_utsname.in.h: Likewise.
31620         * lib/sys_wait.in.h: Likewise.
31621         * lib/sysexits.in.h: Likewise.
31622         * lib/wctype.in.h: Likewise.
31623
31624 2010-03-28  James Youngman  <jay@gnu.org>
31625
31626         save-cwd: don't leak a file descriptor when the caller execs.
31627         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
31628         saved file descriptor.
31629         * modules/save-cwd (Depends-on): Depend on cloexec.
31630
31631 2010-03-29  Bruno Haible  <bruno@clisp.org>
31632
31633         Remove vestiges of fts-lgpl module.
31634         * lib/fts_.h: Assume GNULIB_FTS is 1.
31635         * lib/fts.c: Likewise.
31636         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
31637
31638 2010-03-28  Bruno Haible  <bruno@clisp.org>
31639
31640         Fix definition of tests witness macro.
31641         * gnulib-tool (func_import): Fix definition of witness macro.
31642
31643 2010-03-28  Bruno Haible  <bruno@clisp.org>
31644
31645         Fix ioctl's protoype on glibc systems.
31646         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
31647         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
31648         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
31649         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
31650         signature. If not, arrange to replace the ioctl function.
31651         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
31652         REPLACE_IOCTL.
31653         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
31654         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
31655         Reported by Ludovic Courtès <ludo@gnu.org>.
31656
31657 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
31658
31659         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
31660         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
31661         made it so grep -r --include=GLOB* ... did not work.
31662
31663 2010-03-26  Jim Meyering  <meyering@redhat.com>
31664             Eric Blake  <eblake@redhat.com>
31665
31666         maint.mk: prohibit use of test's -o and -a operators
31667         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
31668
31669 2010-03-28  Bruno Haible  <bruno@clisp.org>
31670
31671         Remove unused GNULIB_XYZ macro definitions.
31672         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
31673         invocation.
31674
31675 2010-03-28  Bruno Haible  <bruno@clisp.org>
31676
31677         Mark privileged tests modules.
31678         * modules/idpriv-drop-tests (Status): New section.
31679         * modules/idpriv-droptemp-tests (Status): New section.
31680
31681 2010-03-28  Bruno Haible  <bruno@clisp.org>
31682
31683         Split C++ tests into separate tests modules.
31684         * modules/dirent-c++-tests: New file, extracted from
31685         modules/dirent-tests.
31686         * modules/dirent-tests: Depend on it.
31687         * modules/fcntl-h-c++-tests: New file, extracted from
31688         modules/fcntl-h-tests.
31689         * modules/fcntl-h-tests: Depend on it.
31690         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
31691         * modules/glob-tests: Depend on it.
31692         * modules/iconv-h-c++-tests: New file, extracted from
31693         modules/iconv-h-tests.
31694         * modules/iconv-h-tests: Depend on it.
31695         * modules/langinfo-c++-tests: New file, extracted from
31696         modules/langinfo-tests.
31697         * modules/langinfo-tests: Depend on it.
31698         * modules/locale-c++-tests: New file, extracted from
31699         modules/locale-tests.
31700         * modules/locale-tests: Depend on it.
31701         * modules/math-c++-tests: New file, extracted from modules/math-tests.
31702         * modules/math-tests: Depend on it.
31703         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
31704         * modules/pty-tests: Depend on it.
31705         * modules/search-c++-tests: New file, extracted from
31706         modules/search-tests.
31707         * modules/search-tests: Depend on it.
31708         * modules/signal-c++-tests: New file, extracted from
31709         modules/signal-tests.
31710         * modules/signal-tests: Depend on it.
31711         * modules/spawn-c++-tests: New file, extracted from
31712         modules/spawn-tests.
31713         * modules/spawn-tests: Depend on it.
31714         * modules/stdio-c++-tests: New file, extracted from
31715         modules/stdio-tests.
31716         * modules/stdio-tests: Depend on it.
31717         * modules/stdlib-c++-tests: New file, extracted from
31718         modules/stdlib-tests.
31719         * modules/stdlib-tests: Depend on it.
31720         * modules/string-c++-tests: New file, extracted from
31721         modules/string-tests.
31722         * modules/string-tests: Depend on it.
31723         * modules/sys_ioctl-c++-tests: New file, extracted from
31724         modules/sys_ioctl-tests.
31725         * modules/sys_ioctl-tests: Depend on it.
31726         * modules/sys_select-c++-tests: New file, extracted from
31727         modules/sys_select-tests.
31728         * modules/sys_select-tests: Depend on it.
31729         * modules/sys_socket-c++-tests: New file, extracted from
31730         modules/sys_socket-tests.
31731         * modules/sys_socket-tests: Depend on it.
31732         * modules/sys_stat-c++-tests: New file, extracted from
31733         modules/sys_stat-tests.
31734         * modules/sys_stat-tests: Depend on it.
31735         * modules/sys_time-c++-tests: New file, extracted from
31736         modules/sys_time-tests.
31737         * modules/sys_time-tests: Depend on it.
31738         * modules/time-c++-tests: New file, extracted from modules/time-tests.
31739         * modules/time-tests: Depend on it.
31740         * modules/unistd-c++-tests: New file, extracted from
31741         modules/unistd-tests.
31742         * modules/unistd-tests: Depend on it.
31743         * modules/wchar-c++-tests: New file, extracted from
31744         modules/wchar-tests.
31745         * modules/wchar-tests: Depend on it.
31746         * modules/wctype-c++-tests: New file, extracted from
31747         modules/wctype-tests.
31748         * modules/wctype-tests: Depend on it.
31749         Reported by Simon Josefsson.
31750
31751 2010-03-28  Bruno Haible  <bruno@clisp.org>
31752
31753         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
31754         * gnulib-tool (func_exists_module): New function, extracted from
31755         func_verify_module.
31756         (func_verify_module): Use it.
31757         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
31758         'foo' only if 'foo' exists.
31759         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
31760         module.
31761
31762 2010-03-28  Bruno Haible  <bruno@clisp.org>
31763
31764         gnulib-tool: Add support for special categories of tests.
31765         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
31766         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
31767         (func_usage): Document them.
31768         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
31769         inc_unportable_tests, inc_all_tests): New variables.
31770         (func_acceptable): Consider these variables.
31771         (func_modules_transitive_closure): Make it work when the 'Status' field
31772         consists of multiple words.
31773         (func_import): Store and restore the values of inc_cxx_tests,
31774         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
31775         inc_all_tests in gnulib-comp.m4.
31776         (func_create_testdir): Set inc_all_tests to true.
31777         * doc/gnulib.texi (Extra tests modules): New section.
31778         Suggested by Jim Meyering.
31779
31780 2010-03-28  Bruno Haible  <bruno@clisp.org>
31781
31782         ansi-c++-opt: Allow turning off the C++ build by default.
31783         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
31784         gl_CXX_CHOICE_DEFAULT_NO is defined.
31785         Requested by Eric Blake.
31786
31787 2010-03-28  Bruno Haible  <bruno@clisp.org>
31788
31789         unistd: Avoid #define replacements in C++ mode.
31790         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
31791         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
31792         setsockopt, shutdown, select): In C++, attach a warning to the function
31793         if possible, rather than #defining the symbol to a dysfunctional alias.
31794         Reported by John W. Eaton <jwe@gnu.org>.
31795
31796 2010-03-28  Bruno Haible  <bruno@clisp.org>
31797
31798         Fix link errors on mingw.
31799         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
31800         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
31801         $(LIBSOCKET).
31802         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
31803         $(LIBSOCKET).
31804
31805 2010-03-28  Bruno Haible  <bruno@clisp.org>
31806             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31807
31808         lib-ignore: Determine different options for different compilers.
31809         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
31810         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
31811         Add comments.
31812         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
31813         * NEWS: Mention the change.
31814
31815 2010-03-27  Bruno Haible  <bruno@clisp.org>
31816
31817         Remove unused GNULIB_XYZ macro definitions.
31818         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
31819         * modules/fseek (configure.ac): Likewise.
31820         * modules/ioctl (configure.ac): Likewise.
31821         * modules/open (configure.ac): Likewise.
31822         * modules/stdlib-safer (configure.ac): Likewise.
31823
31824 2010-03-27  Bruno Haible  <bruno@clisp.org>
31825
31826         Add a remark about certain modules.
31827         * modules/malloc (Comment): New section.
31828         * modules/realloc (Comment): Likewise.
31829         * modules/sigpipe (Comment): Likewise.
31830
31831 2010-03-27  Bruno Haible  <bruno@clisp.org>
31832
31833         Resolve conflict between the two kinds of module indicators.
31834         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
31835         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
31836         * modules/canonicalize (configure.ac): Invoke
31837         gl_MODULE_INDICATOR_FOR_TESTS.
31838         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
31839         GNULIB_XYZ.
31840         * tests/test-dirent-c++.cc: Likewise.
31841         * tests/test-dirent-safer.c: Likewise.
31842         * tests/test-dup2.c: Likewise.
31843         * tests/test-fchdir.c: Likewise.
31844         * tests/test-fcntl-h-c++.cc: Likewise.
31845         * tests/test-getopt.c: Likewise.
31846         * tests/test-getopt.h: Likewise.
31847         * tests/test-langinfo-c++.cc: Likewise.
31848         * tests/test-locale-c++.cc: Likewise.
31849         * tests/test-math-c++.cc: Likewise.
31850         * tests/test-pty-c++.cc: Likewise.
31851         * tests/test-search-c++.cc: Likewise.
31852         * tests/test-signal-c++.cc: Likewise.
31853         * tests/test-spawn-c++.cc: Likewise.
31854         * tests/test-stdio-c++.cc: Likewise.
31855         * tests/test-stdlib-c++.cc: Likewise.
31856         * tests/test-string-c++.cc: Likewise.
31857         * tests/test-sys_ioctl-c++.cc: Likewise.
31858         * tests/test-sys_select-c++.cc: Likewise.
31859         * tests/test-sys_socket-c++.cc: Likewise.
31860         * tests/test-sys_stat-c++.cc: Likewise.
31861         * tests/test-sys_time-c++.cc: Likewise.
31862         * tests/test-time-c++.cc: Likewise.
31863         * tests/test-unistd-c++.cc: Likewise.
31864         * tests/test-wchar-c++.cc: Likewise.
31865         * tests/uninorm/test-u8-nfc.c: Likewise.
31866         * tests/uninorm/test-u8-nfd.c: Likewise.
31867         * tests/uninorm/test-u8-nfkc.c: Likewise.
31868         * tests/uninorm/test-u8-nfkd.c: Likewise.
31869         * tests/uninorm/test-u16-nfc.c: Likewise.
31870         * tests/uninorm/test-u16-nfd.c: Likewise.
31871         * tests/uninorm/test-u16-nfkc.c: Likewise.
31872         * tests/uninorm/test-u16-nfkd.c: Likewise.
31873         * tests/uninorm/test-u32-nfc.c: Likewise.
31874         * tests/uninorm/test-u32-nfc-big.c: Likewise.
31875         * tests/uninorm/test-u32-nfd.c: Likewise.
31876         * tests/uninorm/test-u32-nfd-big.c: Likewise.
31877         * tests/uninorm/test-u32-nfkc.c: Likewise.
31878         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
31879         * tests/uninorm/test-u32-nfkd.c: Likewise.
31880         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
31881         * tests/uninorm/test-u32-normalize-big.c: Likewise.
31882
31883 2010-03-27  Bruno Haible  <bruno@clisp.org>
31884
31885         Distinguish two kinds of module indicators.
31886         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
31887         gl_MODULE_INDICATOR.
31888         (gl_MODULE_INDICATOR): New macro.
31889         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
31890         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
31891         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
31892         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
31893         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
31894         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
31895         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
31896         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
31897         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
31898         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
31899         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
31900         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
31901         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
31902         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
31903         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
31904         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
31905         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
31906         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
31907         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
31908         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
31909         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
31910         * modules/cloexec (configure.ac): Likewise.
31911         * modules/getopt-gnu (configure.ac): Likewise.
31912         * modules/uninorm/u8-normalize (configure.ac): Likewise.
31913         * modules/uninorm/u16-normalize (configure.ac): Likewise.
31914         * modules/uninorm/u32-normalize (configure.ac): Likewise.
31915         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
31916
31917 2010-03-27  Bruno Haible  <bruno@clisp.org>
31918
31919         New module description field 'Comment'.
31920         * gnulib-tool: New option --extract-comment.
31921         (func_usage): Document it.
31922         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
31923         (func_get_comment): New function.
31924         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
31925
31926 2010-03-27  Bruno Haible  <bruno@clisp.org>
31927
31928         Addendum to 2010-02-07 commit.
31929         * gnulib-tool (func_usage): Document --extract-applicability option.
31930
31931 2010-03-27  Bruno Haible  <bruno@clisp.org>
31932
31933         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
31934         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
31935         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
31936         rather than link errors.
31937
31938 2010-03-27  Bruno Haible  <bruno@clisp.org>
31939
31940         Avoid side effects from tests-related modules on the compilation of lib.
31941         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
31942         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
31943         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
31944         parameter. Emit into AM_CPPFLAGS a definition of the designated C
31945         macro.
31946         (func_import): Define a witness macro. Assign it a value that depends
31947         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
31948         tests-related modules.
31949         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
31950         Reported by Jim Meyering.
31951
31952 2010-03-27  Bruno Haible  <bruno@clisp.org>
31953
31954         Factorize common .m4 code.
31955         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
31956         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
31957         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
31958         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
31959         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
31960         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
31961         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
31962         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
31963         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
31964         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
31965         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
31966         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
31967         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
31968         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
31969         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
31970         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
31971         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
31972         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
31973         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
31974         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
31975         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
31976         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
31977         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
31978         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
31979         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
31980         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
31981         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
31982         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
31983         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
31984         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
31985         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
31986         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
31987
31988 2010-03-27  Bruno Haible  <bruno@clisp.org>
31989
31990         Fix a compilation error on Cygwin with g++ >= 4.3.
31991         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
31992         if it is undefined or if we alias it to chmod.
31993         (lstat): Don't warn about the use of this function if it is undefined
31994         or if we alias it to stat.
31995         Reported by Simon Josefsson.
31996
31997 2010-03-27  Bruno Haible  <bruno@clisp.org>
31998
31999         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
32000         * modules/getlogin (configure.ac): Update.
32001
32002         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
32003         * modules/getlogin_r (configure.ac): Update.
32004
32005         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
32006         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
32007         * modules/inet_ntop (configure.ac): Update.
32008
32009         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
32010         * modules/inet_pton (configure.ac): Update.
32011
32012         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
32013         * modules/mbslen (configure.ac): Update.
32014
32015         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
32016         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
32017         * modules/forkpty (configure.ac): Update.
32018         * modules/openpty (configure.ac): Update.
32019
32020 2010-03-26  Simon Josefsson  <simon@josefsson.org>
32021
32022         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
32023         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
32024
32025 2010-03-25  Eric Blake  <eblake@redhat.com>
32026
32027         maint: use pragma consistently across replacement headers
32028         * lib/ctype.in.h (system_header): Hoist for consistent placement.
32029         * lib/dirent.in.h (system_header): Likewise.
32030         * lib/errno.in.h (system_header): Likewise.
32031         * lib/float.in.h (system_header): Likewise.
32032         * lib/getopt.in.h (system_header): Likewise.
32033         * lib/iconv.in.h (system_header): Likewise.
32034         * lib/inttypes.in.h (system_header): Likewise.
32035         * lib/langinfo.in.h (system_header): Likewise.
32036         * lib/locale.in.h (system_header): Likewise.
32037         * lib/math.in.h (system_header): Likewise.
32038         * lib/netdb.in.h (system_header): Likewise.
32039         * lib/netinet_in.in.h (system_header): Likewise.
32040         * lib/pty.in.h (system_header): Likewise.
32041         * lib/sched.in.h (system_header): Likewise.
32042         * lib/se-selinux.in.h (system_header): Likewise.
32043         * lib/search.in.h (system_header): Likewise.
32044         * lib/spawn.in.h (system_header): Likewise.
32045         * lib/stdarg.in.h (system_header): Likewise.
32046         * lib/stdint.in.h (system_header): Likewise.
32047         * lib/string.in.h (system_header): Likewise.
32048         * lib/strings.in.h (system_header): Likewise.
32049         * lib/sys_file.in.h (system_header): Likewise.
32050         * lib/sys_ioctl.in.h (system_header): Likewise.
32051         * lib/sys_socket.in.h (system_header): Likewise.
32052         * lib/sys_times.in.h (system_header): Likewise.
32053         * lib/sys_utsname.in.h (system_header): Likewise.
32054         * lib/sys_wait.in.h (system_header): Likewise.
32055         * lib/sysexits.in.h (system_header): Likewise.
32056         * lib/unistd.in.h (system_header): Likewise.
32057         * lib/wctype.in.h (system_header): Likewise.
32058
32059         arpa/inet: fix mingw compilation warning
32060         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
32061         Reported by Matthew Bolte.
32062
32063 2010-03-25  Bruno Haible  <bruno@clisp.org>
32064
32065         Avoid collision between gnulib wrapper and libintl wrapper.
32066         * lib/printf.c (printf): Don't define if a printf wrapper is already
32067         defined in intl/printf.c.
32068         Reported by Michel Boaventura <michel@michelboaventura.com>.
32069
32070 2010-03-25  Bruno Haible  <bruno@clisp.org>
32071
32072         Use ANSI C.
32073         * lib/readutmp.h (getutent): Provide ANSI C prototype.
32074
32075 2010-03-25  Bruno Haible  <bruno@clisp.org>
32076
32077         Minor formatting changes.
32078         * lib/acosl.c: Insert space before function argument list.
32079         * lib/argz.c: Likewise.
32080         * lib/asinl.c: Likewise.
32081         * lib/expl.c: Likewise.
32082         * lib/gen-uni-tables.c: Likewise.
32083         * lib/gettext.h: Likewise.
32084         * lib/glthread/lock.h: Likewise.
32085         * lib/tanl.c: Likewise.
32086         * lib/uniname/uniname.c: Likewise.
32087         * tests/test-idpriv-drop.c: Likewise.
32088         * tests/test-idpriv-droptemp.c: Likewise.
32089         * tests/test-lock.c: Likewise.
32090         * tests/test-tls.c: Likewise.
32091         * lib/argp-help.c: Insert space before function-like macro argument
32092         list.
32093         * lib/memcmp.c: Likewise.
32094         * tests/test-base64.c: Likewise.
32095         * lib/localename.c: Insert space before sizeof's argument list.
32096         * lib/safe-alloc.h: Likewise.
32097         * lib/file-set.h: Insert space before macro argument list.
32098         * tests/test-argp.c: Likewise.
32099         * lib/argp-namefrob.h: Insert space before function parameter list.
32100         * lib/getaddrinfo.c: Likewise.
32101         * lib/netdb.in.h: Likewise.
32102         * lib/parse-duration.h: Likewise.
32103         * lib/parse-duration.c: Likewise.
32104         * lib/poll.c: Likewise.
32105         * lib/select.c: Likewise.
32106         * lib/trim.h: Likewise.
32107         * tests/test-usleep.c: Likewise.
32108         * lib/ldexpl.c: Insert space before function parameter list and before
32109         function argument list.
32110         * lib/logl.c: Likewise.
32111         * lib/sqrtl.c: Likewise.
32112         * lib/trim.c: Likewise.
32113         * lib/cosl.c: Use GNU style indentation. Insert space before function
32114         argument list.
32115         * lib/sinl.c: Likewise.
32116         * lib/tsearch.c: Insert space after 'for'.
32117         Reported by Jim Meyering.
32118
32119 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
32120
32121         * maint.mk (sc_Wundef_boolean): Check for the presence of the
32122         config header before grepping, as it's not present before
32123         autoreconf/configure are run.  Reported by Simon Josefsson.
32124
32125 2010-03-23  Bruno Haible  <bruno@clisp.org>
32126
32127         pt_chown: Make it work with automake < 1.11.
32128         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
32129         Reported by Simon Josefsson.
32130
32131 2010-03-23  Bruno Haible  <bruno@clisp.org>
32132
32133         pt_chown: Don't depend on GPLed modules.
32134         * lib/pt_chown.c: Don't include idpriv.h.
32135         (main): Don't drop privileges.
32136         * modules/pt_chown (Depends-on): Remove idpriv-drop.
32137         Reported by Simon Josefsson.
32138
32139 2010-03-24  Simon Josefsson  <simon@josefsson.org>
32140
32141         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
32142         suggestions from karl@freefriends.org (Karl Berry).
32143
32144 2010-03-22  Eric Blake  <eblake@redhat.com>
32145
32146         gethostname: further tweaks
32147         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
32148         are overriding gethostname.
32149         Suggested by Bruno Haible.
32150
32151 2010-03-21  Bruno Haible  <bruno@clisp.org>
32152
32153         Fix comments.
32154         * lib/forkpty.c (rpl_forkpty): Fix comment.
32155         * lib/openpty.c (rpl_openpty): Likewise.
32156         Reported by Eric Blake.
32157
32158 2010-03-22  Eric Blake  <eblake@redhat.com>
32159
32160         gethostname: fix build on mingw
32161         * lib/unistd.in.h (includes): Work around fact that mingw
32162         <winsock2.h> re-includes <unistd.h>, by avoiding any
32163         redeclarations if we are being included by <winsock2.h>.
32164         Reported by Matthias Bolte.
32165
32166 2010-03-21  Bruno Haible  <bruno@clisp.org>
32167
32168         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
32169         * lib/forkpty.c (forkpty): New replacement function, from glibc with
32170         modifications.
32171         * lib/pty.in.h (forkpty): Update declaration. Add comments.
32172         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
32173         provide the replacement.
32174         * modules/forkpty (Depends-on): Add openpty, login_tty.
32175         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
32176         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
32177         * doc/glibc-functions/forkpty.texi: More supported platforms.
32178         * config/srclist.txt: Add forkpty.c (commented).
32179
32180 2010-03-21  Bruno Haible  <bruno@clisp.org>
32181
32182         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
32183         (Makefile.am): Verify that PTY_LIB is defined.
32184
32185         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
32186
32187 2010-03-21  Bruno Haible  <bruno@clisp.org>
32188
32189         Tests for module 'login_tty'.
32190         * modules/login_tty-tests: New file.
32191         * tests/test-login_tty.c: New file.
32192
32193         New module 'login_tty'.
32194         * lib/login_tty.c: New file.
32195         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
32196         * modules/login_tty: New file.
32197         * doc/glibc-functions/login_tty.texi: Mention the new module.
32198
32199 2010-03-21  Bruno Haible  <bruno@clisp.org>
32200
32201         login_tty: Documentation.
32202         * doc/glibc-functions/login_tty.texi: New file.
32203         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
32204
32205 2010-03-21  Bruno Haible  <bruno@clisp.org>
32206
32207         pty: Consistent macro naming.
32208         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
32209         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
32210         * modules/pty (configure.ac): Update.
32211
32212 2010-03-21  Bruno Haible  <bruno@clisp.org>
32213
32214         Tests for openpty: Make stricter.
32215         * tests/test-openpty.c (main): Add test of canonical processing and
32216         erase.
32217         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
32218
32219         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
32220         * lib/openpty.c (openpty): New replacement function.
32221         * lib/pty.in.h: Include <termios.h>.
32222         (openpty): Update declaration. Add comments.
32223         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
32224         is not declared, arrange to provide the replacement. Check for _getpty
32225         and posix_openpt.
32226         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
32227         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
32228         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
32229         * modules/pty-tests (test_pty_c___LDADD): New variable.
32230         * doc/glibc-functions/openpty.texi: More supported platforms.
32231
32232 2010-03-21  Bruno Haible  <bruno@clisp.org>
32233
32234         setenv: Tweaks.
32235         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
32236         the test program.
32237         * doc/posix-functions/setenv.texi: Update platforms list.
32238
32239 2010-03-21  Bruno Haible  <bruno@clisp.org>
32240
32241         New module 'unlockpt'.
32242         * lib/unlockpt.c: New file, from glibc with modifications.
32243         * m4/unlockpt.m4: New file.
32244         * modules/unlockpt: New file.
32245         * lib/stdlib.in.h (unlockpt): New declaration.
32246         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
32247         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
32248         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
32249         HAVE_UNLOCKPT.
32250         * doc/posix-functions/unlockpt.texi: Mention the new module.
32251         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
32252         * config/srclist.txt: Add unlockpt.c (commented).
32253
32254 2010-03-21  Jim Meyering  <meyering@redhat.com>
32255
32256         maint.mk: prohibit inclusion of "intprops.h" without use
32257         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
32258
32259 2010-03-21  Bruno Haible  <bruno@clisp.org>
32260
32261         New module 'grantpt'.
32262         * lib/grantpt.c: New file, from glibc with modifications.
32263         * m4/grantpt.m4: New file.
32264         * modules/grantpt: New file.
32265         * lib/stdlib.in.h (grantpt): New declaration.
32266         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
32267         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
32268         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
32269         HAVE_GRANTPT.
32270         * doc/posix-functions/grantpt.texi: Mention the new module.
32271         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
32272         * config/srclist.txt: Add grantpt.c (commented).
32273
32274 2010-03-21  Bruno Haible  <bruno@clisp.org>
32275
32276         New module 'pt_chown'.
32277         * lib/pt_chown.c: New file, from glibc with modifications.
32278         * lib/pty-private.h: New file, from glibc with modifications.
32279         * modules/pt_chown: New file.
32280         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
32281
32282 2010-03-21  Bruno Haible  <bruno@clisp.org>
32283
32284         Tests for module 'ptsname'.
32285         * modules/ptsname-tests: New file.
32286         * tests/test-ptsname.c: New file.
32287
32288         New module 'ptsname'.
32289         * lib/ptsname.c: New file, from glibc with modifications.
32290         * m4/ptsname.m4: New file.
32291         * modules/ptsname: New file.
32292         * lib/stdlib.in.h (ptsname): New declaration.
32293         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
32294         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
32295         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
32296         HAVE_PTSNAME.
32297         * doc/posix-functions/ptsname.texi: Mention the new module.
32298         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
32299         * config/srclist.txt: Add ptsname.c (commented).
32300
32301 2010-03-21  Bruno Haible  <bruno@clisp.org>
32302
32303         Tests for module 'ttyname_r'.
32304         * modules/ttyname_r-tests: New file.
32305         * tests/test-ttyname_r.c: New file.
32306
32307         New module 'ttyname_r'.
32308         * lib/ttyname_r.c: New file.
32309         * m4/ttyname_r.m4: New file.
32310         * modules/ttyname_r: New file.
32311         * lib/unistd.in.h (ttyname_r): New declaration.
32312         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
32313         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
32314         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
32315         HAVE_TTYNAME_R.
32316         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
32317         * doc/posix-functions/ttyname_r.texi: Mention the new module.
32318
32319 2010-03-20  Bruno Haible  <bruno@clisp.org>
32320
32321         signal: Undefine macro definitions in C++ mode.
32322         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
32323         sigfillset): Undefine macro definitions from the system header in C++
32324         mode.
32325         Reported by John W. Eaton <jwe@gnu.org>.
32326
32327 2010-03-20  Bruno Haible  <bruno@clisp.org>
32328
32329         Ensure no #include statements inside extern "C" { ... }.
32330         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
32331         contain #include statements.
32332         * lib/time.in.h: Likewise.
32333
32334 2010-03-20  Bruno Haible  <bruno@clisp.org>
32335
32336         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
32337         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
32338         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
32339         Reported by John W. Eaton <jwe@gnu.org>.
32340
32341 2010-03-20  Bruno Haible  <bruno@clisp.org>
32342
32343         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
32344         Reported by Jim Meyering.
32345
32346 2010-03-20  Bruno Haible  <bruno@clisp.org>
32347
32348         pipe: Set errno upon failure.
32349         * lib/pipe.h: Specify that when -1 is returned, errno is set.
32350         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
32351         errno value in error message.
32352
32353 2010-03-20  Bruno Haible  <bruno@clisp.org>
32354             Jim Meyering  <meyering@redhat.com>
32355
32356         lchown: Avoid "unused variable" warning.
32357         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
32358
32359 2010-03-20  Bruno Haible  <bruno@clisp.org>
32360
32361         Work around unlink() bug on MacOS X 10.5.6.
32362         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
32363         attempting to unlink a parent directory.
32364         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
32365         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
32366         activate for the replacement function.
32367         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
32368
32369 2010-03-20  Bruno Haible  <bruno@clisp.org>
32370
32371         Fix link errors on Solaris 8.
32372         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
32373         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
32374
32375 2010-03-19  Jim Meyering  <meyering@redhat.com>
32376
32377         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
32378         The _LIBC implementation of build_range_exp correctly honors the
32379         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
32380         However, the non-_LIBC implementation would ignore that syntax-bit
32381         flag and return REG_ERANGE unconditionally.
32382         This change makes it honor that flag.
32383         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
32384         Make two pointer parameters "const".
32385         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
32386         (parse_bracket_exp): Update caller.
32387
32388         regex.m4: correct the reversed range endpoint ([b-a]) test
32389         * m4/regex.m4: When requiring that [b-a] evoke failure,
32390         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
32391         test pass once again for x86-based systems.
32392
32393 2010-03-19  Bruno Haible  <bruno@clisp.org>
32394
32395         scandir: Fix link error on Solaris 8.
32396         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
32397         macros.
32398
32399 2010-03-19  Bruno Haible  <bruno@clisp.org>
32400
32401         getusershell: Fix documentation.
32402         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
32403         module.
32404         * doc/glibc-functions/setusershell.texi: Likewise.
32405
32406         getusershell: Provide declaration, missing on Solaris 9.
32407         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
32408         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
32409         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
32410         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
32411         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
32412         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
32413         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
32414         HAVE_GETUSERSHELL.
32415         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
32416
32417 2010-03-19  Bruno Haible  <bruno@clisp.org>
32418
32419         wctype: Provide iswblank function.
32420         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
32421         exists and is fine.
32422         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
32423         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
32424         * tests/test-wctype.c (main): Re-enable the iswblank tests.
32425         * doc/posix-functions/iswblank.texi: Update.
32426
32427 2010-03-19  Bruno Haible  <bruno@clisp.org>
32428
32429         Tests of module 'pty' in C++ mode.
32430         * modules/pty-tests: New file.
32431         * tests/test-pty-c++.cc: New file.
32432         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
32433
32434 2010-03-19  Eric Blake  <eblake@redhat.com>
32435
32436         logb: fix documentation
32437         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
32438         1.5 declaration bug.
32439
32440         forkpty, openpty: prefer glibc's const-safe prototype
32441         * lib/forkpty.c (rpl_forkpty): New file.
32442         * lib/openpty.c (rpl_openpty): Likewise.
32443         * modules/forkpty (Files): Distribute it.
32444         * modules/openpty (Files): Likewise.
32445         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
32446         check...
32447         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
32448         replacement for for non-const BSD signature.
32449         * modules/pty (Makefile.am): Substitute witnesses.
32450         * lib/pty.in.h (forkpty, openpty): Declare replacements.
32451         * tests/test-forkpty.c: Update signature check.
32452         * tests/test-openpty.c: Likewise.
32453         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
32454         * doc/glibc-functions/openpty.texi (openpty): Likewise.
32455
32456         forkpty, openpty: split functions into new modules
32457         * modules/pty (Makefile.am): Substitute new witnesses.
32458         (Libraries): Move library detection...
32459         * modules/forkpty: ...into new module.
32460         * modules/openpty: Another new module.
32461         * modules/pty-tests: Rename and split...
32462         * modules/forkpty-tests: ...to this...
32463         * modules/openpty-tests: ...and this.
32464         * tests/test-pty.c: Rename and split...
32465         * tests/test-forkpty.c: ...to this...
32466         * tests/test-openpty.c: ...and this.
32467         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
32468         (gl_PTY): Split library searching...
32469         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
32470         (gl_FORKPTY, gl_OPENPTY): New macros.
32471         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
32472         * NEWS: Mention the split.
32473         * MODULES.html.sh (Misc): Document the modules.
32474         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
32475         * doc/glibc-functions/openpty.texi (openpty): Likewise.
32476
32477         pty: improve replacement header
32478         * lib/pty.in.h: New file.
32479         * modules/pty (Files): Ship it.
32480         (Makefile.am): Always build replacement.
32481         * m4/pty.m4: Rename...
32482         * m4/pty_h.m4: ...to this.
32483         (gl_PTY): Modernize setting of witness macros; update check of
32484         forkpty to take proper advantage of cache.
32485         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
32486
32487         getopt: avoid compiler warning
32488         * lib/getopt.c (attribute_hidden): Remove unused macro.
32489
32490 2010-03-18  Bruno Haible  <bruno@clisp.org>
32491
32492         Fix link errors on Solaris 8.
32493         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
32494         * modules/search-tests (test_search_c___LDADD): Likewise.
32495         * modules/signal-tests (test_signal_c___LDADD): Likewise.
32496         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
32497         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
32498         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
32499         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
32500         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
32501         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
32502
32503 2010-03-18  Bruno Haible  <bruno@clisp.org>
32504
32505         Fix bug introduced on 2010-03-14.
32506         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
32507         (gl_SPAWN_H): Require it.
32508         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
32509         Reported by Simon Josefsson.
32510
32511 2010-03-18  Bruno Haible  <bruno@clisp.org>
32512
32513         Fix typo introduced on 2009-12-31.
32514         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
32515         posix_spawn_file_actions_adddup2.
32516
32517 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
32518         and Eric Blake  <eblake@redhat.com>
32519
32520         test-vc-list-files-git: make more robust
32521         * tests/test-vc-list-files-git.sh: Unset problematic environment
32522         variables.  Chain commands together.
32523
32524 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
32525
32526         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
32527         `AC_CHECK_DECL' invocation.
32528
32529 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
32530
32531         * lib/inttostr.c (inttostr): Make sure the invocation of verify
32532         appears before executable statements. Suggested by Petr Sumbera
32533         <Petr.Sumbera@Sun.COM>.
32534
32535 2010-03-14  Bruno Haible  <bruno@clisp.org>
32536
32537         * tests/test-flock.c (test_exclusive): Comment out a test that causes
32538         portability problems. Instead use a simpler test.
32539         (main): Check that invalid arguments are rejected only on Linux.
32540
32541 2010-03-14  Bruno Haible  <bruno@clisp.org>
32542
32543         Fix bug introduced on 2009-12-31.
32544         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
32545         gl_PREREQ_SYS_H_WINSOCK2 always.
32546         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
32547         SYS_SOCKET_H variable.
32548         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
32549         Update comments.
32550         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
32551         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
32552         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
32553         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
32554         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
32555
32556 2010-03-14  Bruno Haible  <bruno@clisp.org>
32557
32558         Fix values returned by sinl, cosl.
32559         * lib/trigl.h: Add specification comments.
32560         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
32561         that combines the values from the precomputed table with the values of
32562         the Chebyshev polynomials.
32563
32564 2010-03-14  Bruno Haible  <bruno@clisp.org>
32565
32566         Fix compilation error when modules 'posix_spawn[p]' are not used.
32567         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
32568         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
32569
32570 2010-03-14  Bruno Haible  <bruno@clisp.org>
32571
32572         Fix compilation error on mingw when module 'time_r' is not used.
32573         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
32574         is 1.
32575         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
32576         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
32577         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
32578         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
32579
32580 2010-03-14  Bruno Haible  <bruno@clisp.org>
32581
32582         Fix compilation error with Sun C.
32583         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
32584         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
32585         instead of GCC specific ULONG_LONG_MAX.
32586         * lib/xstrtoll.c: Likewise.
32587         * lib/xstrtoull.c: Likewise.
32588
32589 2010-03-13  Bruno Haible  <bruno@clisp.org>
32590
32591         Allow the user to disable C++ code and tests.
32592         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
32593         (gl_PROG_ANSI_CXX): Require it.
32594
32595 2010-03-13  Bruno Haible  <bruno@clisp.org>
32596
32597         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
32598         cases.
32599
32600 2010-03-13  Bruno Haible  <bruno@clisp.org>
32601
32602         Test that gnulib does not break the standard C++ headers.
32603         * tests/test-locale-c++2.cc: New file.
32604         * modules/locale-tests (Files): Add it.
32605         (Makefile.am): Compile it for test-locale-c++.
32606         * tests/test-math-c++2.cc: New file.
32607         * modules/math-tests (Files): Add it.
32608         (Makefile.am): Compile it for test-math-c++.
32609         * tests/test-signal-c++2.cc: New file.
32610         * modules/signal-tests (Files): Add it.
32611         (Makefile.am): Compile it for test-signal-c++.
32612         * tests/test-stdio-c++2.cc: New file.
32613         * modules/stdio-tests (Files): Add it.
32614         (Makefile.am): Compile it for test-stdio-c++.
32615         * tests/test-stdlib-c++2.cc: New file.
32616         * modules/stdlib-tests (Files): Add it.
32617         (Makefile.am): Compile it for test-stdlib-c++.
32618         * tests/test-string-c++2.cc: New file.
32619         * modules/string-tests (Files): Add it.
32620         (Makefile.am): Compile it for test-string-c++.
32621         * tests/test-time-c++2.cc: New file.
32622         * modules/time-tests (Files): Add it.
32623         (Makefile.am): Compile it for test-time-c++.
32624         Reported by John W. Eaton <jwe@gnu.org>.
32625
32626 2010-03-13  Bruno Haible  <bruno@clisp.org>
32627
32628         * gnulib-tool (func_usage): Clarify which options are available for
32629         --create-testdir and --create-megatestdir.
32630
32631 2010-03-13  Bruno Haible  <bruno@clisp.org>
32632
32633         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
32634         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
32635         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
32636         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
32637         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
32638         when appropriate.
32639         Reported by Jim Meyering.
32640
32641 2010-03-12  Simon Josefsson  <simon@josefsson.org>
32642
32643         * gnulib-tool (func_import): Explain origin of code.
32644
32645 2010-03-12  Bruno Haible  <bruno@clisp.org>
32646
32647         Fix problem with automake's definition of CXXLINK.
32648         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
32649         Reported by Simon Josefsson and Ludovic Courtès.
32650
32651 2010-03-12  Bruno Haible  <bruno@clisp.org>
32652
32653         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
32654         stable releases.
32655
32656 2010-03-11  Bruno Haible  <bruno@clisp.org>
32657
32658         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
32659         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
32660         whether the system provides one variant or multiple variants of the
32661         function.
32662         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
32663         C++ compilers.
32664         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
32665         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
32666         Reported by Jim Meyering.
32667
32668 2010-03-09  Simon Josefsson  <simon@josefsson.org>
32669
32670         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
32671
32672 2010-03-08  Bruno Haible  <bruno@clisp.org>
32673
32674         gnulib-tool: Add support for --libtool in --create-testdir.
32675         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
32676         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
32677
32678 2010-03-08  Eric Blake  <eblake@redhat.com>
32679
32680         gnulib-tool.texi: mention possibility of git submodule
32681         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
32682         submodules.
32683         * doc/.gitignore: Ignore another generated file.
32684
32685 2010-03-08  Karl Berry  <karl@gnu.org>
32686
32687         * doc/gnulib-tool.texi (VCS Issues): Mention third option
32688         of committing gnulib files while skipping others.
32689
32690 2010-03-07  Bruno Haible  <bruno@clisp.org>
32691
32692         Tests of module 'wctype' in C++ mode.
32693         * tests/test-wctype-c++.cc: New file.
32694         * modules/wctype-tests (Files): Add it and tests/signature.h.
32695         (Depends-on): Add ansi-c++-opt.
32696         (Makefile.am): Arrange to compile and run test-wctype-c++.
32697
32698         Tests of module 'wchar' in C++ mode.
32699         * tests/test-wchar-c++.cc: New file.
32700         * modules/wchar-tests (Files): Add it and tests/signature.h.
32701         (Depends-on): Add ansi-c++-opt.
32702         (Makefile.am): Arrange to compile and run test-wchar-c++.
32703         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
32704         gl_MODULE_INDICATOR.
32705
32706         Tests of module 'unistd' in C++ mode.
32707         * tests/test-unistd-c++.cc: New file.
32708         * modules/unistd-tests (Files): Add it and tests/signature.h.
32709         (Depends-on): Add ansi-c++-opt.
32710         (Makefile.am): Arrange to compile and run test-unistd-c++.
32711         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
32712         gl_MODULE_INDICATOR.
32713
32714         Tests of module 'time' in C++ mode.
32715         * tests/test-time-c++.cc: New file.
32716         * modules/time-tests (Files): Add it and tests/signature.h.
32717         (Depends-on): Add ansi-c++-opt.
32718         (Makefile.am): Arrange to compile and run test-time-c++.
32719         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
32720
32721         Tests of module 'sys_time' in C++ mode.
32722         * tests/test-sys_time-c++.cc: New file.
32723         * modules/sys_time-tests (Files): Add it and tests/signature.h.
32724         (Depends-on): Add ansi-c++-opt.
32725         (Makefile.am): Arrange to compile and run test-sys_time-c++.
32726         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
32727         gl_MODULE_INDICATOR.
32728
32729         Tests of module 'sys_stat' in C++ mode.
32730         * tests/test-sys_stat-c++.cc: New file.
32731         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
32732         (Depends-on): Add ansi-c++-opt.
32733         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
32734         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
32735         gl_MODULE_INDICATOR.
32736
32737         Tests of module 'sys_socket' in C++ mode.
32738         * tests/test-sys_socket-c++.cc: New file.
32739         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
32740         (Depends-on): Add ansi-c++-opt.
32741         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
32742         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
32743         gl_MODULE_INDICATOR.
32744
32745         Tests of module 'sys_select' in C++ mode.
32746         * tests/test-sys_select-c++.cc: New file.
32747         * modules/sys_select-tests (Files): Add it and tests/signature.h.
32748         (Depends-on): Add ansi-c++-opt.
32749         (Makefile.am): Arrange to compile and run test-sys_select-c++.
32750         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
32751         gl_MODULE_INDICATOR.
32752
32753         Tests of module 'sys_ioctl' in C++ mode.
32754         * tests/test-sys_ioctl-c++.cc: New file.
32755         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
32756         (Depends-on): Add ansi-c++-opt.
32757         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
32758         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
32759         gl_MODULE_INDICATOR.
32760
32761         Tests of module 'string' in C++ mode.
32762         * tests/test-string-c++.cc: New file.
32763         * modules/string-tests (Files): Add it and tests/signature.h.
32764         (Depends-on): Add ansi-c++-opt.
32765         (Makefile.am): Arrange to compile and run test-string-c++.
32766         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
32767         gl_MODULE_INDICATOR.
32768
32769         Tests of module 'stdlib' in C++ mode.
32770         * tests/test-stdlib-c++.cc: New file.
32771         * modules/stdlib-tests (Files): Add it and tests/signature.h.
32772         (Depends-on): Add ansi-c++-opt.
32773         (Makefile.am): Arrange to compile and run test-stdlib-c++.
32774         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
32775         gl_MODULE_INDICATOR.
32776
32777         Tests of module 'stdio' in C++ mode.
32778         * tests/test-stdio-c++.cc: New file.
32779         * modules/stdio-tests (Files): Add it and tests/signature.h.
32780         (Depends-on): Add ansi-c++-opt.
32781         (Makefile.am): Arrange to compile and run test-stdio-c++.
32782         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
32783         gl_MODULE_INDICATOR.
32784
32785         Tests of module 'spawn' in C++ mode.
32786         * tests/test-spawn-c++.cc: New file.
32787         * modules/spawn-tests (Files): Add it and tests/signature.h.
32788         (Depends-on): Add ansi-c++-opt.
32789         (Makefile.am): Arrange to compile and run test-spawn-c++.
32790         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
32791         gl_MODULE_INDICATOR.
32792
32793         Tests of module 'signal' in C++ mode.
32794         * tests/test-signal-c++.cc: New file.
32795         * modules/signal-tests (Files): Add it and tests/signature.h.
32796         (Depends-on): Add ansi-c++-opt.
32797         (Makefile.am): Arrange to compile and run test-signal-c++.
32798         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
32799         gl_MODULE_INDICATOR.
32800
32801         Tests of module 'search' in C++ mode.
32802         * tests/test-search-c++.cc: New file.
32803         * modules/search-tests (Files): Add it and tests/signature.h.
32804         (Depends-on): Add ansi-c++-opt.
32805         (Makefile.am): Arrange to compile and run test-search-c++.
32806         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
32807         gl_MODULE_INDICATOR.
32808
32809         Tests of module 'math' in C++ mode.
32810         * tests/test-math-c++.cc: New file.
32811         * modules/math-tests (Files): Add it and tests/signature.h.
32812         (Depends-on): Add ansi-c++-opt.
32813         (Makefile.am): Arrange to compile and run test-math-c++.
32814         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
32815
32816         Tests of module 'locale' in C++ mode.
32817         * tests/test-locale-c++.cc: New file.
32818         * modules/locale-tests (Files): Add it and tests/signature.h.
32819         (Depends-on): Add ansi-c++-opt.
32820         (Makefile.am): Arrange to compile and run test-locale-c++.
32821         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
32822         gl_MODULE_INDICATOR.
32823
32824         Tests of module 'langinfo' in C++ mode.
32825         * tests/test-langinfo-c++.cc: New file.
32826         * modules/langinfo-tests (Files): Add it and tests/signature.h.
32827         (Depends-on): Add ansi-c++-opt.
32828         (Makefile.am): Arrange to compile and run test-langinfo-c++.
32829         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
32830         gl_MODULE_INDICATOR.
32831
32832         Tests of module 'iconv-h' in C++ mode.
32833         * tests/test-iconv-h-c++.cc: New file.
32834         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
32835         (Depends-on): Add ansi-c++-opt.
32836         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
32837
32838         Tests of module 'glob' in C++ mode.
32839         * tests/test-glob-c++.cc: New file.
32840         * modules/glob-tests (Files): Add it.
32841         (Depends-on): Add ansi-c++-opt.
32842         (Makefile.am): Arrange to compile and run test-glob-c++.
32843
32844         Tests of module 'fcntl-h' in C++ mode.
32845         * tests/test-fcntl-h-c++.cc: New file.
32846         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
32847         (Depends-on): Add ansi-c++-opt.
32848         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
32849         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
32850         gl_MODULE_INDICATOR.
32851
32852         Tests of module 'dirent' in C++ mode.
32853         * tests/test-dirent-c++.cc: New file.
32854         * modules/dirent-tests (Files): Add it and tests/signature.h.
32855         (Depends-on): Add ansi-c++-opt.
32856         (Makefile.am): Arrange to compile and run test-dirent-c++.
32857         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
32858         gl_MODULE_INDICATOR.
32859
32860         New module 'ansi-c++-opt'.
32861         * modules/ansi-c++-opt: New file.
32862         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
32863
32864         Document C++ namespace mode.
32865         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
32866
32867         wctype: Avoid #define replacements in C++ mode.
32868         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
32869         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
32870         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
32871         In C++, define a namespaced alias symbol.
32872         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
32873         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
32874         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
32875         rule.
32876
32877         wchar: Avoid #define replacements in C++ mode.
32878         * lib/wchar.in.h: Include c++defs.h.
32879         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
32880         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
32881         symbol.
32882         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
32883         * modules/wchar (Depends-on): Add c++defs.
32884         (Makefile.am): Update wchar.h rule.
32885
32886         unistd: Avoid #define replacements in C++ mode.
32887         * lib/unistd.in.h: Include c++defs.h.
32888         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
32889         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
32890         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
32891         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
32892         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
32893         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
32894         symbol.
32895         (environ): Update.
32896         * modules/unistd (Depends-on): Add c++defs.
32897         (Makefile.am): Update unistd.h rule.
32898
32899         time: Avoid #define replacements in C++ mode.
32900         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
32901         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
32902         define a namespaced alias symbol.
32903         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
32904         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
32905         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
32906         * modules/time (Depends-on): Add c++defs, warn-on-use.
32907         (Makefile.am): Update time.h rule.
32908         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
32909         * modules/nanosleep (configure.ac): Likewise.
32910         * modules/strptime (configure.ac): Likewise.
32911         * modules/timegm (configure.ac): Likewise.
32912
32913         sys_time: Avoid #define replacements in C++ mode.
32914         * lib/sys_time.in.h: Include c++defs.h.
32915         (gettimeofday): In C++, define a namespaced alias symbol.
32916         * modules/sys_time (Depends-on): Add c++defs.
32917         (Makefile.am): Update sys/time.h rule.
32918
32919         sys_stat: Avoid #define replacements in C++ mode.
32920         * lib/sys_stat.in.h: Include c++defs.h.
32921         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
32922         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
32923         namespaced alias symbol.
32924         In C++, define a namespaced alias symbol.
32925         * modules/sys_stat (Depends-on): Add c++defs.
32926         (Makefile.am): Update sys/stat.h rule.
32927
32928         sys_socket: Avoid #define replacements in C++ mode.
32929         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
32930         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
32931         definitions also when the system has a <sys/socket.h>.
32932         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
32933         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
32934         In C++, define a namespaced alias symbol.
32935         * modules/sys_socket (Depends-on): Add c++defs.
32936         (Makefile.am): Update sys/socket.h rule.
32937
32938         sys_select: Avoid #define replacements in C++ mode.
32939         * lib/sys_select.in.h: Include c++defs.h. Enable the function
32940         definitions also when the system has a <sys/select.h>.
32941         (select): In C++, define a namespaced alias symbol.
32942         * modules/sys_select (Depends-on): Add c++defs.
32943         (Makefile.am): Update sys/select.h rule.
32944
32945         sys_ioctl: Avoid #define replacements in C++ mode.
32946         * lib/sys_ioctl.in.h: Include c++defs.h.
32947         (ioctl): In C++, define a namespaced alias symbol.
32948         * modules/sys_ioctl (Depends-on): Add c++defs.
32949         (Makefile.am): Update sys/ioctl.h rule.
32950
32951         string: Avoid #define replacements in C++ mode.
32952         * lib/string.in.h: Include c++defs.h.
32953         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
32954         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
32955         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
32956         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
32957         strsignal, strverscmp): In C++, define a namespaced alias symbol.
32958         * modules/string (Depends-on): Add c++defs.
32959         (Makefile.am): Update string.h rule.
32960
32961         stdlib: Avoid #define replacements in C++ mode.
32962         * lib/stdlib.in.h: Include c++defs.h.
32963         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
32964         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
32965         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
32966         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
32967         symbol.
32968         * modules/stdlib (Depends-on): Add c++defs.
32969         (Makefile.am): Update stdlib.h rule.
32970
32971         stdio: Avoid #define replacements in C++ mode.
32972         * lib/stdio.in.h: Include c++defs.h.
32973         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
32974         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
32975         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
32976         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
32977         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
32978         namespaced alias symbol.
32979         * modules/stdio (Depends-on): Add c++defs.
32980         (Makefile.am): Update stdio.h rule.
32981
32982         spawn: Avoid #define replacements in C++ mode.
32983         * lib/spawn.in.h: Include c++defs.h.
32984         (posix_spawn, posix_spawnp, posix_spawnattr_init,
32985         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
32986         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
32987         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
32988         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
32989         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
32990         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
32991         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
32992         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
32993         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
32994         In C++, define a namespaced alias symbol.
32995         * modules/spawn (Depends-on): Add c++defs.
32996         (Makefile.am): Update spawn.h rule.
32997
32998         signal: Avoid #define replacements in C++ mode.
32999         * lib/signal.in.h: Include c++defs.h.
33000         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
33001         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
33002         namespaced alias symbol.
33003         * modules/signal (Depends-on): Add c++defs.
33004         (Makefile.am): Update signal.h rule.
33005
33006         search: Avoid #define replacements in C++ mode.
33007         * lib/search.in.h: Include c++defs.h.
33008         (_gl_search_compar_fn, _gl_search_action_fn): New types.
33009         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
33010         symbol.
33011         * modules/search (Depends-on): Add c++defs.
33012         (Makefile.am): Update search.h rule.
33013
33014         math: Avoid #define replacements in C++ mode.
33015         * lib/math.in.h: Include c++defs.h.
33016         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
33017         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
33018         trunc, truncl): In C++, define a namespaced alias symbol.
33019         * modules/math (Depends-on): Add c++defs.
33020         (Makefile.am): Update math.h rule.
33021
33022         locale: Avoid #define replacements in C++ mode.
33023         * lib/locale.in.h: Include c++defs.h.
33024         (duplocale): In C++, define a namespaced alias symbol.
33025         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
33026         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
33027         * modules/locale (Depends-on): Add c++defs.
33028         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
33029
33030         langinfo: Avoid #define replacements in C++ mode.
33031         * lib/langinfo.in.h: Include c++defs.h.
33032         (nl_langinfo): In C++, define a namespaced alias symbol.
33033         * modules/langinfo (Depends-on): Add c++defs.
33034         (Makefile.am): Update langinfo.h rule.
33035
33036         iconv-h: Avoid #define replacements in C++ mode.
33037         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
33038         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
33039         symbol.
33040         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
33041         whenever iconv is present.
33042         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
33043         (Makefile.am): Update iconv.h rule.
33044
33045         glob: Avoid #define replacements in C++ mode.
33046         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
33047         (_gl_glob_errfunc_fn): New type.
33048         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
33049         symbol.
33050         * modules/glob (Depends-on): Add c++defs, warn-on-use.
33051         (Makefile.am): Update glob.h rule.
33052
33053         fcntl-h: Avoid #define replacements in C++ mode.
33054         * lib/fcntl.in.h: Include c++defs.h.
33055         (fcntl, open, openat): In C++, define a namespaced alias symbol.
33056         * modules/fcntl-h (Depends-on): Add c++defs.
33057         (Makefile.am): Update fcntl.h rule.
33058
33059         dirent: Avoid #define replacements in C++ mode.
33060         * lib/dirent.in.h: Include c++defs.h.
33061         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
33062         namespaced alias symbol.
33063         (dirfd): Update declaration.
33064         * modules/dirent (Depends-on): Add c++defs.
33065         (Makefile.am): Update dirent.h rule.
33066
33067         ctype: Make it usable in C++ code.
33068         * lib/ctype.in.h: Include c++defs.h.
33069         (isblank): Declare as extern "C".
33070         * modules/ctype (Depends-on): Add c++defs.
33071         (Makefile.am): Update ctype.h rule.
33072
33073         New module 'c++defs'.
33074         * modules/c++defs: New file.
33075         * build-aux/c++defs.h: New file.
33076         Reported by John W. Eaton <jwe@gnu.org>.
33077
33078 2010-03-07  Bruno Haible  <bruno@clisp.org>
33079
33080         logb: Provide missing declaration for Cygwin.
33081         * lib/math.in.h (logb): New declaration.
33082         * m4/logb.m4: New file.
33083         * modules/logb (Files): Add m4/logb.m4.
33084         (Depends-on): Add math.
33085         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
33086         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
33087         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
33088         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
33089         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
33090
33091 2010-03-07  Bruno Haible  <bruno@clisp.org>
33092
33093         Fix test-cond link error.
33094         * tests/test-cond.c: Include <stdio.h>.
33095
33096 2010-03-07  Bruno Haible  <bruno@clisp.org>
33097
33098         Fix test-dirent-safer link error.
33099         * modules/dirent-safer-tests (Makefile.am): Define
33100         test_dirent_safer_LDADD.
33101
33102 2010-03-07  Bruno Haible  <bruno@clisp.org>
33103
33104         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
33105         among default module list.
33106
33107 2010-03-07  Bruno Haible  <bruno@clisp.org>
33108
33109         Fix link error on platforms with GNU libiconv.
33110         * modules/unistr/u8-strcoll-tests (Makefile): Define
33111         test_u8_strcoll_LDADD.
33112         * modules/unistr/u16-strcoll-tests (Makefile): Define
33113         test_u16_strcoll_LDADD.
33114         * modules/unistr/u32-strcoll-tests (Makefile): Define
33115         test_u32_strcoll_LDADD.
33116
33117 2010-03-07  Bruno Haible  <bruno@clisp.org>
33118
33119         Use POSIX declarations for socket functions.
33120         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
33121         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
33122         rpl_sendto): Change declaration to match POSIX.
33123         * lib/connect.c (rpl_connect): Likewise.
33124         * lib/accept.c (rpl_accept): Likewise.
33125         * lib/bind.c (rpl_bind): Likewise.
33126         * lib/getpeername.c (rpl_getpeername): Likewise.
33127         * lib/getsockname.c (rpl_getsockname): Likewise.
33128         * lib/recv.c (rpl_recv): Likewise.
33129         * lib/send.c (rpl_send): Likewise.
33130         * lib/recvfrom.c (rpl_recvfrom): Likewise.
33131         * lib/sendto.c (rpl_sendto): Likewise.
33132
33133 2010-03-06  Bruno Haible  <bruno@clisp.org>
33134
33135         Clarify access, euidaccess, faccessat.
33136         * doc/posix-functions/faccessat.texi: Mention security problem under
33137         "Other problems", not "Portability problems".
33138         * doc/posix-functions/access.texi: Likewise. Mention a related security
33139         problem.
33140         * doc/glibc-functions/euidaccess.texi: Mention security problems.
33141         * lib/euidaccess.c: Add comments about platforms.
33142         * lib/unistd.in.h (access, euidaccess): Add warnings.
33143
33144 2010-03-07  Bruno Haible  <bruno@clisp.org>
33145
33146         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
33147         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
33148         (POSIX_SPAWN_SETSCHEDULER): Likewise.
33149         (POSIX_SPAWN_USEVFORK): Define in a way that works when
33150         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
33151         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
33152         declare when POSIX_SPAWN_SETSCHEDULER is zero.
33153         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
33154         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
33155         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
33156         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
33157         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
33158         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
33159         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
33160         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
33161         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
33162         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
33163         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
33164         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
33165         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
33166         Likewise.
33167         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
33168         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
33169         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
33170         Likewise.
33171         * tests/test-spawn.c (main): Make it work when
33172         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
33173
33174 2010-03-07  Bruno Haible  <bruno@clisp.org>
33175
33176         Fix incorrect Makefile.am generation in German locale.
33177         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
33178         Execute sed command with character range in C locale.
33179
33180 2010-03-06  Bruno Haible  <bruno@clisp.org>
33181
33182         Tests for module 'iconv-h'.
33183         * modules/iconv-h-tests: New file.
33184         * tests/test-iconv-h.c: New file.
33185
33186         New module 'iconv-h'.
33187         * modules/iconv-h: New file.
33188         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
33189         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
33190         (configure.ac): Remove gl_ICONV_H.
33191         (Makefile.am): Remove rule for iconv.h.
33192
33193 2010-03-06  Bruno Haible  <bruno@clisp.org>
33194
33195         More consistent naming of *.m4 files.
33196         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
33197         * modules/wctype (Files): Update.
33198
33199         More consistent naming of *.m4 files.
33200         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
33201         * modules/wchar (Files): Update.
33202
33203 2010-03-06  Jim Meyering  <meyering@redhat.com>
33204
33205         euidaccess: relax license to LGPLv2+
33206         * modules/euidaccess (License): Relax to LGPLv2+.
33207
33208 2010-03-06  Bruno Haible  <bruno@clisp.org>
33209
33210         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
33211         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
33212         (Makefile.am): Augment lib_SOURCES instead.
33213
33214 2010-03-04  Jim Meyering  <meyering@redhat.com>
33215
33216         utime: remove obsolete module
33217         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
33218         unnecessary for years, and has been marked as obsolete for 10 months.
33219         * modules/utime: Remove file.
33220         * lib/utime.c: Remove file.
33221         * m4/utime.m4: Remove file.
33222         * m4/utimes-null.m4: Remove file.
33223         * doc/posix-functions/utime.texi (utime): Remove reference to
33224         the module.  Move the sole "fixed by gnulib" item into the
33225         "problems not fixed by Gnulib" list.
33226         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
33227
33228 2010-03-05  Simon Josefsson  <simon@josefsson.org>
33229
33230         * modules/exit (License): Relax license to LGPLv2+.
33231         (Status): Mark as obsolete.
33232         * NEWS: Mention deprecated 'exit' module.
33233         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
33234         of now obsolete 'exit'.
33235
33236 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33237
33238         fts-lgpl: remove unused module
33239         * modules/fts-lgpl: Remove.
33240         * MODULES.html.sh (func_all_modules): Adjust.
33241         * check-module (find_included_lib_files): Adjust.
33242         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
33243
33244 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
33245
33246         copy-acl: enhance Solaris ACL error handling
33247         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
33248         * lib/set-mode-acl.c (qset_acl): Likewise.
33249
33250 2010-03-02  Bruno Haible  <bruno@clisp.org>
33251
33252         spawn: Don't override the system defined values on FreeBSD 8.
33253         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
33254         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
33255         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
33256         if HAVE_POSIX_SPAWN is 1.
33257         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
33258
33259 2010-03-01  Bruno Haible  <bruno@clisp.org>
33260
33261         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
33262         regarding Automake.
33263
33264 2010-02-25  Bruno Haible  <bruno@clisp.org>
33265
33266         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
33267         * gnulib-tool: Define 'echo' as a function only before the ksh alias
33268         setting, not afterwards.
33269         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
33270
33271 2010-02-24  Eric Blake  <eblake@redhat.com>
33272
33273         bootstrap, git-version-gen: use timestamp
33274         * build-aux/git-version-gen (scriptversion): Force UTC.
33275         * build-aux/bootstrap (scriptversion): New variable.
33276
33277         bootstrap: allow older git
33278         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
33279         older than 1.6.4.  Requested by the libvirt project.
33280
33281 2010-02-23  Eric Blake  <eblake@redhat.com>
33282
33283         warn-on-use: work with old autoconf
33284         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
33285         AS_VAR semantics of autoconf 2.60.
33286         Reported by Bruno Haible.
33287
33288         bootstrap: improve some comments
33289         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
33290         clarification comments.
33291
33292         gettimeofday: provide correct function
33293         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
33294         when replacement is declared, otherwise provide gettimeofday.
33295         Reported by Michael Goffioul.
33296
33297 2010-02-23  Jim Meyering  <meyering@redhat.com>
33298
33299         lib-ignore: relax license to "unlimited", not LGPLv2+
33300         * modules/lib-ignore (License): Relax to "unlimited".
33301
33302 2010-02-23  Jim Meyering  <meyering@redhat.com>
33303
33304         lib-ignore: relax license to LGPLv2+
33305         * modules/lib-ignore (License): Relax to LGPLv2+.
33306
33307 2010-02-22  Eric Blake  <eblake@redhat.com>
33308
33309         lseek: avoid bash 3.2 broken pipe bug
33310         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
33311         warning from bash 3.2.
33312         Reported by Ben Pfaff, with analysis from Bruno Haible.
33313
33314         bootstrap: support non-FSF copyright holder
33315         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
33316         bootstrap.conf override of COPYRIGHT_HOLDER.
33317         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
33318
33319         bootstrap: interoperate with gettext 0.14.1
33320         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
33321
33322         bootstrap: allow for alternate submodule location
33323         * build-aux/bootstrap (gnulib_path): New variable; use instead of
33324         hardcoding submodule location.
33325         (gnulib_mk): Allow direct use of Makefile.am.
33326
33327         bootstrap: use GNULIB_SRCDIR to reduce disk usage
33328         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
33329         rather than reconfiguring where the submodule points.
33330
33331         gettimeofday: restore support for platforms that lack function
33332         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
33333         replacement if function is missing.
33334         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
33335         * modules/sys_time (Makefile.am): Substitute it.
33336         * lib/sys_time.in.h (gettimeofday): Check it.
33337         Reported by Michael Goffioul.
33338
33339 2010-02-21  Bruno Haible  <bruno@clisp.org>
33340
33341         * lib/stdio.in.h (obstack_printf): Fix typo.
33342
33343 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
33344
33345         vc-list-files: use bzr ls's -R option
33346         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
33347         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
33348
33349 2010-02-21  Jim Meyering  <meyering@redhat.com>
33350
33351         init.sh: fix EXEEXT shims to work also for names like test-prog
33352         * tests/init.sh: Re-exec a better shell, when needed.
33353         If the current shell lacks support for posix $(...), an init.sh-using
33354         test will now try to find a shell that supports that.  If EXEEXT is
33355         nonempty, we also require support for hyphen-in-alias-name and shell
33356         substitutions like ${var#glob}.  Failure to find such a shell results
33357         in a skipped test.
33358
33359 2010-02-21  Bruno Haible  <bruno@clisp.org>
33360
33361         Really work around around "broken pipe" error message from bash 3.2.
33362         * gnulib-tool (func_reset_sigpipe): Remove function.
33363         (echo): In bash 3.2, define to a function that uses printf.
33364         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
33365
33366 2010-02-20  Bruno Haible  <bruno@clisp.org>
33367
33368         Restore support for automake 1.9.6 with autoconf 2.61.
33369         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
33370         Reported by James Youngman <jay@gnu.org>.
33371
33372 2010-02-20  Bruno Haible  <bruno@clisp.org>
33373
33374         Improve *printf warning condition.
33375         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
33376         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
33377         and the function is overridden due to SIGPIPE emulation.
33378
33379 2010-02-20  Bruno Haible  <bruno@clisp.org>
33380
33381         * lib/stdio.in.h: Tweak comments.
33382
33383 2010-02-19  Bruno Haible  <bruno@clisp.org>
33384
33385         Make it easier to find modules. New gnulib-tool option '--find'.
33386         * gnulib-tool: New option --find.
33387         (func_usage): Document it.
33388         (func_sanitize_modulelist): New function, extracted from
33389         func_all_modules.
33390         (func_all_modules): Invoke it.
33391         * doc/gnulib-tool.texi (Which modules?): New node.
33392
33393 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
33394
33395         * lib/sys_select.in.h: Provide select replacement even if
33396         sys/select.h exists on a system, for Interix.
33397
33398 2010-02-18  Jim Meyering  <meyering@redhat.com>
33399
33400         init.sh: don't use $(...) just yet
33401         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
33402         to accommodate e.g., Solaris' /bin/sh.
33403
33404 2010-02-17  Bruno Haible  <bruno@clisp.org>
33405
33406         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
33407         Reported by Ludovic Courtès <ludo@gnu.org>.
33408
33409 2010-02-16  Simon Josefsson  <simon@josefsson.org>
33410
33411         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
33412         linking with -lintl.
33413
33414 2010-02-17  Simon Josefsson  <simon@josefsson.org>
33415
33416         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
33417         if not provided by the system's netdb.h.  Reported by
33418         ludo@gnu.org (Ludovic Courtès).
33419
33420 2010-02-15  Jim Meyering  <meyering@redhat.com>
33421
33422         init.sh: improve portability and efficiency
33423         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
33424         "dummy" in a for loop.
33425         Use '!', not '^' to select the complement of a character set used
33426         in a "case" statement.
33427         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
33428         Suggestions from Eric Blake.
33429
33430         init.sh: automatically accommodate programs with the .exe suffix
33431         Automatically arrange for an invocation of "prog" to execute the
33432         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
33433         may use the simpler "prog", yet still work when built on a system
33434         that requires specifying the added suffix.
33435         Do this by constructing a function named "prog" that invokes
33436         "prog.exe" for each .exe file in selected directories.
33437         * tests/init.sh (find_exe_basenames_): New function.
33438         (create_exe_shim_functions_): New function.
33439         (path_prepend_): Use it.
33440
33441         maint.mk: mark syntax-check sc_*.m rules as .PHONY
33442         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
33443         "make -t syntax-check" doesn't create a ton of sc_*.m files.
33444
33445 2010-02-14  Jim Meyering  <meyering@redhat.com>
33446
33447         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
33448         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
33449         (sc_prohibit_hash_pjw_without_use): New rule.
33450
33451         maint.mk: allow the default upload destination dir to be overridden
33452         * top/maint.mk (upload_dest_dir_): Define with a default that
33453         preserves the status quo.
33454         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
33455         Reported by Peter Simons.
33456
33457         maint.mk: prohibit inclusion of "hash.h" without_use
33458         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
33459
33460 2010-02-10  Jim Meyering  <meyering@redhat.com>
33461
33462         maint.mk: prohibit inclusion of "ignore-value.h" without_use
33463         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
33464
33465 2010-02-09  Eric Blake  <ebb9@byu.net>
33466         and Bruno Haible  <bruno@clisp.org>
33467
33468         obstack-printf-posix: ensure declaration
33469         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
33470         extracted from gl_FUNC_OBSTACK_PRINTF.
33471         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
33472         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
33473         Likewise.
33474         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
33475         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
33476         0.
33477
33478 2010-02-08  Bruno Haible  <bruno@clisp.org>
33479
33480         gnulib-tool: Fix typo in 2010-02-07 commit.
33481         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
33482         Reported by Eric Blake.
33483
33484 2010-02-07  Bruno Haible  <bruno@clisp.org>
33485
33486         gnulib-tool: Fix up caching patches.
33487         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
33488         option --no-cache. Use associative arrays when supported by the shell.
33489         (sed_comments): New variable.
33490         (modcache): Renamed from do_cache.
33491         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
33492         abbreviate unnecessarily.
33493         (have_associative): New variable.
33494         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
33495         way also for ksh and zsh.
33496         (func_init_sed_convert_to_cache_statements): New function, extracted
33497         from func_cache_lookup_module. Add support for associative arrays.
33498         Don't set the c_MODULE_cached variable here. Ignore all lines before
33499         the first field header. Remove only the final newline, not all trailing
33500         newlines. Support empty fields correctly. Limit the use of 'eval' to
33501         assignments.
33502         (func_get_description, func_get_status, func_get_notice,
33503         func_get_applicability, func_get_filelist, func_get_dependencies,
33504         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
33505         func_get_automake_snippet, func_get_include_directive,
33506         func_get_link_directive, func_get_license, func_get_maintainer):
33507         Update documentation. List the unoptimized code first. Add support for
33508         associative arrays. Limit the use of 'eval' to assignments.
33509         (func_get_applicability): Undo stylistic pessimisations.
33510         (func_get_automake_snippet, func_get_include_directive): Reduce code
33511         duplication.
33512         (func_modules_transitive_closure, func_modules_add_dummy,
33513         func_modules_notice, func_modules_to_filelist, func_add_file,
33514         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
33515         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
33516         func_create_testdir, func_create_megatestdir): Update documentation.
33517
33518 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33519
33520         * gnulib-tool (func_cache_lookup_module): Store the module name
33521         belonging to the cache variable; error out if two different
33522         module names map to the same cache variable name.
33523
33524 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33525
33526         gnulib-tool: Make caching optional.
33527         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
33528         Update matching short versions of --no-changelog.
33529         (func_usage): Update.
33530         (sed_extract_cache_prog): Renamed from ...
33531         (sed_extract_prog): ... this; revert to old extraction script.
33532         (func_get_description, func_get_status)
33533         (func_get_notice, func_get_applicability, func_get_filelist)
33534         (func_get_dependencies, func_get_autoconf_early_snippet)
33535         (func_get_autoconf_snippet, func_get_automake_snippet)
33536         (func_get_include_directive, func_get_link_directive)
33537         (func_get_license, func_get_maintainer): If $do_cache is false,
33538         use old, non-caching extraction scripts.
33539         Suggestion by Bruno Haible.
33540
33541 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33542
33543         gnulib-tool: cache module metainformation.
33544         * gnulib-tool (sed_extract_prog): Match newline before each
33545         header, and rewrite header to a shell variable suffix.
33546         (func_cache_var, func_cache_lookup_module): New functions,
33547         to turn a module name into a cache variable prefix, and to
33548         look up and cache module metainformation.
33549         (func_get_description, func_get_status)
33550         (func_get_notice, func_get_applicability, func_get_filelist)
33551         (func_get_dependencies, func_get_autoconf_early_snippet)
33552         (func_get_autoconf_snippet, func_get_automake_snippet)
33553         (func_get_include_directive, func_get_link_directive)
33554         (func_get_license, func_get_maintainer): Use
33555         func_cache_lookup_module.
33556
33557 2010-02-07  Bruno Haible  <bruno@clisp.org>
33558
33559         fnctl: Fix missing dependency.
33560         * modules/fcntl (Depends-on): Add getdtablesize.
33561         Reported by John W. Eaton <jwe@gnu.org>.
33562
33563 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
33564
33565         Argp: fix recognition of short alias options.
33566
33567         * lib/argp-parse.c (convert_options): Fix improper use of
33568         `|' between character values.
33569         * tests/test-argp.c (group1_option): New alias option
33570         --read (-r).
33571         (group1_parser): Special handling for 'r'.
33572         (test15): New test case.
33573         (test_fun): Add test15.
33574         * tests/test-argp-2.sh: Update expected --help and --usage
33575         outputs.
33576
33577 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
33578
33579         * tests/test-argp.c: Fix indentation.
33580
33581 2010-02-04  Eric Blake  <ebb9@byu.net>
33582
33583         gettimeofday: expose type of second argument
33584         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
33585         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
33586         * tests/test-gettimeofday.c: Use it to silence warning.
33587         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
33588         the issue.
33589
33590 2010-02-03  Jim Meyering  <meyering@redhat.com>
33591
33592         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
33593         * lib/regcomp.c (TYPE_SIGNED): Define.
33594         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
33595
33596         regcomp.c: avoid a new -Wshadow warning
33597         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
33598
33599 2010-02-01  Jim Meyering  <meyering@redhat.com>
33600
33601         removing useless parentheses in cpp #define directives
33602         For motivation, see commit c0221df4, "define STREQ(a,b)
33603         consistently, removing useless parentheses"
33604         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
33605         * lib/mountlist.c (MNT_IGNORE): Likewise.
33606         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
33607
33608 2010-02-01  Eric Blake  <ebb9@byu.net>
33609
33610         sys_time: use link-warning
33611         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
33612         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
33613         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
33614         * modules/sys_time (Depends-on): Add warn-on-use.
33615         (Makefile.am): Always build replacement.
33616         (configure.ac): Update substitutions.
33617         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
33618         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
33619         bother with SYS_TIME_H.
33620         * modules/gettimeofday (configure.ac): Declare indicator.
33621         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
33622         in use.
33623
33624         closein-tests: silence compiler warning
33625         * tests/test-closein.c (main): Ignore fread result.
33626         * modules/closein-tests (Depends-on): Add ignore-value.
33627
33628         tests: silence warning about system return
33629         * tests/test-areadlink-with-size.c (main): Ignore system result.
33630         * tests/test-areadlink.c (main): Likewise.
33631         * tests/test-areadlinkat-with-size.c (main): Likewise.
33632         * tests/test-areadlinkat.c (main): Likewise.
33633         * tests/test-canonicalize-lgpl.c (main): Likewise.
33634         * tests/test-canonicalize.c (main): Likewise.
33635         * tests/test-chown.c (main): Likewise.
33636         * tests/test-fchownat.c (main): Likewise.
33637         * tests/test-fdutimensat.c (main): Likewise.
33638         * tests/test-fstatat.c (main): Likewise.
33639         * tests/test-futimens.c (main): Likewise.
33640         * tests/test-lchown.c (main): Likewise.
33641         * tests/test-link.c (main): Likewise.
33642         * tests/test-linkat.c (main): Likewise.
33643         * tests/test-lstat.c (main): Likewise.
33644         * tests/test-mkdir.c (main): Likewise.
33645         * tests/test-mkdirat.c (main): Likewise.
33646         * tests/test-mkfifo.c (main): Likewise.
33647         * tests/test-mkfifoat.c (main): Likewise.
33648         * tests/test-mknod.c (main): Likewise.
33649         * tests/test-readlink.c (main): Likewise.
33650         * tests/test-remove.c (main): Likewise.
33651         * tests/test-rename.c (main): Likewise.
33652         * tests/test-renameat.c (main): Likewise.
33653         * tests/test-rmdir.c (main): Likewise.
33654         * tests/test-symlink.c (main): Likewise.
33655         * tests/test-symlinkat.c (main): Likewise.
33656         * tests/test-unlink.c (main): Likewise.
33657         * tests/test-unlinkat.c (main): Likewise.
33658         * tests/test-utimens.c (main): Likewise.
33659         * tests/test-utimensat.c (main): Likewise.
33660         * modules/areadlink-tests (Depends-on): Add ignore-value.
33661         * modules/areadlink-with-size-tests (Depends-on): Likewise.
33662         * modules/areadlinkat-tests (Depends-on): Likewise.
33663         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
33664         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
33665         * modules/canonicalize-tests (Depends-on): Likewise.
33666         * modules/chown-tests (Depends-on): Likewise.
33667         * modules/fdutimensat-tests (Depends-on): Likewise.
33668         * modules/futimens-tests (Depends-on): Likewise.
33669         * modules/lchown-tests (Depends-on): Likewise.
33670         * modules/link-tests (Depends-on): Likewise.
33671         * modules/linkat-tests (Depends-on): Likewise.
33672         * modules/lstat-tests (Depends-on): Likewise.
33673         * modules/mkdir-tests (Depends-on): Likewise.
33674         * modules/mkfifo-tests (Depends-on): Likewise.
33675         * modules/mkfifoat-tests (Depends-on): Likewise.
33676         * modules/mknod-tests (Depends-on): Likewise.
33677         * modules/openat-tests (Depends-on): Likewise.
33678         * modules/readlink-tests (Depends-on): Likewise.
33679         * modules/remove-tests (Depends-on): Likewise.
33680         * modules/rename-tests (Depends-on): Likewise.
33681         * modules/renameat-tests (Depends-on): Likewise.
33682         * modules/rmdir-tests (Depends-on): Likewise.
33683         * modules/symlink-tests (Depends-on): Likewise.
33684         * modules/symlinkat-tests (Depends-on): Likewise.
33685         * modules/unlink-tests (Depends-on): Likewise.
33686         * modules/utimens-tests (Depends-on): Likewise.
33687         * modules/utimensat-tests (Depends-on): Likewise.
33688
33689 2010-01-31  Bruno Haible  <bruno@clisp.org>
33690
33691         Perform the same test for many <math.h> functions.
33692         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
33693         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
33694         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
33695         of gl_MATHFUNC.
33696         * modules/acos (configure.ac): Likewise.
33697         * modules/asin (configure.ac): Likewise.
33698         * modules/atan (configure.ac): Likewise.
33699         * modules/atan2 (configure.ac): Likewise.
33700         * modules/cbrt (configure.ac): Likewise.
33701         * modules/copysign (configure.ac): Likewise.
33702         * modules/cos (configure.ac): Likewise.
33703         * modules/cosh (configure.ac): Likewise.
33704         * modules/erf (configure.ac): Likewise.
33705         * modules/erfc (configure.ac): Likewise.
33706         * modules/exp (configure.ac): Likewise.
33707         * modules/fmod (configure.ac): Likewise.
33708         * modules/hypot (configure.ac): Likewise.
33709         * modules/j0 (configure.ac): Likewise.
33710         * modules/j1 (configure.ac): Likewise.
33711         * modules/jn (configure.ac): Likewise.
33712         * modules/lgamma (configure.ac): Likewise.
33713         * modules/log (configure.ac): Likewise.
33714         * modules/log10 (configure.ac): Likewise.
33715         * modules/log1p (configure.ac): Likewise.
33716         * modules/pow (configure.ac): Likewise.
33717         * modules/remainder (configure.ac): Likewise.
33718         * modules/sin (configure.ac): Likewise.
33719         * modules/sinh (configure.ac): Likewise.
33720         * modules/tan (configure.ac): Likewise.
33721         * modules/tanh (configure.ac): Likewise.
33722         * modules/y0 (configure.ac): Likewise.
33723         * modules/y1 (configure.ac): Likewise.
33724         * modules/yn (configure.ac): Likewise.
33725         Suggested by Paolo Bonzini.
33726
33727 2010-01-31  Bruno Haible  <bruno@clisp.org>
33728
33729         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
33730
33731 2010-01-31  Bruno Haible  <bruno@clisp.org>
33732
33733         Work around getdelim() bug on FreeBSD 8.0.
33734         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
33735         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
33736         not work.
33737         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
33738         is 1.
33739         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
33740         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
33741         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
33742         a non-zero size.
33743         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
33744
33745 2010-01-31  Bruno Haible  <bruno@clisp.org>
33746
33747         Work around getline() bug on FreeBSD 8.0.
33748         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
33749         and a non-zero size.
33750         * tests/test-getline.c (main): Likewise.
33751         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
33752         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
33753
33754 2010-01-28  Eric Blake  <ebb9@byu.net>
33755
33756         regex: fix build failure
33757         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
33758         platforms.
33759
33760 2010-01-28  Jim Meyering  <meyering@redhat.com>
33761
33762         regex: do not ignore memory allocation failure
33763         * lib/regex_internal.c (create_cd_newstate): Detect
33764         re_node_set_init_copy failure.   Extracted from glibc commit
33765         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
33766
33767         regex: sync more white-space changes from libc
33768         * lib/regex_internal.c: White-space only changes.
33769         * lib/regexec.c: Likewise.
33770
33771         regex: add many uses of __attribute_warn_unused_result__
33772         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
33773         * lib/regexec.c: Likewise.
33774         Extracted from a messy glibc commit.
33775
33776         regcomp.c: spelling and merge-artifact from glibc
33777         * lib/regcomp.c: Merge remainder of glibc's
33778         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
33779
33780         regcomp.c: sync white-space changes from glibc
33781         * lib/regcomp.c: Merge to accommodate white space
33782         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
33783
33784         regcomp.c: do not ignore internal return values
33785         * lib/regcomp.c: Do not ignore internal return values.
33786         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
33787         but without its white-space changes and spelling fixes.
33788
33789         regex_internal.h: define __attribute_warn_unused_result__
33790         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
33791
33792         maint: add a syntax-check rule to check for vulnerable Makefile.in
33793         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
33794
33795 2010-01-27  Jim Meyering  <meyering@redhat.com>
33796
33797         ncftpput-ftp: clean up spaces
33798         * build-aux/ncftpput-ftp: Make Copyright line consistent.
33799         Remove trailing blanks.
33800
33801 2010-01-27  Simon Josefsson  <simon@josefsson.org>
33802
33803         * build-aux/git-version-gen: Fix copyright statement.
33804         * build-aux/gnupload: Likewise.
33805         * tests/test-arcfour.c: Likewise.
33806         * tests/test-arctwo.c: Likewise.
33807         * tests/test-count-one-bits.c: Likewise.
33808         * tests/test-crc.c: Likewise.
33809         * tests/test-des.c: Likewise.
33810         * tests/test-gc-arcfour.c: Likewise.
33811         * tests/test-gc-arctwo.c: Likewise.
33812         * tests/test-gc-des.c: Likewise.
33813         * tests/test-gc-hmac-md5.c: Likewise.
33814         * tests/test-gc-hmac-sha1.c: Likewise.
33815         * tests/test-gc-md2.c: Likewise.
33816         * tests/test-gc-md4.c: Likewise.
33817         * tests/test-gc-md5.c: Likewise.
33818         * tests/test-gc-pbkdf2-sha1.c: Likewise.
33819         * tests/test-gc-rijndael.c: Likewise.
33820         * tests/test-gc-sha1.c: Likewise.
33821         * tests/test-gc.c: Likewise.
33822         * tests/test-gethostname.c: Likewise.
33823         * tests/test-gettimeofday.c: Likewise.
33824         * tests/test-hash.c: Likewise.
33825         * tests/test-hmac-md5.c: Likewise.
33826         * tests/test-hmac-sha1.c: Likewise.
33827         * tests/test-md2.c: Likewise.
33828         * tests/test-md4.c: Likewise.
33829         * tests/test-md5.c: Likewise.
33830         * tests/test-memchr.c: Likewise.
33831         * tests/test-memchr2.c: Likewise.
33832         * tests/test-memcmp.c: Likewise.
33833         * tests/test-memmem.c: Likewise.
33834         * tests/test-memrchr.c: Likewise.
33835         * tests/test-rawmemchr.c: Likewise.
33836         * tests/test-read-file.c: Likewise.
33837         * tests/test-rijndael.c: Likewise.
33838         * tests/test-sockets.c: Likewise.
33839         * tests/test-strchrnul.c: Likewise.
33840         * tests/test-strstr.c: Likewise.
33841         * tests/test-strtod.c: Likewise.
33842         * build-aux/ncftpput-ftp: Likewise.
33843
33844 2010-01-26  Eric Blake  <ebb9@byu.net>
33845
33846         ignore-value: update recommended header name
33847         * modules/ignore-value (Include): Only use <> for headers that
33848         exist in glibc.
33849
33850 2010-01-26  Jim Meyering  <meyering@redhat.com>
33851
33852         test-userspec.c: avoid compiler warnings
33853         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
33854         and "initialization discards qualifiers..." warnings.
33855         Put the first "uid" in its own scope, and make char* members "const".
33856
33857 2010-01-25  Bruno Haible  <bruno@clisp.org>
33858
33859         gnulib-tool: Make warning diagnostics consistent.
33860         * gnulib-tool (func_warning): New function.
33861         Use it everywhere where gnulib-tool produces output to stderr and it is
33862         not a fatal error.
33863
33864 2010-01-25  Bruno Haible  <bruno@clisp.org>
33865
33866         Fix test dependencies.
33867         * modules/xstrtol-tests (Depends-on): Add inttypes.
33868         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
33869
33870 2010-01-25 Pádraig Brady <P@draigBrady.com>
33871
33872         syntax-check: detect incorrect boolean macro values in config.h
33873         * modules/maintainer-makefile (configure.ac): Parameterize the location
33874         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
33875         The logic is from Eric Blake and the location indicated by Jim Meyering.
33876         Note the more natural CONFIG_HEADER name is prohibited by automake
33877         for backwards compatibility reasons.
33878         * top/maint.mk (sc_Wundef_boolean): New rule.
33879
33880 2010-01-25  Jim Meyering  <meyering@redhat.com>
33881
33882         bootstrap: detect MacOS 10.6's shasum, too
33883         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
33884         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
33885
33886 2010-01-23  Jim Meyering  <meyering@redhat.com>
33887
33888         xstrtoll: new module
33889         * modules/xstrtoll: New file.
33890         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
33891         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
33892         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
33893         ./configure fails if you use this module and lack "long long".
33894         * modules/xstrtoll-tests: New module.
33895         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
33896         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
33897         new init.sh-based test framework.
33898
33899 2010-01-24  Bruno Haible  <bruno@clisp.org>
33900
33901         Tests for module 'yn'.
33902         * modules/yn-tests: New file.
33903         * tests/test-yn.c: New file.
33904
33905         Tests for module 'y1'.
33906         * modules/y1-tests: New file.
33907         * tests/test-y1.c: New file.
33908
33909         Tests for module 'y0'.
33910         * modules/y0-tests: New file.
33911         * tests/test-y0.c: New file.
33912
33913         Tests for module 'tanh'.
33914         * modules/tanh-tests: New file.
33915         * tests/test-tanh.c: New file.
33916
33917         Tests for module 'tan'.
33918         * modules/tan-tests: New file.
33919         * tests/test-tan.c: New file.
33920
33921         Tests for module 'sqrt'.
33922         * modules/sqrt-tests: New file.
33923         * tests/test-sqrt.c: New file.
33924
33925         Tests for module 'sinh'.
33926         * modules/sinh-tests: New file.
33927         * tests/test-sinh.c: New file.
33928
33929         Tests for module 'sin'.
33930         * modules/sin-tests: New file.
33931         * tests/test-sin.c: New file.
33932
33933         Tests for module 'rint'.
33934         * modules/rint-tests: New file.
33935         * tests/test-rint.c: New file.
33936
33937         Tests for module 'remainder'.
33938         * modules/remainder-tests: New file.
33939         * tests/test-remainder.c: New file.
33940
33941         Tests for module 'pow'.
33942         * modules/pow-tests: New file.
33943         * tests/test-pow.c: New file.
33944
33945         Tests for module 'nextafter'.
33946         * modules/nextafter-tests: New file.
33947         * tests/test-nextafter.c: New file.
33948
33949         Tests for module 'modf'.
33950         * modules/modf-tests: New file.
33951         * tests/test-modf.c: New file.
33952
33953         Tests for module 'logb'.
33954         * modules/logb-tests: New file.
33955         * tests/test-logb.c: New file.
33956
33957         Tests for module 'log1p'.
33958         * modules/log1p-tests: New file.
33959         * tests/test-log1p.c: New file.
33960
33961         Tests for module 'log10'.
33962         * modules/log10-tests: New file.
33963         * tests/test-log10.c: New file.
33964
33965         Tests for module 'log'.
33966         * modules/log-tests: New file.
33967         * tests/test-log.c: New file.
33968
33969         Tests for module 'lgamma'.
33970         * modules/lgamma-tests: New file.
33971         * tests/test-lgamma.c: New file.
33972
33973         Tests for module 'ldexp'.
33974         * modules/ldexp-tests: New file.
33975         * tests/test-ldexp.c: New file.
33976
33977         Tests for module 'jn'.
33978         * modules/jn-tests: New file.
33979         * tests/test-jn.c: New file.
33980
33981         Tests for module 'j1'.
33982         * modules/j1-tests: New file.
33983         * tests/test-j1.c: New file.
33984
33985         Tests for module 'j0'.
33986         * modules/j0-tests: New file.
33987         * tests/test-j0.c: New file.
33988
33989         Tests for module 'hypot'.
33990         * modules/hypot-tests: New file.
33991         * tests/test-hypot.c: New file.
33992
33993         Tests for module 'fmod'.
33994         * modules/fmod-tests: New file.
33995         * tests/test-fmod.c: New file.
33996
33997         Tests for module 'fabs'.
33998         * modules/fabs-tests: New file.
33999         * tests/test-fabs.c: New file.
34000
34001         Tests for module 'exp'.
34002         * modules/exp-tests: New file.
34003         * tests/test-exp.c: New file.
34004
34005         Tests for module 'erfc'.
34006         * modules/erfc-tests: New file.
34007         * tests/test-erfc.c: New file.
34008
34009         Tests for module 'erf'.
34010         * modules/erf-tests: New file.
34011         * tests/test-erf.c: New file.
34012
34013         Tests for module 'cosh'.
34014         * modules/cosh-tests: New file.
34015         * tests/test-cosh.c: New file.
34016
34017         Tests for module 'cos'.
34018         * modules/cos-tests: New file.
34019         * tests/test-cos.c: New file.
34020
34021         Tests for module 'copysign'.
34022         * modules/copysign-tests: New file.
34023         * tests/test-copysign.c: New file.
34024
34025         Tests for module 'cbrt'.
34026         * modules/cbrt-tests: New file.
34027         * tests/test-cbrt.c: New file.
34028
34029         Tests for module 'atan2'.
34030         * modules/atan2-tests: New file.
34031         * tests/test-atan2.c: New file.
34032
34033         Tests for module 'atan'.
34034         * modules/atan-tests: New file.
34035         * tests/test-atan.c: New file.
34036
34037         Tests for module 'asin'.
34038         * modules/asin-tests: New file.
34039         * tests/test-asin.c: New file.
34040
34041         Tests for module 'acos'.
34042         * modules/acos-tests: New file.
34043         * tests/test-acos.c: New file.
34044
34045 2010-01-24  Bruno Haible  <bruno@clisp.org>
34046
34047         Fix tests for common <math.h> functions.
34048         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
34049         code snippet that references the function pointer, rather than merely
34050         calling the function. Substitute the FUNC_LIBM variable.
34051         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
34052         * modules/acos (configure.ac): Likewise.
34053         * modules/asin (configure.ac): Likewise.
34054         * modules/atan (configure.ac): Likewise.
34055         * modules/atan2 (configure.ac): Likewise.
34056         * modules/cbrt (configure.ac): Likewise.
34057         * modules/copysign (configure.ac): Likewise.
34058         * modules/cos (configure.ac): Likewise.
34059         * modules/cosh (configure.ac): Likewise.
34060         * modules/erf (configure.ac): Likewise.
34061         * modules/erfc (configure.ac): Likewise.
34062         * modules/exp (configure.ac): Likewise.
34063         * modules/fabs (configure.ac): Likewise.
34064         * modules/fmod (configure.ac): Likewise.
34065         * modules/hypot (configure.ac): Likewise.
34066         * modules/j0 (configure.ac): Likewise.
34067         * modules/j1 (configure.ac): Likewise.
34068         * modules/jn (configure.ac): Likewise.
34069         * modules/ldexp (configure.ac): Likewise.
34070         * modules/lgamma (configure.ac): Likewise.
34071         * modules/log (configure.ac): Likewise.
34072         * modules/log10 (configure.ac): Likewise.
34073         * modules/log1p (configure.ac): Likewise.
34074         * modules/logb (configure.ac): Likewise.
34075         * modules/modf (configure.ac): Likewise.
34076         * modules/nextafter (configure.ac): Likewise.
34077         * modules/pow (configure.ac): Likewise.
34078         * modules/remainder (configure.ac): Likewise.
34079         * modules/rint (configure.ac): Likewise.
34080         * modules/sin (configure.ac): Likewise.
34081         * modules/sinh (configure.ac): Likewise.
34082         * modules/tan (configure.ac): Likewise.
34083         * modules/tanh (configure.ac): Likewise.
34084         * modules/y0 (configure.ac): Likewise.
34085         * modules/y1 (configure.ac): Likewise.
34086         * modules/yn (configure.ac): Likewise.
34087
34088 2010-01-24  Bruno Haible  <bruno@clisp.org>
34089
34090         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
34091         * tests/test-acosl.c (x): New variable.
34092         (main): Store argument in x and fetch it from x.
34093         * tests/test-asinl.c (x): New variable.
34094         (main): Store argument in x and fetch it from x.
34095         * tests/test-atanl.c (x): New variable.
34096         (main): Store argument in x and fetch it from x.
34097         * tests/test-cosl.c (x): New variable.
34098         (main): Store argument in x and fetch it from x.
34099         * tests/test-expl.c (x): New variable.
34100         (main): Store argument in x and fetch it from x.
34101         * tests/test-logl.c (x): New variable.
34102         (main): Store argument in x and fetch it from x.
34103         * tests/test-sinl.c (x): New variable.
34104         (main): Store argument in x and fetch it from x.
34105         * tests/test-sqrtl.c (x): New variable.
34106         (main): Store argument in x and fetch it from x.
34107         * tests/test-tanl.c (x): New variable.
34108         (main): Store argument in x and fetch it from x.
34109
34110 2010-01-24  Bruno Haible  <bruno@clisp.org>
34111
34112         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
34113         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
34114         assignments to the initial TESTS_ENVIRONMENT.
34115         * doc/gnulib.texi (Unit test modules): Document it.
34116         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
34117         TESTS_ENVIRONMENT.
34118         * modules/btowc-tests (Makefile.am): Likewise.
34119         * modules/c-stack-tests (Makefile.am): Likewise.
34120         * modules/c-strcase-tests (Makefile.am): Likewise.
34121         * modules/copy-file-tests (Makefile.am): Likewise.
34122         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
34123         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
34124         * modules/mbrtowc-tests (Makefile.am): Likewise.
34125         * modules/mbscasecmp-tests (Makefile.am): Likewise.
34126         * modules/mbscasestr-tests (Makefile.am): Likewise.
34127         * modules/mbschr-tests (Makefile.am): Likewise.
34128         * modules/mbscspn-tests (Makefile.am): Likewise.
34129         * modules/mbsinit-tests (Makefile.am): Likewise.
34130         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
34131         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
34132         * modules/mbspbrk-tests (Makefile.am): Likewise.
34133         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
34134         * modules/mbsrchr-tests (Makefile.am): Likewise.
34135         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
34136         * modules/mbsspn-tests (Makefile.am): Likewise.
34137         * modules/mbsstr-tests (Makefile.am): Likewise.
34138         * modules/nl_langinfo-tests (Makefile.am): Likewise.
34139         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
34140         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
34141         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
34142         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
34143         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
34144         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
34145         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
34146         * modules/wcrtomb-tests (Makefile.am): Likewise.
34147         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
34148         * modules/wcsrtombs-tests (Makefile.am): Likewise.
34149         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
34150         assignments from TESTS_ENVIRONMENT.
34151         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
34152         augmentation.
34153         * modules/argp-version-etc-tests (Makefile.am): Likewise.
34154         * modules/atexit-tests (Makefile.am): Likewise.
34155         * modules/binary-io-tests (Makefile.am): Likewise.
34156         * modules/closein-tests (Makefile.am): Likewise.
34157         * modules/dprintf-posix-tests (Makefile.am): Likewise.
34158         * modules/exclude-tests (Makefile.am): Likewise.
34159         * modules/fflush-tests (Makefile.am): Likewise.
34160         * modules/fpending-tests (Makefile.am): Likewise.
34161         * modules/fprintf-posix-tests (Makefile.am): Likewise.
34162         * modules/freadahead-tests (Makefile.am): Likewise.
34163         * modules/freadptr-tests (Makefile.am): Likewise.
34164         * modules/freadseek-tests (Makefile.am): Likewise.
34165         * modules/fseek-tests (Makefile.am): Likewise.
34166         * modules/fseeko-tests (Makefile.am): Likewise.
34167         * modules/ftell-tests (Makefile.am): Likewise.
34168         * modules/ftello-tests (Makefile.am): Likewise.
34169         * modules/idpriv-drop-tests (Makefile.am): Likewise.
34170         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
34171         * modules/lseek-tests (Makefile.am): Likewise.
34172         * modules/parse-duration-tests (Makefile.am): Likewise.
34173         * modules/perror-tests (Makefile.am): Likewise.
34174         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
34175         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
34176         * modules/pipe-tests (Makefile.am): Likewise.
34177         * modules/pread-tests (Makefile.am): Likewise.
34178         * modules/printf-posix-tests (Makefile.am): Likewise.
34179         * modules/select-tests (Makefile.am): Likewise.
34180         * modules/sigpipe-tests (Makefile.am): Likewise.
34181         * modules/tsearch-tests (Makefile.am): Likewise.
34182         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
34183         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
34184         * modules/uniname/uniname-tests (Makefile.am): Likewise.
34185         * modules/uniwidth/width-tests (Makefile.am): Likewise.
34186         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
34187         * modules/version-etc-tests (Makefile.am): Likewise.
34188         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
34189         * modules/vprintf-posix-tests (Makefile.am): Likewise.
34190         * modules/xalloc-die-tests (Makefile.am): Likewise.
34191         * modules/xprintf-posix-tests (Makefile.am): Likewise.
34192         * modules/xstrtoimax-tests (Makefile.am): Likewise.
34193         * modules/xstrtol-tests (Makefile.am): Likewise.
34194         * modules/xstrtoumax-tests (Makefile.am): Likewise.
34195         * modules/yesno-tests (Makefile.am): Likewise.
34196         Suggested by Jim Meyering.
34197
34198 2010-01-24  Bruno Haible  <bruno@clisp.org>
34199
34200         More documentation.
34201         * doc/gnulib.texi (Writing modules): New chapter.
34202         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
34203         the new chapter.
34204
34205 2010-01-24  Jim Meyering  <meyering@redhat.com>
34206
34207         maint.mk: do not prepend "./" after filtering
34208         * top/maint.mk (_prepend_srcdir_prefix): New variable
34209         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
34210         "./" when $(srcdir) is ".".
34211
34212         define STREQ(a,b) consistently, removing useless parentheses
34213         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
34214         since the only risk is that "a" or "b" contains an unparenthesized
34215         comma, but if either did that, STREQ would have 3 or more arguments.
34216         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
34217         * lib/fts.c (STREQ): Remove unnecessary parentheses.
34218         * lib/hash-triple.c (STREQ): Likewise.
34219         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
34220         * lib/getugroups.c (STREQ): Likewise.
34221
34222 2010-01-23  Jim Meyering  <meyering@redhat.com>
34223
34224         maint.mk: fix syntax-check in a non-srcdir build directory
34225         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
34226         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
34227
34228 2010-01-22  Jim Meyering  <meyering@redhat.com>
34229
34230         userspec: add unit tests
34231         * tests/test-userspec.c: New file.
34232         * modules/userspec-tests: Likewise.
34233
34234 2010-01-21  Jim Meyering  <meyering@redhat.com>
34235
34236         maint.mk: handle source file names containing "." robustly
34237         * top/maint.mk (_dot_escaped_srcdir): Define.
34238         (VC_LIST): Use it in LHS of sed substitution.
34239
34240 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
34241
34242         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
34243         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
34244         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
34245         from a non-srcdir build.
34246
34247 2010-01-20  Eric Blake  <ebb9@byu.net>
34248
34249         warn-on-use: use instead of link-warning
34250         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
34251         * modules/unistd (Depends-on, Makefile.am): Likewise.
34252         * modules/arpa_inet (Depends-on): Replace link-warning with
34253         warn-on-use.
34254         (Makefile.am): Update rules accordingly.
34255         * modules/ctype (Depends-on, Makefile.am): Likewise.
34256         * modules/dirent (Depends-on, Makefile.am): Likewise.
34257         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
34258         * modules/inttypes (Depends-on, Makefile.am): Likewise.
34259         * modules/langinfo (Depends-on, Makefile.am): Likewise.
34260         * modules/locale (Depends-on, Makefile.am): Likewise.
34261         * modules/math (Depends-on, Makefile.am): Likewise.
34262         * modules/search (Depends-on, Makefile.am): Likewise.
34263         * modules/signal (Depends-on, Makefile.am): Likewise.
34264         * modules/spawn (Depends-on, Makefile.am): Likewise.
34265         * modules/stdlib (Depends-on, Makefile.am): Likewise.
34266         * modules/string (Depends-on, Makefile.am): Likewise.
34267         * modules/strings (Depends-on, Makefile.am): Likewise.
34268         * modules/sys_file (Depends-on, Makefile.am): Likewise.
34269         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
34270         * modules/sys_select (Depends-on, Makefile.am): Likewise.
34271         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
34272         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
34273         * modules/sys_times (Depends-on, Makefile.am): Likewise.
34274         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
34275         * modules/wchar (Depends-on, Makefile.am): Likewise.
34276         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
34277         should be poisoned.
34278         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
34279         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
34280         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
34281         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
34282         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
34283         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
34284         * m4/math_h.m4 (gl_MATH_H): Likewise.
34285         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
34286         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
34287         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
34288         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
34289         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
34290         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
34291         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
34292         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
34293         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
34294         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
34295         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
34296         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
34297         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
34298         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
34299         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
34300         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
34301         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
34302         GL_LINK_WARNING.
34303         * lib/ctype.in.h: Likewise.
34304         * lib/dirent.in.h: Likewise.
34305         * lib/fcntl.in.h: Likewise.
34306         * lib/inttypes.in.h: Likewise.
34307         * lib/langinfo.in.h: Likewise.
34308         * lib/locale.in.h: Likewise.
34309         * lib/math.in.h: Likewise.
34310         * lib/search.in.h: Likewise.
34311         * lib/signal.in.h: Likewise.
34312         * lib/spawn.in.h: Likewise.
34313         * lib/stdio.in.h: Likewise.
34314         * lib/stdlib.in.h: Likewise.
34315         * lib/string.in.h: Likewise.
34316         * lib/strings.in.h: Likewise.
34317         * lib/sys_file.in.h: Likewise.
34318         * lib/sys_ioctl.in.h: Likewise.
34319         * lib/sys_select.in.h: Likewise.
34320         * lib/sys_socket.in.h: Likewise.
34321         * lib/sys_stat.in.h: Likewise.
34322         * lib/sys_times.in.h: Likewise.
34323         * lib/sys_utsname.in.h: Likewise.
34324         * lib/unistd.in.h: Likewise.
34325         * lib/wchar.in.h: Likewise.
34326
34327 2010-01-20  Bruno Haible  <bruno@clisp.org>
34328
34329         Avoid duplicate -lm.
34330         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
34331         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
34332         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
34333         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
34334         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
34335         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
34336         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
34337         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
34338         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
34339         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
34340         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
34341         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
34342         Reported by Paolo Bonzini.
34343
34344 2010-01-19  Bruno Haible  <bruno@clisp.org>
34345
34346         langinfo, nl_langinfo: Relicense under LGPLv2+.
34347         * modules/langinfo (License): Change to LGPLv2+.
34348         * modules/nl_langinfo (License): Likewise.
34349         Patch by David Lutterkort <lutter@redhat.com>.
34350
34351 2010-01-19  Bruno Haible  <bruno@clisp.org>
34352
34353         Avoid compilation error with cc on OSF/1 5.1.
34354         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
34355         statement, not before.
34356         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34357
34358 2010-01-18  Bruno Haible  <bruno@clisp.org>
34359
34360         Avoid a link error due to the __printf__ symbol.
34361         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
34362         and 2.6.x.
34363         (__format__, __printf__): Remove definitions.
34364         * lib/argp-fmtstream.h: Likewise.
34365         * lib/argp.h: Likewise.
34366         * lib/error.h: Likewise.
34367         * lib/vasnprintf.h: Likewise.
34368         * lib/xprintf.h: Likewise.
34369         * lib/xvasprintf.h: Likewise.
34370         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34371
34372 2010-01-18  Bruno Haible  <bruno@clisp.org>
34373
34374         Tests for module 'tanl'.
34375         * modules/tanl-tests: New file.
34376         * tests/test-tanl.c: New file.
34377
34378         Tests for module 'sqrtl'.
34379         * modules/sqrtl-tests: New file.
34380         * tests/test-sqrtl.c: New file.
34381
34382         Tests for module 'sinl'.
34383         * modules/sinl-tests: New file.
34384         * tests/test-sinl.c: New file.
34385
34386         Tests for module 'logl'.
34387         * modules/logl-tests: New file.
34388         * tests/test-logl.c: New file.
34389
34390         Tests for module 'expl'.
34391         * modules/expl-tests: New file.
34392         * tests/test-expl.c: New file.
34393
34394         Tests for module 'cosl'.
34395         * modules/cosl-tests: New file.
34396         * tests/test-cosl.c: New file.
34397
34398         Tests for module 'atanl'.
34399         * modules/atanl-tests: New file.
34400         * tests/test-atanl.c: New file.
34401
34402         Tests for module 'asinl'.
34403         * modules/asinl-tests: New file.
34404         * tests/test-asinl.c: New file.
34405
34406         Tests for module 'acosl'.
34407         * modules/acosl-tests: New file.
34408         * tests/test-acosl.c: New file.
34409
34410         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
34411         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
34412         tanl): Use the standard gnulib idiom.
34413         * lib/cosl.c: Don't include trigl.c and sincosl.c.
34414         * lib/sinl.c: Likewise.
34415         * lib/tanl.c: Don't include trigl.c.
34416         (kernel_tanl): Make static.
34417         * lib/sincosl.c: Include trigl.h first.
34418         * lib/trigl.c: Likewise.
34419         * m4/acosl.m4: New file.
34420         * m4/asinl.m4: New file.
34421         * m4/atanl.m4: New file.
34422         * m4/cosl.m4: New file.
34423         * m4/expl.m4: New file.
34424         * m4/logl.m4: New file.
34425         * m4/sinl.m4: New file.
34426         * m4/sqrtl.m4: New file.
34427         * m4/tanl.m4: New file.
34428         * m4/mathl.m4: Remove file.
34429         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
34430         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
34431         Don't initialize GNULIB_MATHL.
34432         * modules/acosl: New file.
34433         * modules/asinl: New file.
34434         * modules/atanl: New file.
34435         * modules/cosl: New file.
34436         * modules/expl: New file.
34437         * modules/logl: New file.
34438         * modules/sinl: New file.
34439         * modules/sqrtl: New file.
34440         * modules/tanl: New file.
34441         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
34442         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
34443         substitute GNULIB_MATHL.
34444         * modules/mathl: Rewritten.
34445         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
34446         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
34447         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
34448         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
34449         * doc/posix-functions/expl.texi: Mention the 'expl' module.
34450         * doc/posix-functions/logl.texi: Mention the 'logl' module.
34451         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
34452         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
34453         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
34454
34455 2010-01-18  Bruno Haible  <bruno@clisp.org>
34456
34457         sqrt: Make gl_FUNC_SQRT requirable.
34458         * m4/sqrt.m4: New file.
34459         * modules/sqrt (Files): Add it.
34460         (configure.ac): Invoke gl_FUNC_SQRT.
34461
34462 2010-01-18  Bruno Haible  <bruno@clisp.org>
34463
34464         New modules for common <math.h> functions.
34465         * m4/mathfunc.m4: New file.
34466         * modules/acos: New file.
34467         * modules/asin: New file.
34468         * modules/atan: New file.
34469         * modules/atan2: New file.
34470         * modules/cbrt: New file.
34471         * modules/copysign: New file.
34472         * modules/cos: New file.
34473         * modules/cosh: New file.
34474         * modules/erf: New file.
34475         * modules/erfc: New file.
34476         * modules/exp: New file.
34477         * modules/fabs: New file.
34478         * modules/fmod: New file.
34479         * modules/hypot: New file.
34480         * modules/j0: New file.
34481         * modules/j1: New file.
34482         * modules/jn: New file.
34483         * modules/ldexp: New file.
34484         * modules/lgamma: New file.
34485         * modules/log: New file.
34486         * modules/log10: New file.
34487         * modules/log1p: New file.
34488         * modules/logb: New file.
34489         * modules/modf: New file.
34490         * modules/nextafter: New file.
34491         * modules/pow: New file.
34492         * modules/remainder: New file.
34493         * modules/rint: New file.
34494         * modules/sin: New file.
34495         * modules/sinh: New file.
34496         * modules/sqrt: New file.
34497         * modules/tan: New file.
34498         * modules/tanh: New file.
34499         * modules/y0: New file.
34500         * modules/y1: New file.
34501         * modules/yn: New file.
34502         * doc/posix-functions/acos.texi: Mention the 'acos' module.
34503         * doc/posix-functions/asin.texi: Mention the 'asin' module.
34504         * doc/posix-functions/atan.texi: Mention the 'atan' module.
34505         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
34506         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
34507         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
34508         * doc/posix-functions/cos.texi: Mention the 'cos' module.
34509         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
34510         * doc/posix-functions/erf.texi: Mention the 'erf' module.
34511         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
34512         * doc/posix-functions/exp.texi: Mention the 'exp' module.
34513         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
34514         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
34515         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
34516         * doc/posix-functions/j0.texi: Mention the 'j0' module.
34517         * doc/posix-functions/j1.texi: Mention the 'j1' module.
34518         * doc/posix-functions/jn.texi: Mention the 'jn' module.
34519         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
34520         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
34521         * doc/posix-functions/log.texi: Mention the 'log' module.
34522         * doc/posix-functions/log10.texi: Mention the 'log10' module.
34523         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
34524         * doc/posix-functions/logb.texi: Mention the 'logb' module.
34525         * doc/posix-functions/modf.texi: Mention the 'modf' module.
34526         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
34527         * doc/posix-functions/pow.texi: Mention the 'pow' module.
34528         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
34529         * doc/posix-functions/rint.texi: Mention the 'rint' module.
34530         * doc/posix-functions/sin.texi: Mention the 'sin' module.
34531         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
34532         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
34533         * doc/posix-functions/tan.texi: Mention the 'tan' module.
34534         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
34535         * doc/posix-functions/y0.texi: Mention the 'y0' module.
34536         * doc/posix-functions/y1.texi: Mention the 'y1' module.
34537         * doc/posix-functions/yn.texi: Mention the 'yn' module.
34538
34539 2010-01-18  Jim Meyering  <meyering@redhat.com>
34540
34541         ignore-value: relax license to LGPLv2+
34542         * modules/ignore-value (License): Relax to LGPLv2+.
34543
34544         getdate: don't leak when TZ contains two or more '"'s
34545         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
34546         double quote in TZ after the first one.
34547
34548         readtokens: do not leak internal token_lengths buffer
34549         * lib/readtokens.c (readtokens): Free the local, lengths,
34550         when the supplied "token_lengths" parameter is NULL.
34551
34552 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34553
34554         Fix a couple of missing LIBTHREAD link failures on AIX.
34555         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
34556         $(LIBTHREAD).
34557         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
34558
34559         Link test-poll against INET_PTON_LIB.
34560         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
34561         for inet_pton on Solaris 10.
34562
34563 2010-01-17  Bruno Haible  <bruno@clisp.org>
34564
34565         unistdio/*-sprintf: Fix typo in module description.
34566         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
34567         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
34568         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
34569         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
34570         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
34571         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
34572         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
34573         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34574
34575 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34576
34577         gnulib-tool: fix filelist for AIX, HP-UX ksh.
34578         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
34579         variables in shell case patterns, for AIX and HP-UX ksh.
34580
34581         Split large sed scripts, for HP-UX sed.
34582         * modules/stdio: Split sed scripts around 50 sed commands,
34583         to avoid HP-UX limit of 99 commands, in the near future.
34584         * modules/string: Likewise.
34585         * modules/unistd: Likewise.
34586
34587         gnulib-tool: avoid writing in the current directory.
34588         * gnulib-tool (func_emit_lib_Makefile_am)
34589         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
34590         not in the current directory, so concurrent gnulib-tool
34591         instances do not interfere.
34592
34593 2010-01-16  Jim Meyering  <meyering@redhat.com>
34594
34595         doc: update users.txt
34596         * users.txt: Add grep.
34597         (diffutils, gzip): Update URLs.
34598
34599 2010-01-12  Bruno Haible  <bruno@clisp.org>
34600
34601         posix_spawn: Avoid test failure on Cygwin.
34602         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
34603         characters.
34604         Reported by Simon Josefsson.
34605
34606 2010-01-12  Bruno Haible  <bruno@clisp.org>
34607
34608         * tests/test-cond.c (main): When skipping the test, show the reason.
34609
34610 2010-01-12  Simon Josefsson  <simon@josefsson.org>
34611
34612         * lib/striconv.c (str_cd_iconv): Avoid if before free.
34613
34614 2010-01-12  Simon Josefsson  <simon@josefsson.org>
34615
34616         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
34617         VC_LIST_ALWAYS_EXCLUDE_REGEX.
34618
34619 2010-01-12  Eric Blake  <ebb9@byu.net>
34620
34621         build: guarantee AS_VAR_IF
34622         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
34623         (gl_AS_VAR_IF): Move...
34624         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
34625         Reported by Simon Josefsson.
34626
34627 2010-01-12  Simon Josefsson  <simon@josefsson.org>
34628
34629         * lib/stdio.in.h: Fix typo.
34630
34631 2010-01-12  Simon Josefsson  <simon@josefsson.org>
34632
34633         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
34634         libgpg-error.
34635
34636 2010-01-12  Simon Josefsson  <simon@josefsson.org>
34637
34638         * tests/test-xalloc-die.sh: Use $EXEEXT.
34639
34640 2010-01-12  Simon Josefsson  <simon@josefsson.org>
34641             Bruno Haible  <bruno@clisp.org>
34642
34643         getlogin, getlogin_r: Avoid test failure.
34644         * tests/test-getlogin.c: Include <stdio.h>.
34645         (main): Skip the test when the function fails because stdin is not a
34646         tty.
34647         * tests/test-getlogin_r.c: Include <stdio.h>.
34648         (main): Skip the test when the function fails because stdin is not a
34649         tty.
34650
34651 2010-01-11  Eric Blake  <ebb9@byu.net>
34652
34653         tests: avoid more large file warnings
34654         * tests/test-fflush.c: Avoid warning about ftell use.
34655         * tests/test-fseek.c: Avoid warning about fseek use.
34656
34657 2010-01-10  Bruno Haible  <bruno@clisp.org>
34658
34659         nproc: Work better on Linux when /proc and /sys are not mounted.
34660         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
34661         as lower bound when, on glibc/Linux systems,
34662         sysconf (_SC_NPROCESSORS_CONF) returns 1.
34663         Suggested by Pádraig Brady <P@draigbrady.com>.
34664         Reported by Dmitry V. Levin <ldv@altlinux.org>.
34665
34666         nproc: Refactor.
34667         * lib/nproc.c (num_processors_via_affinity_mask): New function,
34668         extracted from num_processors.
34669         (num_processors): Call it.
34670
34671 2010-01-11  Jim Meyering  <meyering@redhat.com>
34672
34673         utimecmp: avoid new warning from upcoming gcc-4.5.0
34674         * lib/utimecmp.c (BILLION): Define using #define rather than an
34675         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
34676
34677 2010-01-11  Eric Blake  <ebb9@byu.net>
34678
34679         math: add portability warnings for classification macros
34680         * modules/math (Depends-on): Add warn-on-use.
34681         (Makefile.am): Provide new substitutions.
34682         * m4/math_h.m4 (gl_MATH_H): Require inline.
34683         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
34684         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
34685         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
34686         implement warnings.
34687
34688         unistd: warn on use of environ without module
34689         * modules/unistd (Depends-on): Add warn-on-use.
34690         (Makefile.am): Provide new substitutions.
34691         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
34692         * lib/unistd.in.h (environ): Wrap with a warning helper function.
34693
34694         stdio: warn on suspicious uses
34695         * modules/stdio (Depends-on): Add warn-on-use.
34696         (Makefile.am): Provide new substitutions.
34697         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
34698         fseeko.
34699         * lib/stdio.in.h (gets): Always warn on use.
34700         (fseek, ftell): Adjust when warnings are issued, and honor
34701         _GL_NO_LARGE_FILES as a way to silence the warning.
34702         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
34703         any warning about large file offsets.
34704         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
34705         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
34706         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
34707         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
34708         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
34709         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
34710         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
34711         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
34712
34713         warn-on-use: new module
34714         * modules/warn-on-use: New file.
34715         * build-aux/warn-on-use.h: Likewise.
34716         * m4/warn-on-use.m4: Likewise.
34717         * MODULES.html.sh (Support for building): Mention it.
34718
34719 2010-01-10  Bruno Haible  <bruno@clisp.org>
34720
34721         Tests for module 'unistr/u32-strdup'.
34722         * modules/unistr/u32-strdup-tests: New file.
34723         * tests/unistr/test-u32-strdup.c: New file.
34724
34725         Tests for module 'unistr/u16-strdup'.
34726         * modules/unistr/u16-strdup-tests: New file.
34727         * tests/unistr/test-u16-strdup.c: New file.
34728
34729         Tests for module 'unistr/u8-strdup'.
34730         * modules/unistr/u8-strdup-tests: New file.
34731         * tests/unistr/test-u8-strdup.c: New file.
34732         * tests/unistr/test-strdup.h: New file.
34733
34734         Tests for module 'unistr/u32-strncmp'.
34735         * modules/unistr/u32-strncmp-tests: New file.
34736         * tests/unistr/test-u32-strncmp.c: New file.
34737
34738         Tests for module 'unistr/u16-strncmp'.
34739         * modules/unistr/u16-strncmp-tests: New file.
34740         * tests/unistr/test-u16-strncmp.c: New file.
34741
34742         Tests for module 'unistr/u8-strncmp'.
34743         * modules/unistr/u8-strncmp-tests: New file.
34744         * tests/unistr/test-u8-strncmp.c: New file.
34745         * tests/unistr/test-strncmp.h: New file.
34746
34747         Tests for module 'unistr/u32-strcoll'.
34748         * modules/unistr/u32-strcoll-tests: New file.
34749         * tests/unistr/test-u32-strcoll.c: New file.
34750
34751         Tests for module 'unistr/u16-strcoll'.
34752         * modules/unistr/u16-strcoll-tests: New file.
34753         * tests/unistr/test-u16-strcoll.c: New file.
34754
34755         Tests for module 'unistr/u8-strcoll'.
34756         * modules/unistr/u8-strcoll-tests: New file.
34757         * tests/unistr/test-u8-strcoll.c: New file.
34758
34759         Tests for module 'unistr/u32-strcmp'.
34760         * modules/unistr/u32-strcmp-tests: New file.
34761         * tests/unistr/test-u32-strcmp.c: New file.
34762         * tests/unistr/test-u32-strcmp.h: New file.
34763
34764         Tests for module 'unistr/u16-strcmp'.
34765         * modules/unistr/u16-strcmp-tests: New file.
34766         * tests/unistr/test-u16-strcmp.c: New file.
34767         * tests/unistr/test-u16-strcmp.h: New file.
34768
34769         Tests for module 'unistr/u8-strcmp'.
34770         * modules/unistr/u8-strcmp-tests: New file.
34771         * tests/unistr/test-u8-strcmp.c: New file.
34772         * tests/unistr/test-u8-strcmp.h: New file.
34773         * tests/unistr/test-strcmp.h: New file.
34774
34775         Tests for module 'unistr/u32-strncat'.
34776         * modules/unistr/u32-strncat-tests: New file.
34777         * tests/unistr/test-u32-strncat.c: New file.
34778
34779         Tests for module 'unistr/u16-strncat'.
34780         * modules/unistr/u16-strncat-tests: New file.
34781         * tests/unistr/test-u16-strncat.c: New file.
34782
34783         Tests for module 'unistr/u8-strncat'.
34784         * modules/unistr/u8-strncat-tests: New file.
34785         * tests/unistr/test-u8-strncat.c: New file.
34786         * tests/unistr/test-strncat.h: New file.
34787
34788         Tests for module 'unistr/u32-strcat'.
34789         * modules/unistr/u32-strcat-tests: New file.
34790         * tests/unistr/test-u32-strcat.c: New file.
34791
34792         Tests for module 'unistr/u16-strcat'.
34793         * modules/unistr/u16-strcat-tests: New file.
34794         * tests/unistr/test-u16-strcat.c: New file.
34795
34796         Tests for module 'unistr/u8-strcat'.
34797         * modules/unistr/u8-strcat-tests: New file.
34798         * tests/unistr/test-u8-strcat.c: New file.
34799         * tests/unistr/test-strcat.h: New file.
34800
34801         Tests for module 'unistr/u32-stpncpy'.
34802         * modules/unistr/u32-stpncpy-tests: New file.
34803         * tests/unistr/test-u32-stpncpy.c: New file.
34804
34805         Tests for module 'unistr/u16-stpncpy'.
34806         * modules/unistr/u16-stpncpy-tests: New file.
34807         * tests/unistr/test-u16-stpncpy.c: New file.
34808
34809         Tests for module 'unistr/u8-stpncpy'.
34810         * modules/unistr/u8-stpncpy-tests: New file.
34811         * tests/unistr/test-u8-stpncpy.c: New file.
34812         * tests/unistr/test-stpncpy.h: New file.
34813
34814         Tests for module 'unistr/u32-strncpy'.
34815         * modules/unistr/u32-strncpy-tests: New file.
34816         * tests/unistr/test-u32-strncpy.c: New file.
34817
34818         Tests for module 'unistr/u16-strncpy'.
34819         * modules/unistr/u16-strncpy-tests: New file.
34820         * tests/unistr/test-u16-strncpy.c: New file.
34821
34822         Tests for module 'unistr/u8-strncpy'.
34823         * modules/unistr/u8-strncpy-tests: New file.
34824         * tests/unistr/test-u8-strncpy.c: New file.
34825         * tests/unistr/test-strncpy.h: New file.
34826
34827         Tests for module 'unistr/u32-stpcpy'.
34828         * modules/unistr/u32-stpcpy-tests: New file.
34829         * tests/unistr/test-u32-stpcpy.c: New file.
34830
34831         Tests for module 'unistr/u16-stpcpy'.
34832         * modules/unistr/u16-stpcpy-tests: New file.
34833         * tests/unistr/test-u16-stpcpy.c: New file.
34834
34835         Tests for module 'unistr/u8-stpcpy'.
34836         * modules/unistr/u8-stpcpy-tests: New file.
34837         * tests/unistr/test-u8-stpcpy.c: New file.
34838         * tests/unistr/test-stpcpy.h: New file.
34839
34840         Tests for module 'unistr/u32-strcpy'.
34841         * modules/unistr/u32-strcpy-tests: New file.
34842         * tests/unistr/test-u32-strcpy.c: New file.
34843
34844         Tests for module 'unistr/u16-strcpy'.
34845         * modules/unistr/u16-strcpy-tests: New file.
34846         * tests/unistr/test-u16-strcpy.c: New file.
34847
34848         Tests for module 'unistr/u8-strcpy'.
34849         * modules/unistr/u8-strcpy-tests: New file.
34850         * tests/unistr/test-u8-strcpy.c: New file.
34851         * tests/unistr/test-strcpy.h: New file.
34852
34853         Tests for module 'unistr/u32-strnlen'.
34854         * modules/unistr/u32-strnlen-tests: New file.
34855         * tests/unistr/test-u32-strnlen.c: New file.
34856
34857         Tests for module 'unistr/u16-strnlen'.
34858         * modules/unistr/u16-strnlen-tests: New file.
34859         * tests/unistr/test-u16-strnlen.c: New file.
34860
34861         Tests for module 'unistr/u8-strnlen'.
34862         * modules/unistr/u8-strnlen-tests: New file.
34863         * tests/unistr/test-u8-strnlen.c: New file.
34864         * tests/unistr/test-strnlen.h: New file.
34865
34866         Tests for module 'unistr/u32-strlen'.
34867         * modules/unistr/u32-strlen-tests: New file.
34868         * tests/unistr/test-u32-strlen.c: New file.
34869
34870         Tests for module 'unistr/u16-strlen'.
34871         * modules/unistr/u16-strlen-tests: New file.
34872         * tests/unistr/test-u16-strlen.c: New file.
34873
34874         Tests for module 'unistr/u8-strlen'.
34875         * modules/unistr/u8-strlen-tests: New file.
34876         * tests/unistr/test-u8-strlen.c: New file.
34877
34878         Tests for module 'unistr/u32-prev'.
34879         * modules/unistr/u32-prev-tests: New file.
34880         * tests/unistr/test-u32-prev.c: New file.
34881
34882         Tests for module 'unistr/u16-prev'.
34883         * modules/unistr/u16-prev-tests: New file.
34884         * tests/unistr/test-u16-prev.c: New file.
34885
34886         Tests for module 'unistr/u8-prev'.
34887         * modules/unistr/u8-prev-tests: New file.
34888         * tests/unistr/test-u8-prev.c: New file.
34889
34890         Tests for module 'unistr/u32-next'.
34891         * modules/unistr/u32-next-tests: New file.
34892         * tests/unistr/test-u32-next.c: New file.
34893
34894         Tests for module 'unistr/u16-next'.
34895         * modules/unistr/u16-next-tests: New file.
34896         * tests/unistr/test-u16-next.c: New file.
34897
34898         Tests for module 'unistr/u8-next'.
34899         * modules/unistr/u8-next-tests: New file.
34900         * tests/unistr/test-u8-next.c: New file.
34901
34902         Tests for module 'unistr/u32-strmbtouc'.
34903         * modules/unistr/u32-strmbtouc-tests: New file.
34904         * tests/unistr/test-u32-strmbtouc.c: New file.
34905
34906         Tests for module 'unistr/u16-strmbtouc'.
34907         * modules/unistr/u16-strmbtouc-tests: New file.
34908         * tests/unistr/test-u16-strmbtouc.c: New file.
34909
34910         Tests for module 'unistr/u8-strmbtouc'.
34911         * modules/unistr/u8-strmbtouc-tests: New file.
34912         * tests/unistr/test-u8-strmbtouc.c: New file.
34913
34914         Tests for module 'unistr/u32-strmblen'.
34915         * modules/unistr/u32-strmblen-tests: New file.
34916         * tests/unistr/test-u32-strmblen.c: New file.
34917
34918         Tests for module 'unistr/u16-strmblen'.
34919         * modules/unistr/u16-strmblen-tests: New file.
34920         * tests/unistr/test-u16-strmblen.c: New file.
34921
34922         Tests for module 'unistr/u8-strmblen'.
34923         * modules/unistr/u8-strmblen-tests: New file.
34924         * tests/unistr/test-u8-strmblen.c: New file.
34925
34926         Tests for module 'unistr/u32-cpy-alloc'.
34927         * modules/unistr/u32-cpy-alloc-tests: New file.
34928         * tests/unistr/test-u32-cpy-alloc.c: New file.
34929
34930         Tests for module 'unistr/u16-cpy-alloc'.
34931         * modules/unistr/u16-cpy-alloc-tests: New file.
34932         * tests/unistr/test-u16-cpy-alloc.c: New file.
34933
34934         Tests for module 'unistr/u8-cpy-alloc'.
34935         * modules/unistr/u8-cpy-alloc-tests: New file.
34936         * tests/unistr/test-u8-cpy-alloc.c: New file.
34937         * tests/unistr/test-cpy-alloc.h: New file.
34938
34939         Tests for module 'unistr/u32-mbsnlen'.
34940         * modules/unistr/u32-mbsnlen-tests: New file.
34941         * tests/unistr/test-u32-mbsnlen.c: New file.
34942
34943         Tests for module 'unistr/u16-mbsnlen'.
34944         * modules/unistr/u16-mbsnlen-tests: New file.
34945         * tests/unistr/test-u16-mbsnlen.c: New file.
34946
34947         Tests for module 'unistr/u8-mbsnlen'.
34948         * modules/unistr/u8-mbsnlen-tests: New file.
34949         * tests/unistr/test-u8-mbsnlen.c: New file.
34950
34951         Tests for module 'unistr/u32-chr'.
34952         * modules/unistr/u32-chr-tests: New file.
34953         * tests/unistr/test-u32-chr.c: New file.
34954
34955         Tests for module 'unistr/u16-chr'.
34956         * modules/unistr/u16-chr-tests: New file.
34957         * tests/unistr/test-u16-chr.c: New file.
34958
34959         Tests for module 'unistr/u8-chr'.
34960         * modules/unistr/u8-chr-tests: New file.
34961         * tests/unistr/test-u8-chr.c: New file.
34962         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
34963
34964         Tests for module 'unistr/u32-cmp2'.
34965         * modules/unistr/u32-cmp2-tests: New file.
34966         * tests/unistr/test-u32-cmp2.c: New file.
34967
34968         Tests for module 'unistr/u16-cmp2'.
34969         * modules/unistr/u16-cmp2-tests: New file.
34970         * tests/unistr/test-u16-cmp2.c: New file.
34971
34972         Tests for module 'unistr/u8-cmp2'.
34973         * modules/unistr/u8-cmp2-tests: New file.
34974         * tests/unistr/test-u8-cmp2.c: New file.
34975         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
34976
34977         Tests for module 'unistr/u32-cmp'.
34978         * modules/unistr/u32-cmp-tests: New file.
34979         * tests/unistr/test-u32-cmp.c: New file.
34980
34981         Tests for module 'unistr/u16-cmp'.
34982         * modules/unistr/u16-cmp-tests: New file.
34983         * tests/unistr/test-u16-cmp.c: New file.
34984
34985         Tests for module 'unistr/u8-cmp'.
34986         * modules/unistr/u8-cmp-tests: New file.
34987         * tests/unistr/test-u8-cmp.c: New file.
34988         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
34989
34990         Tests for module 'unistr/u32-set'.
34991         * modules/unistr/u32-set-tests: New file.
34992         * tests/unistr/test-u32-set.c: New file.
34993
34994         Tests for module 'unistr/u16-set'.
34995         * modules/unistr/u16-set-tests: New file.
34996         * tests/unistr/test-u16-set.c: New file.
34997
34998         Tests for module 'unistr/u8-set'.
34999         * modules/unistr/u8-set-tests: New file.
35000         * tests/unistr/test-u8-set.c: New file.
35001         * tests/unistr/test-set.h: New file.
35002
35003         Tests for module 'unistr/u32-move'.
35004         * modules/unistr/u32-move-tests: New file.
35005         * tests/unistr/test-u32-move.c: New file.
35006
35007         Tests for module 'unistr/u16-move'.
35008         * modules/unistr/u16-move-tests: New file.
35009         * tests/unistr/test-u16-move.c: New file.
35010
35011         Tests for module 'unistr/u8-move'.
35012         * modules/unistr/u8-move-tests: New file.
35013         * tests/unistr/test-u8-move.c: New file.
35014         * tests/unistr/test-move.h: New file.
35015
35016         Tests for module 'unistr/u32-cpy'.
35017         * modules/unistr/u32-cpy-tests: New file.
35018         * tests/unistr/test-u32-cpy.c: New file.
35019
35020         Tests for module 'unistr/u16-cpy'.
35021         * modules/unistr/u16-cpy-tests: New file.
35022         * tests/unistr/test-u16-cpy.c: New file.
35023
35024         Tests for module 'unistr/u8-cpy'.
35025         * modules/unistr/u8-cpy-tests: New file.
35026         * tests/unistr/test-u8-cpy.c: New file.
35027         * tests/unistr/test-cpy.h: New file.
35028
35029 2010-01-09  Bruno Haible  <bruno@clisp.org>
35030
35031         Tests for module 'unistr/u32-uctomb'.
35032         * modules/unistr/u32-uctomb-tests: New file.
35033         * tests/unistr/test-u32-uctomb.c: New file.
35034
35035         Tests for module 'unistr/u16-uctomb'.
35036         * modules/unistr/u16-uctomb-tests: New file.
35037         * tests/unistr/test-u16-uctomb.c: New file.
35038
35039         Tests for module 'unistr/u8-uctomb'.
35040         * modules/unistr/u8-uctomb-tests: New file.
35041         * tests/unistr/test-u8-uctomb.c: New file.
35042
35043         Tests for module 'unistr/u32-mbtoucr'.
35044         * modules/unistr/u32-mbtoucr-tests: New file.
35045         * tests/unistr/test-u32-mbtoucr.c: New file.
35046
35047         Tests for module 'unistr/u16-mbtoucr'.
35048         * modules/unistr/u16-mbtoucr-tests: New file.
35049         * tests/unistr/test-u16-mbtoucr.c: New file.
35050
35051         Tests for module 'unistr/u8-mbtoucr'.
35052         * modules/unistr/u8-mbtoucr-tests: New file.
35053         * tests/unistr/test-u8-mbtoucr.c: New file.
35054
35055         Tests for module 'unistr/u32-mbtouc'.
35056         * modules/unistr/u32-mbtouc-tests: New file.
35057         * tests/unistr/test-u32-mbtouc.c: New file.
35058
35059         Tests for module 'unistr/u16-mbtouc'.
35060         * modules/unistr/u16-mbtouc-tests: New file.
35061         * tests/unistr/test-u16-mbtouc.c: New file.
35062
35063         Tests for module 'unistr/u8-mbtouc'.
35064         * modules/unistr/u8-mbtouc-tests: New file.
35065         * tests/unistr/test-u8-mbtouc.c: New file.
35066
35067         Tests for module 'unistr/u32-mbtouc-unsafe'.
35068         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
35069         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
35070         * tests/unistr/test-u32-mbtouc.h: New file.
35071
35072         Tests for module 'unistr/u16-mbtouc-unsafe'.
35073         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
35074         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
35075         * tests/unistr/test-u16-mbtouc.h: New file.
35076
35077         Tests for module 'unistr/u8-mbtouc-unsafe'.
35078         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
35079         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
35080         * tests/unistr/test-u8-mbtouc.h: New file.
35081
35082         Tests for module 'unistr/u32-mblen'.
35083         * modules/unistr/u32-mblen-tests: New file.
35084         * tests/unistr/test-u32-mblen.c: New file.
35085
35086         Tests for module 'unistr/u16-mblen'.
35087         * modules/unistr/u16-mblen-tests: New file.
35088         * tests/unistr/test-u16-mblen.c: New file.
35089
35090         Tests for module 'unistr/u8-mblen'.
35091         * modules/unistr/u8-mblen-tests: New file.
35092         * tests/unistr/test-u8-mblen.c: New file.
35093
35094         Tests for module 'unistr/u32-to-u16'.
35095         * modules/unistr/u32-to-u16-tests: New file.
35096         * tests/unistr/test-u32-to-u16.c: New file.
35097
35098         Tests for module 'unistr/u32-to-u8'.
35099         * modules/unistr/u32-to-u8-tests: New file.
35100         * tests/unistr/test-u32-to-u8.c: New file.
35101
35102         Tests for module 'unistr/u16-to-u32'.
35103         * modules/unistr/u16-to-u32-tests: New file.
35104         * tests/unistr/test-u16-to-u32.c: New file.
35105
35106         Tests for module 'unistr/u16-to-u8'.
35107         * modules/unistr/u16-to-u8-tests: New file.
35108         * tests/unistr/test-u16-to-u8.c: New file.
35109
35110         Tests for module 'unistr/u8-to-u32'.
35111         * modules/unistr/u8-to-u32-tests: New file.
35112         * tests/unistr/test-u8-to-u32.c: New file.
35113
35114         Tests for module 'unistr/u8-to-u16'.
35115         * modules/unistr/u8-to-u16-tests: New file.
35116         * tests/unistr/test-u8-to-u16.c: New file.
35117
35118         Tests for module 'unistr/u32-check'.
35119         * modules/unistr/u32-check-tests: New file.
35120         * tests/unistr/test-u32-check.c: New file.
35121
35122         Tests for module 'unistr/u16-check'.
35123         * modules/unistr/u16-check-tests: New file.
35124         * tests/unistr/test-u16-check.c: New file.
35125
35126         Tests for module 'unistr/u8-check'.
35127         * modules/unistr/u8-check-tests: New file.
35128         * tests/unistr/test-u8-check.c: New file.
35129
35130         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
35131         (category_equals): New function.
35132         (main): Add more tests.
35133         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
35134
35135         * tests/unictype/test-bidi_byname.c (main): Add more tests.
35136
35137 2010-01-10  Bruno Haible  <bruno@clisp.org>
35138
35139         unistr/u*-strcoll: Try harder to distinguish different strings.
35140         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
35141         compare s1 and s2 to see if they are different.
35142
35143 2010-01-10  Bruno Haible  <bruno@clisp.org>
35144
35145         unistr/u*-stpncpy: Fix the return value.
35146         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
35147         description of the return value consistent with stpncpy in glibc.
35148         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
35149         written non-NUL unit.
35150
35151 2010-01-10  Bruno Haible  <bruno@clisp.org>
35152
35153         unistr/u*-next: Add missing dependencies.
35154         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
35155         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
35156         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
35157
35158 2010-01-10  Bruno Haible  <bruno@clisp.org>
35159
35160         unistr/u8-mbsnlen: Fix return value for incomplete character.
35161         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
35162         u8_mblen.
35163         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
35164         Remove unistr/u8-mblen.
35165         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
35166         u16_mblen.
35167         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
35168         Remove unistr/u16-mblen.
35169
35170 2010-01-10  Bruno Haible  <bruno@clisp.org>
35171
35172         wchar: Fix compilation error when <wchar.h> is used from coreutils.
35173         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
35174         Reported by Brian Gough <bjg@gnu.org> and
35175         Chris Clayton <chris2553@googlemail.com> via
35176         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
35177
35178 2010-01-09  Bruno Haible  <bruno@clisp.org>
35179
35180         unistr/u16-to-u32: Reject invalid input.
35181         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
35182         u16_mbtouc.
35183         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
35184         Remove unistr/u16-mbtouc.
35185
35186         unistr/u16-to-u8: Reject invalid input.
35187         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
35188         u16_mbtouc.
35189         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
35190         Remove unistr/u16-mbtouc.
35191
35192         unistr/u8-to-u32: Reject invalid input.
35193         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
35194         u8_mbtouc.
35195         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
35196         Remove unistr/u8-mbtouc.
35197
35198         unistr/u8-to-u16: Reject invalid input.
35199         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
35200         u8_mbtouc.
35201         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
35202         Remove unistr/u8-mbtouc.
35203
35204 2010-01-09  Bruno Haible  <bruno@clisp.org>
35205
35206         Tests for module 'getlogin'.
35207         * modules/getlogin-tests: New file.
35208         * tests/test-getlogin.c: New file.
35209
35210         New module 'getlogin'.
35211         * lib/unistd.in.h (getlogin): New declaration.
35212         * lib/getlogin.c: New file.
35213         * m4/getlogin.m4: New file.
35214         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
35215         HAVE_GETLOGIN.
35216         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
35217         HAVE_GETLOGIN.
35218         * modules/getlogin: New file.
35219         * doc/posix-functions/getlogin.texi: Mention the new module.
35220         Reported by John W. Eaton <jwe@gnu.org>.
35221
35222 2010-01-09  Bruno Haible  <bruno@clisp.org>
35223
35224         getlogin_r: Support for native Windows.
35225         * lib/getlogin_r.c: Include <windows.h>
35226         (getlogin_r): Implement for native Windows.
35227         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
35228         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
35229         via John W. Eaton <jwe@gnu.org>.
35230
35231 2010-01-09  Bruno Haible  <bruno@clisp.org>
35232
35233         getlogin_r: Small fixes.
35234         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
35235         succeeds.
35236         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
35237         before testing whether getlogin_r is declared. No need to set
35238         HAVE_DECL_GETLOGIN_R to 1.
35239         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
35240
35241 2010-01-09  Bruno Haible  <bruno@clisp.org>
35242
35243         * lib/unistd.in.h (getlogin_r): Add comment.
35244
35245 2010-01-09  Bruno Haible  <bruno@clisp.org>
35246
35247         Tests for module 'getlogin_r'.
35248         * modules/getlogin_r-tests: New file.
35249         * tests/test-getlogin_r.c: New file.
35250
35251 2010-01-09  Jim Meyering  <meyering@redhat.com>
35252
35253         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
35254         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
35255         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
35256
35257 2010-01-08  Simon Josefsson  <simon@josefsson.org>
35258
35259         * lib/dup2.c (rpl_dup2): Improve comment.
35260
35261 2010-01-08  Eric Blake  <ebb9@byu.net>
35262
35263         maint.mk: allow packages to add makefile @@ exceptions
35264         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
35265         (sc_makefile_check): Rename...
35266         (sc_makefile_at_at_check): ...to this, and use hook.
35267
35268         dup2: work around mingw bug
35269         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
35270         Reported by Simon Josefsson.
35271
35272 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
35273
35274         glob: Fix C++ compilation.
35275         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
35276         C++.
35277
35278 2010-01-07  Bruno Haible  <bruno@clisp.org>
35279
35280         Fix indentation of wctype.in.h, broken since 2007-01-06.
35281         * lib/wctype.in.h: Fix indentation of preprocessor directives.
35282
35283 2010-01-07  Bruno Haible  <bruno@clisp.org>
35284
35285         mbslen: Avoid collision with system function.
35286         * lib/string.in.h [MirBSD]: Include <wchar.h>.
35287         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
35288         * m4/mbslen.m4: New file.
35289         * modules/mbslen (Files): Add it.
35290         (configure.ac): Invoke gl_MBSLEN.
35291         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
35292         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
35293         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
35294         via Ian Beckwith <ianb@erislabs.net>.
35295
35296 2010-01-07  Bruno Haible  <bruno@clisp.org>
35297
35298         dirent: Document the last fix.
35299         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
35300
35301 2010-01-07  Bruno Haible  <bruno@clisp.org>
35302
35303         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
35304         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
35305         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
35306         va_list are defined.
35307         * doc/posix-headers/stdio.texi: Document the bug of missing types.
35308         Reported by Eric Blake.
35309
35310 2010-01-07  Bruno Haible  <bruno@clisp.org>
35311
35312         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
35313         * modules/xlist (Depends-on): Add 'list',
35314         * modules/xoset (Depends-on): Add 'oset'.
35315         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
35316
35317 2010-01-07  Bruno Haible  <bruno@clisp.org>
35318
35319         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
35320         * doc/posix-functions/strncasecmp.texi: Likewise.
35321
35322 2010-01-07  Bruno Haible  <bruno@clisp.org>
35323
35324         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
35325
35326 2010-01-07  John W. Eaton  <jwe@octave.org>
35327
35328         wctype: allow C++ use
35329         * lib/wctype.in.h: Add extern "C" block for C++.
35330
35331 2010-01-06  Eric Blake  <ebb9@byu.net>
35332
35333         maint.mk: detect incorrect GFDL usage
35334         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
35335
35336 2010-01-06  Jim Meyering  <meyering@redhat.com>
35337         and Eric Blake  <ebb9@byu.net>
35338
35339         maint.mk: ignore multi-line copyright in NEWS
35340         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
35341
35342 2010-01-06  Eric Blake  <ebb9@byu.net>
35343
35344         select: add missing dependency
35345         * modules/select-tests (Depends-on): Move sockets dependency...
35346         * modules/select (Depends-on): ...here.
35347         Reported by Ian Beckwith.
35348
35349         doc: regenerate INSTALL
35350         * doc/INSTALL: Reflect recent autoconf update.
35351         * doc/INSTALL.ISO: Likewise.
35352         * doc/INSTALL.UTF-8: Likewise.
35353
35354         pread: fix compilation on glibc
35355         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
35356         Reported by Ralf Wildenhues.
35357
35358         dirent: fix test failure
35359         * lib/dirent.in.h (includes): Guarantee ino_t.
35360         Reported by Ralf Wildenhues.
35361
35362 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
35363
35364         linkat, renameat: avoid bad free
35365         * lib/at-func2.c (at_func2): Fix typo.
35366         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
35367
35368 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35369
35370         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
35371         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
35372         to avoid failure of symlink test later.
35373
35374 2010-01-06  Eric Blake  <ebb9@byu.net>
35375
35376         stdio, unistd: guarantee ssize_t
35377         * lib/unistd.in.h (includes): Ensure that types required by POSIX
35378         2008 are exposed when needed.
35379         * lib/stdio.in.h (includes): Likewise.
35380         Reported by Ralf Wildenhues.
35381
35382 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
35383
35384         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
35385         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
35386         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
35387
35388 2010-01-06  Jim Meyering  <meyering@redhat.com>
35389
35390         readtokens: this module *does* require xalloc.h
35391         It uses only functions that were omitted by the old syntax-check rule.
35392         * lib/readtokens.c: Include "xalloc.h" once again.
35393         * modules/readtokens (Depends-on): Add xalloc.
35394         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
35395
35396 2010-01-05  Eric Blake  <ebb9@byu.net>
35397
35398         maint: support 'make announcement' from a VPATH build
35399         * top/maint.mk (announcement): Look for correct NEWS file.
35400
35401 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
35402
35403         utimens (fdutimens): ignore a negative FD, per contract
35404         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
35405         when we have a valid file descriptor.  Otherwise, using a brand
35406         new glibc (with just-patched futimens that now fails with EBADF)
35407         would cause this function to fail with ENOSYS.
35408         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
35409         See also http://bugzilla.redhat.com/552320.
35410
35411 2010-01-05  Eric Blake  <ebb9@byu.net>
35412
35413         strcase: document what it provides
35414         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
35415         gnulib module.
35416         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
35417         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
35418
35419 2010-01-05  Jim Meyering  <meyering@redhat.com>
35420
35421         maint: remove useless inclusions of "xalloc.h"
35422         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
35423         * lib/readtokens.c: Likewise.
35424         * lib/same.c: Likewise.
35425         * modules/getloadavg (Depends-on): Remove xalloc.
35426         * modules/readtokens: Likewise.
35427         * modules/same: Likewise.
35428
35429         maint.mk: include 4 more function names in alloca.h-checking regexp
35430         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
35431         regexp.  Before, we would give a false-positive (saying alloca.h
35432         is included unnecessarily) when the only uses involved omitted symbols.
35433
35434         xalloc.h: use consistent formatting
35435         * lib/xalloc.h: Move declarations to start in the first column.
35436
35437 2010-01-05  Eric Blake  <ebb9@byu.net>
35438
35439         mkdir: avoid xalloc
35440         * lib/mkdir.c (includes): Drop unused header.
35441         Reported by John W. Eaton.
35442
35443 2010-01-04  Jim Meyering  <meyering@redhat.com>
35444
35445         nl_langinfo: avoid configure-time syntax error
35446         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
35447         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
35448         the empty string.  Don't let that provoke a shell syntax error.
35449
35450         regcomp, regexec, fnmatch: avoid array bounds read error
35451         * lib/regcomp.c (build_equiv_class): From glibc:
35452         Use only the low 24 bits of a findidx return value as an index
35453         into the weights array.  Patch by Ulrich Drepper:
35454         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
35455         * lib/regexec.c (check_node_accept_bytes): Likewise.
35456         * lib/fnmatch_loop.c (FCT): Likewise.
35457
35458         regcomp: skip collseq lookup when there are no rules
35459         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
35460         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
35461
35462         regcomp: recognize ill-formed { } expressions
35463         * lib/regcomp.c (parse_dup_op): From glibc:
35464         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
35465
35466         regcomp: fix typo in comment
35467         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
35468         s/satisfy/satisfies/.
35469
35470         regcomp: sync from glibc: remove dead store
35471         * lib/regcomp.c (duplicate_node_closure): Remove useless
35472         search_duplicated_node call and dead store.
35473
35474         regcomp: sync from glibc; always use nl_langinfo
35475         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
35476         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
35477         * modules/regex (Depends-on): Add nl_langinfo.
35478
35479 2010-01-04  Eric Blake  <ebb9@byu.net>
35480
35481         fdopendir: fix configure test
35482         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
35483
35484 2010-01-01  Bruno Haible  <bruno@clisp.org>
35485
35486         wchar: Remove unused configure check.
35487         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
35488
35489 2010-01-01  Eric Blake  <ebb9@byu.net>
35490
35491         headers: make check of system header explicit
35492         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
35493         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
35494         ourselves.
35495         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
35496         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
35497         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
35498         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
35499         internals.
35500         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
35501         missing.
35502         Suggested by Bruno Haible.
35503
35504 2010-01-01  Jim Meyering  <meyering@redhat.com>
35505
35506         ChangeLog: tweak to eliminate unnecessary copyright line
35507         * ChangeLog: Remove a copyright line that was mistakenly updated
35508         by today's update-copyright run.  Reported by Eric Blake.
35509
35510         test-update-copyright: don't let envvar setting cause test failure
35511         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
35512
35513 2010-01-01  Bruno Haible  <bruno@clisp.org>
35514
35515         localename: Avoid gcc warning.
35516         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
35517         function if it is not used.
35518
35519 2010-01-01  Jim Meyering  <meyering@redhat.com>
35520
35521         update nearly all FSF copyright year lists to include 2010
35522         Use the same procedure as for 2009, outlined in
35523         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
35524
35525         version-etc: set COPYRIGHT_YEAR to 2010
35526         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
35527
35528 2009-12-31  Eric Blake  <ebb9@byu.net>
35529
35530         doc: correct availability of cygwin 1.5.x getopt
35531         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
35532         variables.
35533         * doc/posix-functions/opterr.texi (opterr): Likewise.
35534         * doc/posix-functions/optind.texi (optind): Likewise.
35535         * doc/posix-functions/optopt.texi (optopt): Likewise.
35536         * doc/posix-functions/tzname.texi (tzname): Likewise.
35537
35538         openat: update maintainer
35539         * modules/openat (Maintainer): Add myself.
35540
35541         utimens: avoid shadowing warning
35542         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
35543         buffers into one, to avoid shadowing, as well as avoiding a
35544         redundant stat.
35545         Reported by Jim Meyering.
35546
35547         test-dup2: avoid compiler warning
35548         * tests/test-dup2.c (is_inheritable): Only define if used.
35549
35550 2010-01-01  Bruno Haible  <bruno@clisp.org>
35551
35552         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
35553         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
35554         defined, use wctomb instead of wcrtomb.
35555
35556 2010-01-01  Bruno Haible  <bruno@clisp.org>
35557
35558         iconv: Reject native Solaris iconv.
35559         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
35560         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
35561
35562 2009-12-31  Bruno Haible  <bruno@clisp.org>
35563
35564         * tests/test-signal.c (main): Remove test of 'SIG'.
35565
35566 2009-12-31  Bruno Haible  <bruno@clisp.org>
35567
35568         spawn: Fix incomplete fix.
35569         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
35570         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
35571         warnings for GNULIB_POSIXCHECK again.
35572         Reported by Eric Blake.
35573
35574 2009-12-31  Bruno Haible  <bruno@clisp.org>
35575
35576         Avoid namespace pollution on glibc systems.
35577         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
35578         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
35579         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
35580         glibc systems.
35581
35582 2009-12-31  Bruno Haible  <bruno@clisp.org>
35583
35584         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
35585         (gl_REPLACE_WCHAR_H): Turn into a no-op.
35586         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
35587         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
35588         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
35589         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
35590         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
35591
35592 2009-12-31  Bruno Haible  <bruno@clisp.org>
35593
35594         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
35595         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
35596         afterwards.
35597
35598 2009-12-31  Bruno Haible  <bruno@clisp.org>
35599
35600         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
35601         SYS_UTSNAME_H.
35602
35603 2009-12-31  Bruno Haible  <bruno@clisp.org>
35604
35605         spawn: Fix misapplied patch.
35606         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
35607         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
35608         warnings for GNULIB_POSIXCHECK.
35609
35610 2009-12-31  Bruno Haible  <bruno@clisp.org>
35611
35612         times: Update after sys_times changed.
35613         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
35614         * modules/times (Files): Add it.
35615         (configure.ac): Invoke gl_FUNC_TIMES.
35616
35617 2009-12-31  Bruno Haible  <bruno@clisp.org>
35618
35619         Use AC_C_INLINE where necessary.
35620         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
35621         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
35622         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
35623         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
35624         * m4/mbfile.m4 (gl_MBFILE): Likewise.
35625         * m4/mbiter.m4 (gl_MBITER): Likewise.
35626         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
35627         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
35628         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
35629         * modules/u64 (configure.ac): Likewise.
35630
35631 2009-12-31  Bruno Haible  <bruno@clisp.org>
35632
35633         Use AC_C_INLINE instead of module 'inline' where possible.
35634         * modules/inline (Description): Clarify purpose.
35635         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
35636         * modules/count-one-bits (Depends-on): Remove inline.
35637         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
35638         * modules/openat (Depends-on): Remove inline.
35639         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
35640         instead of depending on module 'inline'.
35641         * modules/filevercmp (Depends-on, configure.ac): Likewise.
35642         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
35643         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
35644         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
35645         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
35646         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
35647         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
35648         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
35649         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
35650         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
35651         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
35652         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
35653         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
35654         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
35655         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
35656         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
35657         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
35658         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
35659         Likewise.
35660         * modules/unictype/property-ascii-hex-digit (Depends-on,
35661         configure.ac): Likewise.
35662         * modules/unictype/property-bidi-arabic-digit (Depends-on,
35663         configure.ac): Likewise.
35664         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
35665         configure.ac): Likewise.
35666         * modules/unictype/property-bidi-block-separator (Depends-on,
35667         configure.ac): Likewise.
35668         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
35669         configure.ac): Likewise.
35670         * modules/unictype/property-bidi-common-separator (Depends-on,
35671         configure.ac): Likewise.
35672         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
35673         Likewise.
35674         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
35675         configure.ac): Likewise.
35676         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
35677         configure.ac): Likewise.
35678         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
35679         configure.ac): Likewise.
35680         * modules/unictype/property-bidi-european-digit (Depends-on,
35681         configure.ac): Likewise.
35682         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
35683         configure.ac): Likewise.
35684         * modules/unictype/property-bidi-left-to-right (Depends-on,
35685         configure.ac): Likewise.
35686         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
35687         configure.ac): Likewise.
35688         * modules/unictype/property-bidi-other-neutral (Depends-on,
35689         configure.ac): Likewise.
35690         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
35691         Likewise.
35692         * modules/unictype/property-bidi-segment-separator (Depends-on,
35693         configure.ac): Likewise.
35694         * modules/unictype/property-bidi-whitespace (Depends-on,
35695         configure.ac): Likewise.
35696         * modules/unictype/property-combining (Depends-on, configure.ac):
35697         Likewise.
35698         * modules/unictype/property-composite (Depends-on, configure.ac):
35699         Likewise.
35700         * modules/unictype/property-currency-symbol (Depends-on,
35701         configure.ac): Likewise.
35702         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
35703         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
35704         Likewise.
35705         * modules/unictype/property-default-ignorable-code-point (Depends-on,
35706         configure.ac): Likewise.
35707         * modules/unictype/property-deprecated (Depends-on, configure.ac):
35708         Likewise.
35709         * modules/unictype/property-diacritic (Depends-on, configure.ac):
35710         Likewise.
35711         * modules/unictype/property-extender (Depends-on, configure.ac):
35712         Likewise.
35713         * modules/unictype/property-format-control (Depends-on, configure.ac):
35714         Likewise.
35715         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
35716         Likewise.
35717         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
35718         Likewise.
35719         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
35720         Likewise.
35721         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
35722         Likewise.
35723         * modules/unictype/property-hyphen (Depends-on, configure.ac):
35724         Likewise.
35725         * modules/unictype/property-id-continue (Depends-on, configure.ac):
35726         Likewise.
35727         * modules/unictype/property-id-start (Depends-on, configure.ac):
35728         Likewise.
35729         * modules/unictype/property-ideographic (Depends-on, configure.ac):
35730         Likewise.
35731         * modules/unictype/property-ids-binary-operator (Depends-on,
35732         configure.ac): Likewise.
35733         * modules/unictype/property-ids-trinary-operator (Depends-on,
35734         configure.ac): Likewise.
35735         * modules/unictype/property-ignorable-control (Depends-on,
35736         configure.ac): Likewise.
35737         * modules/unictype/property-iso-control (Depends-on, configure.ac):
35738         Likewise.
35739         * modules/unictype/property-join-control (Depends-on, configure.ac):
35740         Likewise.
35741         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
35742         Likewise.
35743         * modules/unictype/property-line-separator (Depends-on, configure.ac):
35744         Likewise.
35745         * modules/unictype/property-logical-order-exception (Depends-on,
35746         configure.ac): Likewise.
35747         * modules/unictype/property-lowercase (Depends-on, configure.ac):
35748         Likewise.
35749         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
35750         * modules/unictype/property-non-break (Depends-on, configure.ac):
35751         Likewise.
35752         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
35753         Likewise.
35754         * modules/unictype/property-numeric (Depends-on, configure.ac):
35755         Likewise.
35756         * modules/unictype/property-other-alphabetic (Depends-on,
35757         configure.ac): Likewise.
35758         * modules/unictype/property-other-default-ignorable-code-point
35759         (Depends-on, configure.ac): Likewise.
35760         * modules/unictype/property-other-grapheme-extend (Depends-on,
35761         configure.ac): Likewise.
35762         * modules/unictype/property-other-id-continue (Depends-on,
35763         configure.ac): Likewise.
35764         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
35765         Likewise.
35766         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
35767         Likewise.
35768         * modules/unictype/property-other-math (Depends-on, configure.ac):
35769         Likewise.
35770         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
35771         Likewise.
35772         * modules/unictype/property-paired-punctuation (Depends-on,
35773         configure.ac): Likewise.
35774         * modules/unictype/property-paragraph-separator (Depends-on,
35775         configure.ac): Likewise.
35776         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
35777         Likewise.
35778         * modules/unictype/property-pattern-white-space (Depends-on,
35779         configure.ac): Likewise.
35780         * modules/unictype/property-private-use (Depends-on, configure.ac):
35781         Likewise.
35782         * modules/unictype/property-punctuation (Depends-on, configure.ac):
35783         Likewise.
35784         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
35785         Likewise.
35786         * modules/unictype/property-radical (Depends-on, configure.ac):
35787         Likewise.
35788         * modules/unictype/property-sentence-terminal (Depends-on,
35789         configure.ac): Likewise.
35790         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
35791         Likewise.
35792         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
35793         * modules/unictype/property-terminal-punctuation (Depends-on,
35794         configure.ac): Likewise.
35795         * modules/unictype/property-titlecase (Depends-on, configure.ac):
35796         Likewise.
35797         * modules/unictype/property-unassigned-code-value (Depends-on,
35798         configure.ac): Likewise.
35799         * modules/unictype/property-unified-ideograph (Depends-on,
35800         configure.ac): Likewise.
35801         * modules/unictype/property-uppercase (Depends-on, configure.ac):
35802         Likewise.
35803         * modules/unictype/property-variation-selector (Depends-on,
35804         configure.ac): Likewise.
35805         * modules/unictype/property-white-space (Depends-on, configure.ac):
35806         Likewise.
35807         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
35808         Likewise.
35809         * modules/unictype/property-xid-start (Depends-on, configure.ac):
35810         Likewise.
35811         * modules/unictype/property-zero-width (Depends-on, configure.ac):
35812         Likewise.
35813         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
35814         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
35815         Likewise.
35816
35817 2009-12-31  Bruno Haible  <bruno@clisp.org>
35818
35819         Remove unnecessary AC_C_INLINE invocation.
35820         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
35821         since 2009-08-21.
35822
35823 2009-12-31  Jim Meyering  <meyering@redhat.com>
35824
35825         maint.mk: don't require explicit gpg_key_ID in cfg.mk
35826         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
35827         With this change, we can all remove the gpg_key_ID = ... definition
35828         from our respective cfg.mk files.
35829
35830         maint.mk: create announcement template in ~/, not in /tmp
35831         * top/maint.mk (emit_upload_commands): Adjust.
35832         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
35833         Remove temporary file, .ci-msg.
35834
35835 2009-12-31  Eric Blake  <ebb9@byu.net>
35836
35837         link-warning: always build headers with link warnings
35838         * modules/arpa_inet (Makefile.am): Always build replacement
35839         header.
35840         * modules/ctype (Makefile.am): Likewise.
35841         * modules/dirent (Makefile.am): Likewise.
35842         * modules/inttypes (Makefile.am): Likewise.
35843         * modules/langinfo (Makefile.am): Likewise.
35844         * modules/locale (Makefile.am): Likewise.
35845         * modules/spawn (Makefile.am): Likewise.
35846         * modules/sys_file (Makefile.am): Likewise.
35847         * modules/sys_ioctl (Makefile.am): Likewise.
35848         * modules/sys_select (Makefile.am): Likewise.
35849         * modules/sys_socket (Makefile.am): Likewise.
35850         * modules/sys_times (Makefile.am): Likewise.
35851         * modules/sys_utsname (Makefile.am): Likewise.
35852         * modules/sys_wait (Makefile.am): Likewise.
35853         * modules/wchar (Makefile.am): Likewise.
35854         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
35855         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
35856         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
35857         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
35858         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
35859         Likewise.
35860         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
35861         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
35862         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
35863         Likewise.
35864         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
35865         Likewise.
35866         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
35867         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
35868         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
35869         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
35870         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
35871         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
35872         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
35873         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
35874         (gl_WCHAR_H_DEFAULTS): Likewise.
35875
35876 2009-12-31  Eric Blake  <ebb9@byu.net>
35877
35878         signal, spawn: use link warnings
35879         * lib/signal.in.h (sigset_t): Make unconditional.
35880         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
35881         (sigpending, sigprocmask, sigaction): Add link warnings.
35882         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
35883         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
35884         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
35885         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
35886         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
35887         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
35888         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
35889         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
35890         (posix_spawn_file_actions_destroy)
35891         (posix_spawn_file_actions_addopen)
35892         (posix_spawn_file_actions_addclose)
35893         (posix_spawn_file_actions_adddup2): Likewise.
35894         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
35895         * tests/test-signal.c (main): Enhance test.
35896
35897         spawn: improve wrapper support
35898         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
35899         (gl_SPAWN_H_DEFAULTS): New defaults.
35900         * modules/spawn (Makefile.am): Substitute them.
35901         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
35902         Only declare if missing or broken.
35903
35904         sys_times, sys_utsname: use include_next
35905         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
35906         header.
35907         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
35908         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
35909         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
35910         * modules/sys_times (Depends-on): Add include_next.
35911         (Makefile.am): Substitute additional values.
35912         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
35913         * lib/sys_times.in.h (includes): Include native header, if
35914         available.
35915         * lib/sys_utsname.in.h (includes): Likewise.
35916         * tests/test-sys_times.c (main): Enhance test.
35917
35918         fdutimensat: revert prior patch
35919         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
35920         utimens.h.
35921         Reported by Bruno Haible.
35922
35923 2009-12-30  Eric Blake  <ebb9@byu.net>
35924
35925         sys_wait: drop link-warning dependency
35926         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
35927         link-warning efforts.
35928         * lib/sys_wait.in.h: Likewise.
35929
35930         fdutimensat: remove bogus dependency
35931         * modules/fdutimensat (Depends-on): Drop inline.
35932
35933         unistd: fix typo
35934         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
35935
35936 2009-12-30  Bruno Haible  <bruno@clisp.org>
35937
35938         Fix compilation error with Solaris cc.
35939         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
35940         * lib/unicase/u16-is-invariant.c: Likewise.
35941         * lib/unicase/u32-is-invariant.c: Likewise.
35942         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
35943
35944 2009-12-30  Bruno Haible  <bruno@clisp.org>
35945
35946         Fix test crash.
35947         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
35948         locales.
35949         Reported by Simon Josefsson <simon@josefsson.org>.
35950
35951 2009-12-30  Bruno Haible  <bruno@clisp.org>
35952
35953         Fix compilation error on most platforms.
35954         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
35955         Reported by Simon Josefsson <simon@josefsson.org>
35956         and Nelson H. F. Beebe <beebe@math.utah.edu>.
35957
35958 2009-12-30  Eric Blake  <ebb9@byu.net>
35959
35960         futimens, utimensat: work around ntfs-3g bug
35961         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
35962         a ctime bug is present, and expand workaround to cover ntfs-3g.
35963         * lib/utimens.c (fdutimens, lutimens): Likewise.
35964         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
35965         (validate_timespec): Adjust return value.
35966         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
35967         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
35968         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
35969
35970 2009-12-29  Eric Blake  <ebb9@byu.net>
35971
35972         link-warning: make usage consistent
35973         * modules/ctype (Depends-on): Add link-warning.
35974         (Makefile.am): Update rules accordingly.
35975         * modules/langinfo (Depends-on, Makefile.am): Likewise.
35976         * modules/locale (Depends-on, Makefile.am): Likewise.
35977         * modules/sys_file (Makefile.am): Likewise.
35978         * modules/getopt-posix (Makefile.am): Delete unused link warning
35979         efforts.
35980         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
35981         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
35982         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
35983         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
35984
35985         stdio: remove unused variables
35986         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
35987         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
35988         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
35989
35990         tests: test more substitute headers
35991         * modules/ctype-tests: New file.
35992         * modules/dirent-tests: Likewise.
35993         * modules/spawn-tests: Likewise.
35994         * modules/sys_file-tests: Likewise.
35995         * modules/sys_ioctl-tests: Likewise.
35996         * modules/sys_wait-tests: Likewise.
35997         * tests/test-ctype.c: Likewise.
35998         * tests/test-dirent.c: Likewise.
35999         * tests/test-spawn.c: Likewise.
36000         * tests/test-sys_file.c: Likewise.
36001         * tests/test-sys_ioctl.c: Likewise.
36002         * tests/test-sys_wait.c: Likewise.
36003         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
36004         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
36005         whether or not flock is in use.
36006
36007         tests: remove License section from module
36008         * modules/arpa_inet-tests: Remove unneeded section.
36009         * modules/byteswap-tests: Likewise.
36010         * modules/ceilf-tests: Likewise.
36011         * modules/ceill-tests: Likewise.
36012         * modules/crypto/des-tests: Likewise.
36013         * modules/crypto/gc-arcfour-tests: Likewise.
36014         * modules/crypto/gc-arctwo-tests: Likewise.
36015         * modules/crypto/gc-des-tests: Likewise.
36016         * modules/crypto/gc-hmac-md5-tests: Likewise.
36017         * modules/crypto/gc-hmac-sha1-tests: Likewise.
36018         * modules/crypto/gc-md2-tests: Likewise.
36019         * modules/crypto/gc-md4-tests: Likewise.
36020         * modules/crypto/gc-md5-tests: Likewise.
36021         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
36022         * modules/crypto/gc-rijndael-tests: Likewise.
36023         * modules/crypto/gc-sha1-tests: Likewise.
36024         * modules/crypto/gc-tests: Likewise.
36025         * modules/crypto/md2-tests: Likewise.
36026         * modules/crypto/md4-tests: Likewise.
36027         * modules/fcntl-h-tests: Likewise.
36028         * modules/floorf-tests: Likewise.
36029         * modules/floorl-tests: Likewise.
36030         * modules/frexp-nolibm-tests: Likewise.
36031         * modules/frexp-tests: Likewise.
36032         * modules/frexpl-nolibm-tests: Likewise.
36033         * modules/frexpl-tests: Likewise.
36034         * modules/getaddrinfo-tests: Likewise.
36035         * modules/inttypes-tests: Likewise.
36036         * modules/isfinite-tests: Likewise.
36037         * modules/isinf-tests: Likewise.
36038         * modules/ldexpl-tests: Likewise.
36039         * modules/locale-tests: Likewise.
36040         * modules/math-tests: Likewise.
36041         * modules/netdb-tests: Likewise.
36042         * modules/netinet_in-tests: Likewise.
36043         * modules/printf-frexp-tests: Likewise.
36044         * modules/printf-frexpl-tests: Likewise.
36045         * modules/priv-set-tests: Likewise.
36046         * modules/random_r-tests: Likewise.
36047         * modules/round-tests: Likewise.
36048         * modules/roundf-tests: Likewise.
36049         * modules/roundl-tests: Likewise.
36050         * modules/search-tests: Likewise.
36051         * modules/select-tests: Likewise.
36052         * modules/signal-tests: Likewise.
36053         * modules/stdbool-tests: Likewise.
36054         * modules/stddef-tests: Likewise.
36055         * modules/stdint-tests: Likewise.
36056         * modules/stdio-tests: Likewise.
36057         * modules/stdlib-tests: Likewise.
36058         * modules/string-tests: Likewise.
36059         * modules/strings-tests: Likewise.
36060         * modules/sys_select-tests: Likewise.
36061         * modules/sys_socket-tests: Likewise.
36062         * modules/sys_stat-tests: Likewise.
36063         * modules/sys_time-tests: Likewise.
36064         * modules/sys_utsname-tests: Likewise.
36065         * modules/sysexits-tests: Likewise.
36066         * modules/time-tests: Likewise.
36067         * modules/trunc-tests: Likewise.
36068         * modules/truncf-tests: Likewise.
36069         * modules/truncl-tests: Likewise.
36070         * modules/tsearch-tests: Likewise.
36071         * modules/unistd-tests: Likewise.
36072         * modules/wchar-tests: Likewise.
36073         * modules/wctype-tests: Likewise.
36074
36075         tests: fix license on several tests
36076         * tests/test-des.c: Update to GPLv3+.
36077         * tests/test-flock.c: Likewise.
36078         * tests/test-fsync.c: Likewise.
36079         * tests/test-futimens.h: Likewise.
36080         * tests/test-gc-arcfour.c: Likewise.
36081         * tests/test-gc-arctwo.c: Likewise.
36082         * tests/test-gc-des.c: Likewise.
36083         * tests/test-gc-hmac-md5.c: Likewise.
36084         * tests/test-gc-hmac-sha1.c: Likewise.
36085         * tests/test-gc-md2.c: Likewise.
36086         * tests/test-gc-md4.c: Likewise.
36087         * tests/test-gc-md5.c: Likewise.
36088         * tests/test-gc-pbkdf2-sha1.c: Likewise.
36089         * tests/test-gc-rijndael.c: Likewise.
36090         * tests/test-gc-sha1.c: Likewise.
36091         * tests/test-gc.c: Likewise.
36092         * tests/test-getcwd.c: Likewise.
36093         * tests/test-link.c: Likewise.
36094         * tests/test-link.h: Likewise.
36095         * tests/test-lutimens.h: Likewise.
36096         * tests/test-md2.c: Likewise.
36097         * tests/test-md4.c: Likewise.
36098         * tests/test-mkdir.h: Likewise.
36099         * tests/test-rename.c: Likewise.
36100         * tests/test-rename.h: Likewise.
36101         * tests/test-safe-alloc.c: Likewise.
36102         * tests/test-utimens-common.h: Likewise.
36103         * tests/test-utimens.h: Likewise.
36104
36105         maint: sync license texts
36106         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
36107         * doc/gpl-3.0.texi: Revert copyright year update.
36108         * doc/lgpl-3.0.texi: Likewise.
36109
36110 2009-12-29  Jim Meyering  <meyering@redhat.com>
36111
36112         update nearly all FSF copyright year lists to include 2009
36113         The files named by the following are exempted:
36114             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
36115               test -f "$dst" && { echo "$dst"; continue; }
36116               test -d "$dst" || continue
36117               echo "$dst"/$(basename "$src")
36118             done > exempt
36119             git ls-files tests/unictype >> exempt
36120         In the remaining files, convert to all-interval notation if
36121         - there is already at least one year interval like 2000-2003
36122         - the file is maintained by me
36123         - the file is in lib/uni*/, where that style already prevails
36124         Otherwise, use update-copyright's default.
36125
36126 2009-12-29  Simon Josefsson  <simon@josefsson.org>
36127         and Eric Blake  <ebb9@byu.net>
36128
36129         tests: don't require debug system() to pass
36130         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
36131         * tests/test-rmdir.h (test_rmdir_func): Likewise.
36132         * tests/test-unlink.h (test_unlink_func): Likewise.
36133         * tests/test-fstatat.c (main): ...into callers.
36134         * tests/test-lstat.c (main): Likewise.
36135         * tests/test-rmdir.c (main): Likewise.
36136         * tests/test-unlink.c (main): Likewise.
36137         * tests/test-unlinkat.c (main): Likewise.
36138         * tests/test-areadlink-with-size.c (main): Don't require a
36139         debug-only system call to pass, aiding cross-testing to mingw.
36140         * tests/test-areadlink.c (main): Likewise.
36141         * tests/test-areadlinkat-with-size.c (main): Likewise.
36142         * tests/test-areadlinkat.c (main): Likewise.
36143         * tests/test-canonicalize-lgpl.c (main): Likewise.
36144         * tests/test-canonicalize.c (main): Likewise.
36145         * tests/test-chown.c (main): Likewise.
36146         * tests/test-fchownat.c (main): Likewise.
36147         * tests/test-lchown.c (main): Likewise.
36148         * tests/test-fdutimensat.c (main): Likewise.
36149         * tests/test-futimens.c (main): Likewise.
36150         * tests/test-link.c (main): Likewise.
36151         * tests/test-linkat.c (main): Likewise.
36152         * tests/test-mkdir.c (main): Likewise.
36153         * tests/test-mkdirat.c (main): Likewise.
36154         * tests/test-mkfifo.c (main): Likewise.
36155         * tests/test-mkfifoat.c (main): Likewise.
36156         * tests/test-mknod.c (main): Likewise.
36157         * tests/test-readlink.c (main): Likewise.
36158         * tests/test-remove.c (main): Likewise.
36159         * tests/test-rename.c (main): Likewise.
36160         * tests/test-renameat.c (main): Likewise.
36161         * tests/test-symlink.c (main): Likewise.
36162         * tests/test-symlinkat.c (main): Likewise.
36163         * tests/test-utimens.c (main): Likewise.
36164         * tests/test-utimensat.c (main): Likewise.
36165
36166 2009-12-29  Simon Josefsson  <simon@josefsson.org>
36167
36168         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
36169         on $(UNUSED_PARAMETER_H) to avoid build failure.
36170
36171 2009-12-28  Jim Meyering  <meyering@redhat.com>
36172
36173         update-copyright: you may specify a max. line length other than 72
36174         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
36175
36176         maint: use consistent FSF copyright line syntax
36177         * lib/posixtm.c: Add missing comma in FSF copyright line.
36178         * lib/posixtm.h: Likewise.
36179         * lib/getugroups.c: Add missing ", Inc.".
36180
36181         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
36182         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
36183         FSF copyright line.  Remove trailing blanks.
36184
36185 2009-12-28  Eric Blake  <ebb9@byu.net>
36186
36187         test-dup2: reduce dependencies
36188         * modules/cloexec (Configure.ac): Set witness.
36189         * modules/dup2-tests (Depends-on): Drop cloexec.
36190         * tests/test-dup2.c (main): Skip portion of test if cloexec module
36191         not present.
36192         Suggested by Bruno Haible.
36193
36194 2009-12-26  Bruno Haible  <bruno@clisp.org>
36195
36196         Remove an unneeded dependency.
36197         * modules/fseterr (Depends-on): Remove dup2.
36198
36199 2009-12-26  Eric Blake  <ebb9@byu.net>
36200
36201         tests: use macros.h in more places
36202         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
36203         (ASSERT_STREAM): Provide default of stderr.
36204         * tests/test-dirent-safer.c: Include macros.h, using alternate
36205         stream for assertions.
36206         * tests/test-dup-safer.c: Likewise.
36207         * tests/test-freopen-safer.c: Likewise.
36208         * tests/test-getopt.c: Likewise.
36209         * tests/test-openat-safer.c: Likewise.
36210         * tests/test-pipe.c: Likewise.
36211         * tests/test-popen-safer.c: Likewise.
36212         * modules/dirent-safer-tests (Files): Include macros.h.
36213         * modules/unistd-safer-tests (Files): Likewise.
36214         * modules/freopen-safer-tests (Files): Likewise.
36215         * modules/getopt-posix-tests (Files): Likewise.
36216         * modules/openat-safer-tests (Files): Likewise.
36217         * modules/pipe-tests (Files): Likewise.
36218
36219 2009-12-26  Bruno Haible  <bruno@clisp.org>
36220
36221         javacomp: Portability fix.
36222         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
36223         that it also works on Solaris.
36224
36225 2009-12-26  Bruno Haible  <bruno@clisp.org>
36226
36227         localename: Fix storage allocation of gl_locale_name_thread's result.
36228         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
36229         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
36230         all platforms that have 'uselocale'.
36231         (gl_locale_name_thread_unsafe): New function, extracted from
36232         gl_locale_name_thread.
36233         (gl_locale_name_thread): Call struniq on all platforms that have
36234         'uselocale'.
36235         * tests/test-localename.c (test_locale_name_thread): Check that the
36236         resulting strings are permanently allocated.
36237         * modules/localename-tests (Depends-on): Add strdup.
36238
36239 2009-12-26  Bruno Haible  <bruno@clisp.org>
36240
36241         * tests/test-localename.c (categories): Fill in the strings.
36242
36243 2009-12-26  Jim Meyering  <meyering@redhat.com>
36244
36245         isdir: complete the removal of m4/isdir.m4
36246         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
36247
36248         isdir: clean up, since at least grep still uses it
36249         * lib/isdir.c: Include "isdir.h".
36250         (S_ISDIR): Remove now-unneeded definition.
36251         * modules/isdir (Files): Add lib/isdir.h.
36252         * lib/isdir.h: New file, with declaration.
36253         * m4/isdir.m4: Remove file -- unneeded.
36254
36255 2009-12-25  Bruno Haible  <bruno@clisp.org>
36256
36257         selinux-h: Make generated .h files standalone.
36258         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
36259         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
36260         * lib/se-selinux.in.h: Likewise.
36261         * modules/selinux-h (Depends-on): Add unused-parameter.
36262         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
36263         selinux/selinux.h and selinux/context.h.
36264         Suggested by Eric Blake.
36265
36266 2009-12-25  Bruno Haible  <bruno@clisp.org>
36267
36268         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
36269         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
36270         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
36271         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
36272         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
36273
36274 2009-12-24  Bruno Haible  <bruno@clisp.org>
36275
36276         openat: Fix warning.
36277         * lib/openat-proc.c: Include <unistd.h>.
36278
36279 2009-12-24  Bruno Haible  <bruno@clisp.org>
36280
36281         New module 'unused-parameter'.
36282         * build-aux/unused-parameter.h: New file, extracted from earlier
36283         gnulib-common.m4.
36284         * modules/unused-parameter: New file.
36285         * lib/unistr.h: Include unused-parameter.h.
36286         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
36287         _GL_UNUSED.
36288         * modules/unistr/base (Depends-on): Add unused-parameter.
36289
36290 2009-12-24  Bruno Haible  <bruno@clisp.org>
36291
36292         Add missing dependencies to 'extensions' module.
36293         * m4/extensions.m4: Add comment.
36294         * modules/accept4 (Depends-on): Add extensions.
36295         * modules/dup3 (Depends-on): Likewise.
36296         * modules/fcntl (Depends-on): Likewise.
36297         * modules/futimens (Depends-on): Likewise.
36298         * modules/mknod (Depends-on): Likewise.
36299         * modules/pipe2 (Depends-on): Likewise.
36300         * modules/stat-time (Depends-on): Likewise.
36301         * modules/strcasestr-simple (Depends-on): Likewise.
36302         * modules/strsignal (Depends-on): Likewise.
36303         * modules/utimensat (Depends-on): Likewise.
36304         * modules/localcharset (Depends-on): Likewise. Needed because of
36305         gl_FCNTL_O_FLAGS.
36306         * modules/wcrtomb (Depends-on): Likewise. Needed because of
36307         AC_TYPE_MBSTATE_T.
36308         * modules/wcsnrtombs (Depends-on): Likewise.
36309         * modules/wcsrtombs (Depends-on): Likewise.
36310
36311 2009-12-24  Bruno Haible  <bruno@clisp.org>
36312
36313         binary-io: Avoid gcc warning due to SET_BINARY.
36314         * lib/binary-io.h (SET_BINARY): Cast the result to void.
36315         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
36316
36317 2009-12-24  Bruno Haible  <bruno@clisp.org>
36318
36319         Avoid future namespace pollution on glibc systems.
36320         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
36321         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
36322         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
36323         glibc systems.
36324
36325 2009-12-24  Bruno Haible  <bruno@clisp.org>
36326
36327         Refactor common macros used in tests.
36328         * tests/macros.h: New file.
36329         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
36330         and/or <stdlib.h>, if appropriate.
36331         (ASSERT, SIZEOF): Remove macros.
36332         * tests/test-areadlink-with-size.c: Likewise.
36333         * tests/test-areadlinkat.c: Likewise.
36334         * tests/test-areadlinkat-with-size.c: Likewise.
36335         * tests/test-argmatch.c: Likewise.
36336         * tests/test-argv-iter.c: Likewise.
36337         * tests/test-array-mergesort.c: Likewise.
36338         * tests/test-array_list.c: Likewise.
36339         * tests/test-array_oset.c: Likewise.
36340         * tests/test-avltree_list.c: Likewise.
36341         * tests/test-avltree_oset.c: Likewise.
36342         * tests/test-avltreehash_list.c: Likewise.
36343         * tests/test-base64.c: Likewise.
36344         * tests/test-binary-io.c: Likewise.
36345         * tests/test-bitrotate.c: Likewise.
36346         * tests/test-btowc.c: Likewise.
36347         * tests/test-byteswap.c: Likewise.
36348         * tests/test-c-ctype.c: Likewise.
36349         * tests/test-c-stack.c: Likewise.
36350         * tests/test-c-strcasecmp.c: Likewise.
36351         * tests/test-c-strcasestr.c: Likewise.
36352         * tests/test-c-strncasecmp.c: Likewise.
36353         * tests/test-c-strstr.c: Likewise.
36354         * tests/test-canonicalize-lgpl.c: Likewise.
36355         * tests/test-canonicalize.c: Likewise.
36356         * tests/test-carray_list.c: Likewise.
36357         * tests/test-ceilf1.c: Likewise.
36358         * tests/test-ceilf2.c: Likewise.
36359         * tests/test-ceill.c: Likewise.
36360         * tests/test-chown.c: Likewise.
36361         * tests/test-cloexec.c: Likewise.
36362         * tests/test-copy-acl.c: Likewise.
36363         * tests/test-copy-file.c: Likewise.
36364         * tests/test-count-one-bits.c: Likewise.
36365         * tests/test-dprintf-posix.c: Likewise.
36366         * tests/test-dup2.c: Likewise.
36367         * tests/test-dup3.c: Likewise.
36368         * tests/test-duplocale.c: Likewise.
36369         * tests/test-fbufmode.c: Likewise.
36370         * tests/test-fchdir.c: Likewise.
36371         * tests/test-fchownat.c: Likewise.
36372         * tests/test-fcntl-safer.c: Likewise.
36373         * tests/test-fcntl.c: Likewise.
36374         * tests/test-fdopendir.c: Likewise.
36375         * tests/test-fdutimensat.c: Likewise.
36376         * tests/test-fflush2.c: Likewise.
36377         * tests/test-file-has-acl.c: Likewise.
36378         * tests/test-filevercmp.c: Likewise.
36379         * tests/test-flock.c: Likewise.
36380         * tests/test-floorf1.c: Likewise.
36381         * tests/test-floorf2.c: Likewise.
36382         * tests/test-floorl.c: Likewise.
36383         * tests/test-fnmatch.c: Likewise.
36384         * tests/test-fopen.h: Likewise.
36385         * tests/test-fpending.c: Likewise.
36386         * tests/test-fprintf-posix.c: Likewise.
36387         * tests/test-fpurge.c: Likewise.
36388         * tests/test-freadable.c: Likewise.
36389         * tests/test-freadahead.c: Likewise.
36390         * tests/test-freading.c: Likewise.
36391         * tests/test-freadptr.c: Likewise.
36392         * tests/test-freadptr2.c: Likewise.
36393         * tests/test-freadseek.c: Likewise.
36394         * tests/test-freopen.c: Likewise.
36395         * tests/test-frexp.c: Likewise.
36396         * tests/test-frexpl.c: Likewise.
36397         * tests/test-fseek.c: Likewise.
36398         * tests/test-fseeko.c: Likewise.
36399         * tests/test-fstatat.c: Likewise.
36400         * tests/test-fstrcmp.c: Likewise.
36401         * tests/test-fsync.c: Likewise.
36402         * tests/test-ftell.c: Likewise.
36403         * tests/test-ftello.c: Likewise.
36404         * tests/test-func.c: Likewise.
36405         * tests/test-futimens.c: Likewise.
36406         * tests/test-fwritable.c: Likewise.
36407         * tests/test-fwriting.c: Likewise.
36408         * tests/test-getcwd.c: Likewise.
36409         * tests/test-getdate.c: Likewise.
36410         * tests/test-getdelim.c: Likewise.
36411         * tests/test-getdtablesize.c: Likewise.
36412         * tests/test-getgroups.c: Likewise.
36413         * tests/test-getline.c: Likewise.
36414         * tests/test-getndelim2.c: Likewise.
36415         * tests/test-glob.c: Likewise.
36416         * tests/test-hash.c: Likewise.
36417         * tests/test-i-ring.c: Likewise.
36418         * tests/test-iconv-utf.c: Likewise.
36419         * tests/test-iconv.c: Likewise.
36420         * tests/test-idpriv-drop.c: Likewise.
36421         * tests/test-idpriv-droptemp.c: Likewise.
36422         * tests/test-inet_ntop.c: Likewise.
36423         * tests/test-inet_pton.c: Likewise.
36424         * tests/test-isblank.c: Likewise.
36425         * tests/test-isfinite.c: Likewise.
36426         * tests/test-isinf.c: Likewise.
36427         * tests/test-isnan.c: Likewise.
36428         * tests/test-isnand.h: Likewise.
36429         * tests/test-isnanf.h: Likewise.
36430         * tests/test-isnanl.h: Likewise.
36431         * tests/test-lchown.c: Likewise.
36432         * tests/test-ldexpl.c: Likewise.
36433         * tests/test-link.c: Likewise.
36434         * tests/test-linkat.c: Likewise.
36435         * tests/test-linked_list.c: Likewise.
36436         * tests/test-linkedhash_list.c: Likewise.
36437         * tests/test-localename.c: Likewise.
36438         * tests/test-lseek.c: Likewise.
36439         * tests/test-lstat.c: Likewise.
36440         * tests/test-mbmemcasecmp.c: Likewise.
36441         * tests/test-mbmemcasecoll.c: Likewise.
36442         * tests/test-mbrtowc.c: Likewise.
36443         * tests/test-mbscasecmp.c: Likewise.
36444         * tests/test-mbscasestr1.c: Likewise.
36445         * tests/test-mbscasestr2.c: Likewise.
36446         * tests/test-mbscasestr3.c: Likewise.
36447         * tests/test-mbscasestr4.c: Likewise.
36448         * tests/test-mbschr.c: Likewise.
36449         * tests/test-mbscspn.c: Likewise.
36450         * tests/test-mbsinit.c: Likewise.
36451         * tests/test-mbsncasecmp.c: Likewise.
36452         * tests/test-mbsnrtowcs.c: Likewise.
36453         * tests/test-mbspbrk.c: Likewise.
36454         * tests/test-mbspcasecmp.c: Likewise.
36455         * tests/test-mbsrchr.c: Likewise.
36456         * tests/test-mbsrtowcs.c: Likewise.
36457         * tests/test-mbsspn.c: Likewise.
36458         * tests/test-mbsstr1.c: Likewise.
36459         * tests/test-mbsstr2.c: Likewise.
36460         * tests/test-mbsstr3.c: Likewise.
36461         * tests/test-memchr.c: Likewise.
36462         * tests/test-memchr2.c: Likewise.
36463         * tests/test-memcmp.c: Likewise.
36464         * tests/test-memmem.c: Likewise.
36465         * tests/test-memrchr.c: Likewise.
36466         * tests/test-mkdir.c: Likewise.
36467         * tests/test-mkdirat.c: Likewise.
36468         * tests/test-mkfifo.c: Likewise.
36469         * tests/test-mkfifoat.c: Likewise.
36470         * tests/test-mknod.c: Likewise.
36471         * tests/test-nanosleep.c: Likewise.
36472         * tests/test-nl_langinfo.c: Likewise.
36473         * tests/test-obstack-printf.c: Likewise.
36474         * tests/test-open.c: Likewise.
36475         * tests/test-openat.c: Likewise.
36476         * tests/test-pipe-filter-gi1.c: Likewise.
36477         * tests/test-pipe-filter-gi2-main.c: Likewise.
36478         * tests/test-pipe-filter-ii1.c: Likewise.
36479         * tests/test-pipe-filter-ii2-main.c: Likewise.
36480         * tests/test-pipe2.c: Likewise.
36481         * tests/test-popen.h: Likewise.
36482         * tests/test-posixtm.c: Likewise.
36483         * tests/test-pread.c: Likewise.
36484         * tests/test-printf-frexp.c: Likewise.
36485         * tests/test-printf-frexpl.c: Likewise.
36486         * tests/test-printf-posix.c: Likewise.
36487         * tests/test-priv-set.c: Likewise.
36488         * tests/test-quotearg.c: Likewise.
36489         * tests/test-random_r.c: Likewise.
36490         * tests/test-rawmemchr.c: Likewise.
36491         * tests/test-rbtree_list.c: Likewise.
36492         * tests/test-rbtree_oset.c: Likewise.
36493         * tests/test-rbtreehash_list.c: Likewise.
36494         * tests/test-readlink.c: Likewise.
36495         * tests/test-remove.c: Likewise.
36496         * tests/test-rename.c: Likewise.
36497         * tests/test-renameat.c: Likewise.
36498         * tests/test-rmdir.c: Likewise.
36499         * tests/test-round1.c: Likewise.
36500         * tests/test-roundf1.c: Likewise.
36501         * tests/test-roundl.c: Likewise.
36502         * tests/test-safe-alloc.c: Likewise.
36503         * tests/test-sameacls.c: Likewise.
36504         * tests/test-set-mode-acl.c: Likewise.
36505         * tests/test-setenv.c: Likewise.
36506         * tests/test-sigaction.c: Likewise.
36507         * tests/test-signbit.c: Likewise.
36508         * tests/test-sleep.c: Likewise.
36509         * tests/test-snprintf-posix.c: Likewise.
36510         * tests/test-snprintf.c: Likewise.
36511         * tests/test-sprintf-posix.c: Likewise.
36512         * tests/test-stat-time.c: Likewise.
36513         * tests/test-stat.c: Likewise.
36514         * tests/test-strcasestr.c: Likewise.
36515         * tests/test-strchrnul.c: Likewise.
36516         * tests/test-strerror.c: Likewise.
36517         * tests/test-striconv.c: Likewise.
36518         * tests/test-striconveh.c: Likewise.
36519         * tests/test-striconveha.c: Likewise.
36520         * tests/test-strsignal.c: Likewise.
36521         * tests/test-strstr.c: Likewise.
36522         * tests/test-strtod.c: Likewise.
36523         * tests/test-strverscmp.c: Likewise.
36524         * tests/test-symlink.c: Likewise.
36525         * tests/test-symlinkat.c: Likewise.
36526         * tests/test-trunc1.c: Likewise.
36527         * tests/test-trunc2.c: Likewise.
36528         * tests/test-truncf1.c: Likewise.
36529         * tests/test-truncf2.c: Likewise.
36530         * tests/test-truncl.c: Likewise.
36531         * tests/test-uname.c: Likewise.
36532         * tests/test-unlink.c: Likewise.
36533         * tests/test-unlinkat.c: Likewise.
36534         * tests/test-unsetenv.c: Likewise.
36535         * tests/test-usleep.c: Likewise.
36536         * tests/test-utimens.c: Likewise.
36537         * tests/test-utimensat.c: Likewise.
36538         * tests/test-vasnprintf-posix.c: Likewise.
36539         * tests/test-vasnprintf-posix2.c: Likewise.
36540         * tests/test-vasnprintf.c: Likewise.
36541         * tests/test-vasprintf-posix.c: Likewise.
36542         * tests/test-vasprintf.c: Likewise.
36543         * tests/test-vdprintf-posix.c: Likewise.
36544         * tests/test-vfprintf-posix.c: Likewise.
36545         * tests/test-vprintf-posix.c: Likewise.
36546         * tests/test-vsnprintf-posix.c: Likewise.
36547         * tests/test-vsnprintf.c: Likewise.
36548         * tests/test-vsprintf-posix.c: Likewise.
36549         * tests/test-wcrtomb.c: Likewise.
36550         * tests/test-wcsnrtombs.c: Likewise.
36551         * tests/test-wcsrtombs.c: Likewise.
36552         * tests/test-wctype.c: Likewise.
36553         * tests/test-wcwidth.c: Likewise.
36554         * tests/test-xfprintf-posix.c: Likewise.
36555         * tests/test-xmemdup0.c: Likewise.
36556         * tests/test-xprintf-posix.c: Likewise.
36557         * tests/test-xvasprintf.c: Likewise.
36558         * tests/unicase/test-locale-language.c: Likewise.
36559         * tests/unicase/test-mapping-part1.h: Likewise.
36560         * tests/unicase/test-predicate-part1.h: Likewise.
36561         * tests/unicase/test-u8-casecmp.c: Likewise.
36562         * tests/unicase/test-u8-casecoll.c: Likewise.
36563         * tests/unicase/test-u8-casefold.c: Likewise.
36564         * tests/unicase/test-u8-is-cased.c: Likewise.
36565         * tests/unicase/test-u8-is-casefolded.c: Likewise.
36566         * tests/unicase/test-u8-is-lowercase.c: Likewise.
36567         * tests/unicase/test-u8-is-titlecase.c: Likewise.
36568         * tests/unicase/test-u8-is-uppercase.c: Likewise.
36569         * tests/unicase/test-u8-tolower.c: Likewise.
36570         * tests/unicase/test-u8-totitle.c: Likewise.
36571         * tests/unicase/test-u8-toupper.c: Likewise.
36572         * tests/unicase/test-u16-casecmp.c: Likewise.
36573         * tests/unicase/test-u16-casecoll.c: Likewise.
36574         * tests/unicase/test-u16-casefold.c: Likewise.
36575         * tests/unicase/test-u16-is-cased.c: Likewise.
36576         * tests/unicase/test-u16-is-casefolded.c: Likewise.
36577         * tests/unicase/test-u16-is-lowercase.c: Likewise.
36578         * tests/unicase/test-u16-is-titlecase.c: Likewise.
36579         * tests/unicase/test-u16-is-uppercase.c: Likewise.
36580         * tests/unicase/test-u16-tolower.c: Likewise.
36581         * tests/unicase/test-u16-totitle.c: Likewise.
36582         * tests/unicase/test-u16-toupper.c: Likewise.
36583         * tests/unicase/test-u32-casecmp.c: Likewise.
36584         * tests/unicase/test-u32-casecoll.c: Likewise.
36585         * tests/unicase/test-u32-casefold.c: Likewise.
36586         * tests/unicase/test-u32-is-cased.c: Likewise.
36587         * tests/unicase/test-u32-is-casefolded.c: Likewise.
36588         * tests/unicase/test-u32-is-lowercase.c: Likewise.
36589         * tests/unicase/test-u32-is-titlecase.c: Likewise.
36590         * tests/unicase/test-u32-is-uppercase.c: Likewise.
36591         * tests/unicase/test-u32-tolower.c: Likewise.
36592         * tests/unicase/test-u32-totitle.c: Likewise.
36593         * tests/unicase/test-u32-toupper.c: Likewise.
36594         * tests/unicase/test-ulc-casecmp.c: Likewise.
36595         * tests/unicase/test-ulc-casecoll.c: Likewise.
36596         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
36597         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
36598         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
36599         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
36600         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
36601         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
36602         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
36603         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
36604         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
36605         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
36606         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
36607         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
36608         * tests/unictype/test-bidi_byname.c: Likewise.
36609         * tests/unictype/test-bidi_name.c: Likewise.
36610         * tests/unictype/test-bidi_of.c: Likewise.
36611         * tests/unictype/test-bidi_test.c: Likewise.
36612         * tests/unictype/test-block_list.c: Likewise.
36613         * tests/unictype/test-block_of.c: Likewise.
36614         * tests/unictype/test-block_test.c: Likewise.
36615         * tests/unictype/test-categ_and.c: Likewise.
36616         * tests/unictype/test-categ_and_not.c: Likewise.
36617         * tests/unictype/test-categ_byname.c: Likewise.
36618         * tests/unictype/test-categ_name.c: Likewise.
36619         * tests/unictype/test-categ_none.c: Likewise.
36620         * tests/unictype/test-categ_of.c: Likewise.
36621         * tests/unictype/test-categ_or.c: Likewise.
36622         * tests/unictype/test-categ_test_withtable.c: Likewise.
36623         * tests/unictype/test-combining.c: Likewise.
36624         * tests/unictype/test-decdigit.c: Likewise.
36625         * tests/unictype/test-digit.c: Likewise.
36626         * tests/unictype/test-mirror.c: Likewise.
36627         * tests/unictype/test-numeric.c: Likewise.
36628         * tests/unictype/test-pr_byname.c: Likewise.
36629         * tests/unictype/test-pr_test.c: Likewise.
36630         * tests/unictype/test-predicate-part1.h: Likewise.
36631         * tests/unictype/test-scripts.c: Likewise.
36632         * tests/unictype/test-sy_c_ident.c: Likewise.
36633         * tests/unictype/test-sy_java_ident.c: Likewise.
36634         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
36635         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
36636         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
36637         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
36638         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
36639         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
36640         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
36641         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
36642         * tests/uninorm/test-canonical-decomposition.c: Likewise.
36643         * tests/uninorm/test-compat-decomposition.c: Likewise.
36644         * tests/uninorm/test-composition.c: Likewise.
36645         * tests/uninorm/test-decomposing-form.c: Likewise.
36646         * tests/uninorm/test-decomposition.c: Likewise.
36647         * tests/uninorm/test-u8-nfc.c: Likewise.
36648         * tests/uninorm/test-u8-nfd.c: Likewise.
36649         * tests/uninorm/test-u8-nfkc.c: Likewise.
36650         * tests/uninorm/test-u8-nfkd.c: Likewise.
36651         * tests/uninorm/test-u8-normcmp.c: Likewise.
36652         * tests/uninorm/test-u8-normcoll.c: Likewise.
36653         * tests/uninorm/test-u16-nfc.c: Likewise.
36654         * tests/uninorm/test-u16-nfd.c: Likewise.
36655         * tests/uninorm/test-u16-nfkc.c: Likewise.
36656         * tests/uninorm/test-u16-nfkd.c: Likewise.
36657         * tests/uninorm/test-u16-normcmp.c: Likewise.
36658         * tests/uninorm/test-u16-normcoll.c: Likewise.
36659         * tests/uninorm/test-u32-nfc.c: Likewise.
36660         * tests/uninorm/test-u32-nfd.c: Likewise.
36661         * tests/uninorm/test-u32-nfkc.c: Likewise.
36662         * tests/uninorm/test-u32-nfkd.c: Likewise.
36663         * tests/uninorm/test-u32-normalize-big.c: Likewise.
36664         * tests/uninorm/test-u32-normcmp.c: Likewise.
36665         * tests/uninorm/test-u32-normcoll.c: Likewise.
36666         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
36667         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
36668         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
36669         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
36670         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
36671         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
36672         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
36673         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
36674         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
36675         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
36676         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
36677         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
36678         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
36679         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
36680         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
36681         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
36682         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
36683         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
36684         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
36685         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
36686         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
36687         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
36688         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
36689         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
36690         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
36691         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
36692         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
36693         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
36694         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
36695         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
36696         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
36697         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
36698         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
36699         * tests/uniwidth/test-u8-strwidth.c: Likewise.
36700         * tests/uniwidth/test-u8-width.c: Likewise.
36701         * tests/uniwidth/test-u16-strwidth.c: Likewise.
36702         * tests/uniwidth/test-u16-width.c: Likewise.
36703         * tests/uniwidth/test-u32-strwidth.c: Likewise.
36704         * tests/uniwidth/test-u32-width.c: Likewise.
36705         * tests/uniwidth/test-uc_width.c: Likewise.
36706         * tests/uniwidth/test-uc_width2.c: Likewise.
36707         * modules/acl-tests (Files): Add tests/macros.h.
36708         * modules/areadlink-tests (Files): Likewise.
36709         * modules/areadlink-with-size-tests (Files): Likewise.
36710         * modules/areadlinkat-tests (Files): Likewise.
36711         * modules/areadlinkat-with-size-tests (Files): Likewise.
36712         * modules/argmatch-tests (Files): Likewise.
36713         * modules/argv-iter-tests (Files): Likewise.
36714         * modules/array-list-tests (Files): Likewise.
36715         * modules/array-mergesort-tests (Files): Likewise.
36716         * modules/array-oset-tests (Files): Likewise.
36717         * modules/avltree-list-tests (Files): Likewise.
36718         * modules/avltree-oset-tests (Files): Likewise.
36719         * modules/avltreehash-list-tests (Files): Likewise.
36720         * modules/base64-tests (Files): Likewise.
36721         * modules/binary-io-tests (Files): Likewise.
36722         * modules/bitrotate-tests (Files): Likewise.
36723         * modules/btowc-tests (Files): Likewise.
36724         * modules/byteswap-tests (Files): Likewise.
36725         * modules/c-ctype-tests (Files): Likewise.
36726         * modules/c-stack-tests (Files): Likewise.
36727         * modules/c-strcase-tests (Files): Likewise.
36728         * modules/c-strcasestr-tests (Files): Likewise.
36729         * modules/c-strstr-tests (Files): Likewise.
36730         * modules/canonicalize-lgpl-tests (Files): Likewise.
36731         * modules/canonicalize-tests (Files): Likewise.
36732         * modules/carray-list-tests (Files): Likewise.
36733         * modules/ceilf-tests (Files): Likewise.
36734         * modules/ceill-tests (Files): Likewise.
36735         * modules/chown-tests (Files): Likewise.
36736         * modules/cloexec-tests (Files): Likewise.
36737         * modules/copy-file-tests (Files): Likewise.
36738         * modules/count-one-bits-tests (Files): Likewise.
36739         * modules/dprintf-posix-tests (Files): Likewise.
36740         * modules/dup2-tests (Files): Likewise.
36741         * modules/dup3-tests (Files): Likewise.
36742         * modules/duplocale-tests (Files): Likewise.
36743         * modules/fbufmode-tests (Files): Likewise.
36744         * modules/fchdir-tests (Files): Likewise.
36745         * modules/fcntl-safer-tests (Files): Likewise.
36746         * modules/fcntl-tests (Files): Likewise.
36747         * modules/fdopendir-tests (Files): Likewise.
36748         * modules/fdutimensat-tests (Files): Likewise.
36749         * modules/fflush-tests (Files): Likewise.
36750         * modules/filevercmp-tests (Files): Likewise.
36751         * modules/flock-tests (Files): Likewise.
36752         * modules/floorf-tests (Files): Likewise.
36753         * modules/floorl-tests (Files): Likewise.
36754         * modules/fnmatch-tests (Files): Likewise.
36755         * modules/fopen-safer-tests (Files): Likewise.
36756         * modules/fopen-tests (Files): Likewise.
36757         * modules/fpending-tests (Files): Likewise.
36758         * modules/fprintf-posix-tests (Files): Likewise.
36759         * modules/fpurge-tests (Files): Likewise.
36760         * modules/freadable-tests (Files): Likewise.
36761         * modules/freadahead-tests (Files): Likewise.
36762         * modules/freading-tests (Files): Likewise.
36763         * modules/freadptr-tests (Files): Likewise.
36764         * modules/freadseek-tests (Files): Likewise.
36765         * modules/freopen-tests (Files): Likewise.
36766         * modules/frexp-nolibm-tests (Files): Likewise.
36767         * modules/frexp-tests (Files): Likewise.
36768         * modules/frexpl-nolibm-tests (Files): Likewise.
36769         * modules/frexpl-tests (Files): Likewise.
36770         * modules/fseek-tests (Files): Likewise.
36771         * modules/fseeko-tests (Files): Likewise.
36772         * modules/fstrcmp-tests (Files): Likewise.
36773         * modules/fsync-tests (Files): Likewise.
36774         * modules/ftell-tests (Files): Likewise.
36775         * modules/ftello-tests (Files): Likewise.
36776         * modules/func-tests (Files): Likewise.
36777         * modules/futimens-tests (Files): Likewise.
36778         * modules/fwritable-tests (Files): Likewise.
36779         * modules/fwriting-tests (Files): Likewise.
36780         * modules/getcwd-tests (Files): Likewise.
36781         * modules/getdate-tests (Files): Likewise.
36782         * modules/getdelim-tests (Files): Likewise.
36783         * modules/getdtablesize-tests (Files): Likewise.
36784         * modules/getgroups-tests (Files): Likewise.
36785         * modules/getline-tests (Files): Likewise.
36786         * modules/getndelim2-tests (Files): Likewise.
36787         * modules/glob-tests (Files): Likewise.
36788         * modules/hash-tests (Files): Likewise.
36789         * modules/i-ring-tests (Files): Likewise.
36790         * modules/iconv-tests (Files): Likewise.
36791         * modules/iconv_open-utf-tests (Files): Likewise.
36792         * modules/idpriv-drop-tests (Files): Likewise.
36793         * modules/idpriv-droptemp-tests (Files): Likewise.
36794         * modules/inet_ntop-tests (Files): Likewise.
36795         * modules/inet_pton-tests (Files): Likewise.
36796         * modules/isblank-tests (Files): Likewise.
36797         * modules/isfinite-tests (Files): Likewise.
36798         * modules/isinf-tests (Files): Likewise.
36799         * modules/isnan-tests (Files): Likewise.
36800         * modules/isnand-nolibm-tests (Files): Likewise.
36801         * modules/isnand-tests (Files): Likewise.
36802         * modules/isnanf-nolibm-tests (Files): Likewise.
36803         * modules/isnanf-tests (Files): Likewise.
36804         * modules/isnanl-nolibm-tests (Files): Likewise.
36805         * modules/isnanl-tests (Files): Likewise.
36806         * modules/lchown-tests (Files): Likewise.
36807         * modules/ldexpl-tests (Files): Likewise.
36808         * modules/link-tests (Files): Likewise.
36809         * modules/linkat-tests (Files): Likewise.
36810         * modules/linked-list-tests (Files): Likewise.
36811         * modules/linkedhash-list-tests (Files): Likewise.
36812         * modules/localename-tests (Files): Likewise.
36813         * modules/lseek-tests (Files): Likewise.
36814         * modules/lstat-tests (Files): Likewise.
36815         * modules/mbmemcasecmp-tests (Files): Likewise.
36816         * modules/mbmemcasecoll-tests (Files): Likewise.
36817         * modules/mbrtowc-tests (Files): Likewise.
36818         * modules/mbscasecmp-tests (Files): Likewise.
36819         * modules/mbscasestr-tests (Files): Likewise.
36820         * modules/mbschr-tests (Files): Likewise.
36821         * modules/mbscspn-tests (Files): Likewise.
36822         * modules/mbsinit-tests (Files): Likewise.
36823         * modules/mbsncasecmp-tests (Files): Likewise.
36824         * modules/mbsnrtowcs-tests (Files): Likewise.
36825         * modules/mbspbrk-tests (Files): Likewise.
36826         * modules/mbspcasecmp-tests (Files): Likewise.
36827         * modules/mbsrchr-tests (Files): Likewise.
36828         * modules/mbsrtowcs-tests (Files): Likewise.
36829         * modules/mbsspn-tests (Files): Likewise.
36830         * modules/mbsstr-tests (Files): Likewise.
36831         * modules/memchr-tests (Files): Likewise.
36832         * modules/memchr2-tests (Files): Likewise.
36833         * modules/memcmp-tests (Files): Likewise.
36834         * modules/memmem-tests (Files): Likewise.
36835         * modules/memrchr-tests (Files): Likewise.
36836         * modules/mkdir-tests (Files): Likewise.
36837         * modules/mkfifo-tests (Files): Likewise.
36838         * modules/mkfifoat-tests (Files): Likewise.
36839         * modules/mknod-tests (Files): Likewise.
36840         * modules/nanosleep-tests (Files): Likewise.
36841         * modules/nl_langinfo-tests (Files): Likewise.
36842         * modules/obstack-printf-tests (Files): Likewise.
36843         * modules/open-tests (Files): Likewise.
36844         * modules/openat-tests (Files): Likewise.
36845         * modules/pipe-filter-gi-tests (Files): Likewise.
36846         * modules/pipe-filter-ii-tests (Files): Likewise.
36847         * modules/pipe2-tests (Files): Likewise.
36848         * modules/popen-safer-tests (Files): Likewise.
36849         * modules/popen-tests (Files): Likewise.
36850         * modules/posixtm-tests (Files): Likewise.
36851         * modules/pread-tests (Files): Likewise.
36852         * modules/printf-frexp-tests (Files): Likewise.
36853         * modules/printf-frexpl-tests (Files): Likewise.
36854         * modules/printf-posix-tests (Files): Likewise.
36855         * modules/priv-set-tests (Files): Likewise.
36856         * modules/quotearg-tests (Files): Likewise.
36857         * modules/random_r-tests (Files): Likewise.
36858         * modules/rawmemchr-tests (Files): Likewise.
36859         * modules/rbtree-list-tests (Files): Likewise.
36860         * modules/rbtree-oset-tests (Files): Likewise.
36861         * modules/rbtreehash-list-tests (Files): Likewise.
36862         * modules/readlink-tests (Files): Likewise.
36863         * modules/remove-tests (Files): Likewise.
36864         * modules/rename-tests (Files): Likewise.
36865         * modules/renameat-tests (Files): Likewise.
36866         * modules/rmdir-tests (Files): Likewise.
36867         * modules/round-tests (Files): Likewise.
36868         * modules/roundf-tests (Files): Likewise.
36869         * modules/roundl-tests (Files): Likewise.
36870         * modules/safe-alloc-tests (Files): Likewise.
36871         * modules/setenv-tests (Files): Likewise.
36872         * modules/sigaction-tests (Files): Likewise.
36873         * modules/signbit-tests (Files): Likewise.
36874         * modules/sleep-tests (Files): Likewise.
36875         * modules/snprintf-posix-tests (Files): Likewise.
36876         * modules/snprintf-tests (Files): Likewise.
36877         * modules/sprintf-posix-tests (Files): Likewise.
36878         * modules/stat-tests (Files): Likewise.
36879         * modules/stat-time-tests (Files): Likewise.
36880         * modules/strcasestr-tests (Files): Likewise.
36881         * modules/strchrnul-tests (Files): Likewise.
36882         * modules/strerror-tests (Files): Likewise.
36883         * modules/striconv-tests (Files): Likewise.
36884         * modules/striconveh-tests (Files): Likewise.
36885         * modules/striconveha-tests (Files): Likewise.
36886         * modules/strsignal-tests (Files): Likewise.
36887         * modules/strstr-tests (Files): Likewise.
36888         * modules/strtod-tests (Files): Likewise.
36889         * modules/strverscmp-tests (Files): Likewise.
36890         * modules/symlink-tests (Files): Likewise.
36891         * modules/symlinkat-tests (Files): Likewise.
36892         * modules/trunc-tests (Files): Likewise.
36893         * modules/truncf-tests (Files): Likewise.
36894         * modules/truncl-tests (Files): Likewise.
36895         * modules/uname-tests (Files): Likewise.
36896         * modules/unicase/cased-tests (Files): Likewise.
36897         * modules/unicase/ignorable-tests (Files): Likewise.
36898         * modules/unicase/locale-language-tests (Files): Likewise.
36899         * modules/unicase/tolower-tests (Files): Likewise.
36900         * modules/unicase/totitle-tests (Files): Likewise.
36901         * modules/unicase/toupper-tests (Files): Likewise.
36902         * modules/unicase/u8-casecmp-tests (Files): Likewise.
36903         * modules/unicase/u8-casecoll-tests (Files): Likewise.
36904         * modules/unicase/u8-casefold-tests (Files): Likewise.
36905         * modules/unicase/u8-is-cased-tests (Files): Likewise.
36906         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
36907         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
36908         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
36909         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
36910         * modules/unicase/u8-tolower-tests (Files): Likewise.
36911         * modules/unicase/u8-totitle-tests (Files): Likewise.
36912         * modules/unicase/u8-toupper-tests (Files): Likewise.
36913         * modules/unicase/u16-casecmp-tests (Files): Likewise.
36914         * modules/unicase/u16-casecoll-tests (Files): Likewise.
36915         * modules/unicase/u16-casefold-tests (Files): Likewise.
36916         * modules/unicase/u16-is-cased-tests (Files): Likewise.
36917         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
36918         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
36919         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
36920         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
36921         * modules/unicase/u16-tolower-tests (Files): Likewise.
36922         * modules/unicase/u16-totitle-tests (Files): Likewise.
36923         * modules/unicase/u16-toupper-tests (Files): Likewise.
36924         * modules/unicase/u32-casecmp-tests (Files): Likewise.
36925         * modules/unicase/u32-casecoll-tests (Files): Likewise.
36926         * modules/unicase/u32-casefold-tests (Files): Likewise.
36927         * modules/unicase/u32-is-cased-tests (Files): Likewise.
36928         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
36929         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
36930         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
36931         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
36932         * modules/unicase/u32-tolower-tests (Files): Likewise.
36933         * modules/unicase/u32-totitle-tests (Files): Likewise.
36934         * modules/unicase/u32-toupper-tests (Files): Likewise.
36935         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
36936         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
36937         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
36938         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
36939         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
36940         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
36941         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
36942         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
36943         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
36944         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
36945         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
36946         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
36947         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
36948         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
36949         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
36950         * modules/unictype/bidicategory-name-tests (Files): Likewise.
36951         * modules/unictype/bidicategory-of-tests (Files): Likewise.
36952         * modules/unictype/bidicategory-test-tests (Files): Likewise.
36953         * modules/unictype/block-list-tests (Files): Likewise.
36954         * modules/unictype/block-of-tests (Files): Likewise.
36955         * modules/unictype/block-test-tests (Files): Likewise.
36956         * modules/unictype/category-C-tests (Files): Likewise.
36957         * modules/unictype/category-Cc-tests (Files): Likewise.
36958         * modules/unictype/category-Cf-tests (Files): Likewise.
36959         * modules/unictype/category-Cn-tests (Files): Likewise.
36960         * modules/unictype/category-Co-tests (Files): Likewise.
36961         * modules/unictype/category-Cs-tests (Files): Likewise.
36962         * modules/unictype/category-L-tests (Files): Likewise.
36963         * modules/unictype/category-Ll-tests (Files): Likewise.
36964         * modules/unictype/category-Lm-tests (Files): Likewise.
36965         * modules/unictype/category-Lo-tests (Files): Likewise.
36966         * modules/unictype/category-Lt-tests (Files): Likewise.
36967         * modules/unictype/category-Lu-tests (Files): Likewise.
36968         * modules/unictype/category-M-tests (Files): Likewise.
36969         * modules/unictype/category-Mc-tests (Files): Likewise.
36970         * modules/unictype/category-Me-tests (Files): Likewise.
36971         * modules/unictype/category-Mn-tests (Files): Likewise.
36972         * modules/unictype/category-N-tests (Files): Likewise.
36973         * modules/unictype/category-Nd-tests (Files): Likewise.
36974         * modules/unictype/category-Nl-tests (Files): Likewise.
36975         * modules/unictype/category-No-tests (Files): Likewise.
36976         * modules/unictype/category-P-tests (Files): Likewise.
36977         * modules/unictype/category-Pc-tests (Files): Likewise.
36978         * modules/unictype/category-Pd-tests (Files): Likewise.
36979         * modules/unictype/category-Pe-tests (Files): Likewise.
36980         * modules/unictype/category-Pf-tests (Files): Likewise.
36981         * modules/unictype/category-Pi-tests (Files): Likewise.
36982         * modules/unictype/category-Po-tests (Files): Likewise.
36983         * modules/unictype/category-Ps-tests (Files): Likewise.
36984         * modules/unictype/category-S-tests (Files): Likewise.
36985         * modules/unictype/category-Sc-tests (Files): Likewise.
36986         * modules/unictype/category-Sk-tests (Files): Likewise.
36987         * modules/unictype/category-Sm-tests (Files): Likewise.
36988         * modules/unictype/category-So-tests (Files): Likewise.
36989         * modules/unictype/category-Z-tests (Files): Likewise.
36990         * modules/unictype/category-Zl-tests (Files): Likewise.
36991         * modules/unictype/category-Zp-tests (Files): Likewise.
36992         * modules/unictype/category-Zs-tests (Files): Likewise.
36993         * modules/unictype/category-and-not-tests (Files): Likewise.
36994         * modules/unictype/category-and-tests (Files): Likewise.
36995         * modules/unictype/category-byname-tests (Files): Likewise.
36996         * modules/unictype/category-name-tests (Files): Likewise.
36997         * modules/unictype/category-none-tests (Files): Likewise.
36998         * modules/unictype/category-of-tests (Files): Likewise.
36999         * modules/unictype/category-or-tests (Files): Likewise.
37000         * modules/unictype/category-test-withtable-tests (Files): Likewise.
37001         * modules/unictype/combining-class-tests (Files): Likewise.
37002         * modules/unictype/ctype-alnum-tests (Files): Likewise.
37003         * modules/unictype/ctype-alpha-tests (Files): Likewise.
37004         * modules/unictype/ctype-blank-tests (Files): Likewise.
37005         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
37006         * modules/unictype/ctype-digit-tests (Files): Likewise.
37007         * modules/unictype/ctype-graph-tests (Files): Likewise.
37008         * modules/unictype/ctype-lower-tests (Files): Likewise.
37009         * modules/unictype/ctype-print-tests (Files): Likewise.
37010         * modules/unictype/ctype-punct-tests (Files): Likewise.
37011         * modules/unictype/ctype-space-tests (Files): Likewise.
37012         * modules/unictype/ctype-upper-tests (Files): Likewise.
37013         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
37014         * modules/unictype/decimal-digit-tests (Files): Likewise.
37015         * modules/unictype/digit-tests (Files): Likewise.
37016         * modules/unictype/mirror-tests (Files): Likewise.
37017         * modules/unictype/numeric-tests (Files): Likewise.
37018         * modules/unictype/property-alphabetic-tests (Files): Likewise.
37019         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
37020         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
37021         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
37022         Likewise.
37023         * modules/unictype/property-bidi-block-separator-tests (Files):
37024         Likewise.
37025         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
37026         Likewise.
37027         * modules/unictype/property-bidi-common-separator-tests (Files):
37028         Likewise.
37029         * modules/unictype/property-bidi-control-tests (Files): Likewise.
37030         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
37031         Likewise.
37032         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
37033         Likewise.
37034         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
37035         Likewise.
37036         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
37037         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
37038         Likewise.
37039         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
37040         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
37041         Likewise.
37042         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
37043         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
37044         * modules/unictype/property-bidi-segment-separator-tests (Files):
37045         Likewise.
37046         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
37047         * modules/unictype/property-byname-tests (Files): Likewise.
37048         * modules/unictype/property-combining-tests (Files): Likewise.
37049         * modules/unictype/property-composite-tests (Files): Likewise.
37050         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
37051         * modules/unictype/property-dash-tests (Files): Likewise.
37052         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
37053         * modules/unictype/property-default-ignorable-code-point-tests (Files):
37054         Likewise.
37055         * modules/unictype/property-deprecated-tests (Files): Likewise.
37056         * modules/unictype/property-diacritic-tests (Files): Likewise.
37057         * modules/unictype/property-extender-tests (Files): Likewise.
37058         * modules/unictype/property-format-control-tests (Files): Likewise.
37059         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
37060         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
37061         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
37062         * modules/unictype/property-hex-digit-tests (Files): Likewise.
37063         * modules/unictype/property-hyphen-tests (Files): Likewise.
37064         * modules/unictype/property-id-continue-tests (Files): Likewise.
37065         * modules/unictype/property-id-start-tests (Files): Likewise.
37066         * modules/unictype/property-ideographic-tests (Files): Likewise.
37067         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
37068         * modules/unictype/property-ids-trinary-operator-tests (Files):
37069         Likewise.
37070         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
37071         * modules/unictype/property-iso-control-tests (Files): Likewise.
37072         * modules/unictype/property-join-control-tests (Files): Likewise.
37073         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
37074         * modules/unictype/property-line-separator-tests (Files): Likewise.
37075         * modules/unictype/property-logical-order-exception-tests (Files):
37076         Likewise.
37077         * modules/unictype/property-lowercase-tests (Files): Likewise.
37078         * modules/unictype/property-math-tests (Files): Likewise.
37079         * modules/unictype/property-non-break-tests (Files): Likewise.
37080         * modules/unictype/property-not-a-character-tests (Files): Likewise.
37081         * modules/unictype/property-numeric-tests (Files): Likewise.
37082         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
37083         * modules/unictype/property-other-default-ignorable-code-point-tests
37084         (Files): Likewise.
37085         * modules/unictype/property-other-grapheme-extend-tests (Files):
37086         Likewise.
37087         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
37088         * modules/unictype/property-other-id-start-tests (Files): Likewise.
37089         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
37090         * modules/unictype/property-other-math-tests (Files): Likewise.
37091         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
37092         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
37093         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
37094         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
37095         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
37096         * modules/unictype/property-private-use-tests (Files): Likewise.
37097         * modules/unictype/property-punctuation-tests (Files): Likewise.
37098         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
37099         * modules/unictype/property-radical-tests (Files): Likewise.
37100         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
37101         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
37102         * modules/unictype/property-space-tests (Files): Likewise.
37103         * modules/unictype/property-terminal-punctuation-tests (Files):
37104         Likewise.
37105         * modules/unictype/property-test-tests (Files): Likewise.
37106         * modules/unictype/property-titlecase-tests (Files): Likewise.
37107         * modules/unictype/property-unassigned-code-value-tests (Files):
37108         Likewise.
37109         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
37110         * modules/unictype/property-uppercase-tests (Files): Likewise.
37111         * modules/unictype/property-variation-selector-tests (Files): Likewise.
37112         * modules/unictype/property-white-space-tests (Files): Likewise.
37113         * modules/unictype/property-xid-continue-tests (Files): Likewise.
37114         * modules/unictype/property-xid-start-tests (Files): Likewise.
37115         * modules/unictype/property-zero-width-tests (Files): Likewise.
37116         * modules/unictype/scripts-tests (Files): Likewise.
37117         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
37118         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
37119         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
37120         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
37121         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
37122         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
37123         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
37124         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
37125         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
37126         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
37127         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
37128         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
37129         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
37130         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
37131         * modules/uninorm/composition-tests (Files): Likewise.
37132         * modules/uninorm/decomposing-form-tests (Files): Likewise.
37133         * modules/uninorm/decomposition-tests (Files): Likewise.
37134         * modules/uninorm/filter-tests (Files): Likewise.
37135         * modules/uninorm/nfc-tests (Files): Likewise.
37136         * modules/uninorm/nfd-tests (Files): Likewise.
37137         * modules/uninorm/nfkc-tests (Files): Likewise.
37138         * modules/uninorm/nfkd-tests (Files): Likewise.
37139         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
37140         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
37141         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
37142         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
37143         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
37144         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
37145         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
37146         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
37147         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
37148         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
37149         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
37150         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
37151         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
37152         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
37153         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
37154         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
37155         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
37156         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
37157         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
37158         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
37159         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
37160         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
37161         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
37162         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
37163         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
37164         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
37165         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
37166         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
37167         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
37168         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
37169         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
37170         * modules/uniwidth/u8-width-tests (Files): Likewise.
37171         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
37172         * modules/uniwidth/u16-width-tests (Files): Likewise.
37173         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
37174         * modules/uniwidth/u32-width-tests (Files): Likewise.
37175         * modules/uniwidth/width-tests (Files): Likewise.
37176         * modules/unlink-tests (Files): Likewise.
37177         * modules/unsetenv-tests (Files): Likewise.
37178         * modules/usleep-tests (Files): Likewise.
37179         * modules/utimens-tests (Files): Likewise.
37180         * modules/utimensat-tests (Files): Likewise.
37181         * modules/vasnprintf-posix-tests (Files): Likewise.
37182         * modules/vasnprintf-tests (Files): Likewise.
37183         * modules/vasprintf-posix-tests (Files): Likewise.
37184         * modules/vasprintf-tests (Files): Likewise.
37185         * modules/vdprintf-posix-tests (Files): Likewise.
37186         * modules/vfprintf-posix-tests (Files): Likewise.
37187         * modules/vprintf-posix-tests (Files): Likewise.
37188         * modules/vsnprintf-posix-tests (Files): Likewise.
37189         * modules/vsnprintf-tests (Files): Likewise.
37190         * modules/vsprintf-posix-tests (Files): Likewise.
37191         * modules/wcrtomb-tests (Files): Likewise.
37192         * modules/wcsnrtombs-tests (Files): Likewise.
37193         * modules/wcsrtombs-tests (Files): Likewise.
37194         * modules/wctype-tests (Files): Likewise.
37195         * modules/wcwidth-tests (Files): Likewise.
37196         * modules/xmemdup0-tests (Files): Likewise.
37197         * modules/xprintf-posix-tests (Files): Likewise.
37198         * modules/xvasprintf-tests (Files): Likewise.
37199
37200 2009-12-24  Eric Blake  <ebb9@byu.net>
37201
37202         test-nanosleep: fix typo
37203         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
37204         patch.
37205         Reported by Bruno Haible.
37206
37207 2009-12-24  Bruno Haible  <bruno@clisp.org>
37208
37209         Reduce namespace pollution on glibc systems.
37210         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
37211         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
37212         systems.
37213         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
37214         <getopt.h> on glibc systems.
37215         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
37216         systems.
37217         * lib/fcntl.c: Include <unistd.h> here instead.
37218
37219 2009-12-24  Bruno Haible  <bruno@clisp.org>
37220
37221         * lib/stdlib.in.h (includes): Fix typo in today's commit.
37222
37223 2009-12-24  Eric Blake  <ebb9@byu.net>
37224
37225         tests: add signature checks
37226         * tests/signature.h (SIGNATURE_CHECK): New file.
37227         * modules/atexit-tests (Files): Use it.
37228         * modules/btowc-tests (Files): Likewise.
37229         * modules/canonicalize-lgpl-tests (Files): Likewise.
37230         * modules/ceilf-tests (Files): Likewise.
37231         * modules/ceill-tests (Files): Likewise.
37232         * modules/chown-tests (Files): Likewise.
37233         * modules/dprintf-posix-tests (Files): Likewise.
37234         * modules/dup2-tests (Files): Likewise.
37235         * modules/dup3-tests (Files): Likewise.
37236         * modules/duplocale-tests (Files): Likewise.
37237         * modules/fchdir-tests (Files): Likewise.
37238         * modules/fcntl-tests (Files): Likewise.
37239         * modules/fdopendir-tests (Files): Likewise.
37240         * modules/fflush-tests (Files): Likewise.
37241         * modules/flock-tests (Files): Likewise.
37242         * modules/floorf-tests (Files): Likewise.
37243         * modules/floorl-tests (Files): Likewise.
37244         * modules/fnmatch-tests (Files): Likewise.
37245         * modules/fopen-tests (Files): Likewise.
37246         * modules/fprintf-posix-tests (Files): Likewise.
37247         * modules/freopen-tests (Files): Likewise.
37248         * modules/frexp-nolibm-tests (Files): Likewise.
37249         * modules/frexp-tests (Files): Likewise.
37250         * modules/frexpl-nolibm-tests (Files): Likewise.
37251         * modules/frexpl-tests (Files): Likewise.
37252         * modules/fseek-tests (Files): Likewise.
37253         * modules/fseeko-tests (Files): Likewise.
37254         * modules/fsync-tests (Files): Likewise.
37255         * modules/ftell-tests (Files): Likewise.
37256         * modules/ftello-tests (Files): Likewise.
37257         * modules/futimens-tests (Files): Likewise.
37258         * modules/getaddrinfo-tests (Files): Likewise.
37259         * modules/getcwd-tests (Files): Likewise.
37260         * modules/getdelim-tests (Files): Likewise.
37261         * modules/getdtablesize-tests (Files): Likewise.
37262         * modules/getgroups-tests (Files): Likewise.
37263         * modules/gethostname-tests (Files): Likewise.
37264         * modules/getline-tests (Files): Likewise.
37265         * modules/getopt-posix-tests (Files): Likewise.
37266         * modules/gettimeofday-tests (Files): Likewise.
37267         * modules/glob-tests (Files): Likewise.
37268         * modules/iconv-tests (Files): Likewise.
37269         * modules/inet_ntop-tests (Files): Likewise.
37270         * modules/inet_pton-tests (Files): Likewise.
37271         * modules/isblank-tests (Files): Likewise.
37272         * modules/lchown-tests (Files): Likewise.
37273         * modules/ldexpl-tests (Files): Likewise.
37274         * modules/link-tests (Files): Likewise.
37275         * modules/linkat-tests (Files): Likewise.
37276         * modules/lseek-tests (Files): Likewise.
37277         * modules/lstat-tests (Files): Likewise.
37278         * modules/mbrtowc-tests (Files): Likewise.
37279         * modules/mbsinit-tests (Files): Likewise.
37280         * modules/mbsnrtowcs-tests (Files): Likewise.
37281         * modules/mbsrtowcs-tests (Files): Likewise.
37282         * modules/memchr-tests (Files): Likewise.
37283         * modules/memcmp-tests (Files): Likewise.
37284         * modules/memmem-tests (Files): Likewise.
37285         * modules/memrchr-tests (Files): Likewise.
37286         * modules/mkdir-tests (Files): Likewise.
37287         * modules/mkfifo-tests (Files): Likewise.
37288         * modules/mkfifoat-tests (Files): Likewise.
37289         * modules/mknod-tests (Files): Likewise.
37290         * modules/nanosleep-tests (Files): Likewise.
37291         * modules/nl_langinfo-tests (Files): Likewise.
37292         * modules/obstack-printf-tests (Files): Likewise.
37293         * modules/open-tests (Files): Likewise.
37294         * modules/openat-tests (Files): Likewise.
37295         * modules/perror-tests (Files): Likewise.
37296         * modules/pipe2-tests (Files): Likewise.
37297         * modules/poll-tests (Files): Likewise.
37298         * modules/popen-tests (Files): Likewise.
37299         * modules/posix_spawn-tests (Files): Likewise.
37300         * modules/posix_spawnp-tests (Files): Likewise.
37301         * modules/pread-tests (Files): Likewise.
37302         * modules/printf-posix-tests (Files): Likewise.
37303         * modules/pty-tests (Files): Likewise.
37304         * modules/random_r-tests (Files): Likewise.
37305         * modules/rawmemchr-tests (Files): Likewise.
37306         * modules/readlink-tests (Files): Likewise.
37307         * modules/remove-tests (Files): Likewise.
37308         * modules/rename-tests (Files): Likewise.
37309         * modules/renameat-tests (Files): Likewise.
37310         * modules/rmdir-tests (Files): Likewise.
37311         * modules/round-tests (Files): Likewise.
37312         * modules/roundf-tests (Files): Likewise.
37313         * modules/roundl-tests (Files): Likewise.
37314         * modules/select-tests (Files): Likewise.
37315         * modules/setenv-tests (Files): Likewise.
37316         * modules/sigaction-tests (Files): Likewise.
37317         * modules/sleep-tests (Files): Likewise.
37318         * modules/snprintf-posix-tests (Files): Likewise.
37319         * modules/snprintf-tests (Files): Likewise.
37320         * modules/sprintf-posix-tests (Files): Likewise.
37321         * modules/stat-tests (Files): Likewise.
37322         * modules/strcasestr-tests (Files): Likewise.
37323         * modules/strchrnul-tests (Files): Likewise.
37324         * modules/strerror-tests (Files): Likewise.
37325         * modules/strsignal-tests (Files): Likewise.
37326         * modules/strstr-tests (Files): Likewise.
37327         * modules/strtod-tests (Files): Likewise.
37328         * modules/strverscmp-tests (Files): Likewise.
37329         * modules/symlink-tests (Files): Likewise.
37330         * modules/symlinkat-tests (Files): Likewise.
37331         * modules/times-tests (Files): Likewise.
37332         * modules/trunc-tests (Files): Likewise.
37333         * modules/truncf-tests (Files): Likewise.
37334         * modules/truncl-tests (Files): Likewise.
37335         * modules/tsearch-tests (Files): Likewise.
37336         * modules/uname-tests (Files): Likewise.
37337         * modules/unlink-tests (Files): Likewise.
37338         * modules/unsetenv-tests (Files): Likewise.
37339         * modules/usleep-tests (Files): Likewise.
37340         * modules/utimensat-tests (Files): Likewise.
37341         * modules/vasprintf-tests (Files): Likewise.
37342         * modules/vdprintf-posix-tests (Files): Likewise.
37343         * modules/vfprintf-posix-tests (Files): Likewise.
37344         * modules/vprintf-posix-tests (Files): Likewise.
37345         * modules/vsnprintf-posix-tests (Files): Likewise.
37346         * modules/vsnprintf-tests (Files): Likewise.
37347         * modules/vsprintf-posix-tests (Files): Likewise.
37348         * modules/wcrtomb-tests (Files): Likewise.
37349         * modules/wcsnrtombs-tests (Files): Likewise.
37350         * modules/wcsrtombs-tests (Files): Likewise.
37351         * modules/wcwidth-tests (Files): Likewise.
37352         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
37353         * tests/test-isinf.c (isinf): Likewise.
37354         * tests/test-isnan.c (isnan): Likewise.
37355         * tests/test-signbit.c (signbit): Likewise.
37356         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
37357         declaration, either as macro or with correct signature.
37358         (select): Ensure function under test is declared with correct
37359         signature in correct header.
37360         * tests/test-atexit.c (atexit): Likewise.
37361         * tests/test-btowc.c (btowc): Likewise.
37362         * tests/test-canonicalize-lgpl.c (realpath)
37363         (canonicalize_file_name): Likewise.
37364         * tests/test-ceilf1.c (ceilf): Likewise.
37365         * tests/test-ceill.c (ceill): Likewise.
37366         * tests/test-chown.c (chown): Likewise.
37367         * tests/test-dprintf-posix.c (dprintf): Likewise.
37368         * tests/test-dup2.c (dup2): Likewise.
37369         * tests/test-dup3.c (dup3): Likewise.
37370         * tests/test-duplocale.c (duplocale): Likewise.
37371         * tests/test-fchdir.c (fchdir): Likewise.
37372         * tests/test-fchownat.c (fchownat): Likewise.
37373         * tests/test-fcntl.c (fcntl): Likewise.
37374         * tests/test-fdopendir.c (fdopendir): Likewise.
37375         * tests/test-fflush.c (fflush): Likewise.
37376         * tests/test-flock.c (flock): Likewise.
37377         * tests/test-floorf1.c (floorf): Likewise.
37378         * tests/test-floorl.c (floorl): Likewise.
37379         * tests/test-fnmatch.c (fnmatch): Likewise.
37380         * tests/test-fopen.c (fopen): Likewise.
37381         * tests/test-fprintf-posix.c (fprintf): Likewise.
37382         * tests/test-freopen.c (freopen): Likewise.
37383         * tests/test-frexp.c (frexp): Likewise.
37384         * tests/test-frexpl.c (frexpl): Likewise.
37385         * tests/test-fseek.c (fseek): Likewise.
37386         * tests/test-fseeko.c (fseeko): Likewise.
37387         * tests/test-fstatat.c (fstatat): Likewise.
37388         * tests/test-fsync.c (fsync): Likewise.
37389         * tests/test-ftell.c (ftell): Likewise.
37390         * tests/test-ftello.c (ftello): Likewise.
37391         * tests/test-futimens.c (futimens): Likewise.
37392         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
37393         (gai_strerror): Likewise.
37394         * tests/test-getcwd.c (getcwd): Likewise.
37395         * tests/test-getdelim.c (getdelim): Likewise.
37396         * tests/test-getdtablesize.c (getdtablesize): Likewise.
37397         * tests/test-getgroups.c (getgroups): Likewise.
37398         * tests/test-gethostname.c (gethostname): Likewise.
37399         * tests/test-getline.c (getline): Likewise.
37400         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
37401         Likewise.
37402         * tests/test-gettimeofday.c (gettimeofday): Likewise.
37403         * tests/test-glob.c (glob, globfree): Likewise.
37404         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
37405         * tests/test-inet_ntop.c (inet_ntop): Likewise.
37406         * tests/test-inet_pton.c (inet_pton): Likewise.
37407         * tests/test-isblank.c (isblank): Likewise.
37408         * tests/test-lchown.c (lchown): Likewise.
37409         * tests/test-ldexpl.c (ldexpl): Likewise.
37410         * tests/test-link.c (link): Likewise.
37411         * tests/test-linkat.c (linkat): Likewise.
37412         * tests/test-lseek.c (lseek): Likewise.
37413         * tests/test-lstat.c (lstat): Likewise.
37414         * tests/test-mbrtowc.c (mbrtowc): Likewise.
37415         * tests/test-mbsinit.c (mbsinit): Likewise.
37416         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
37417         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
37418         * tests/test-memchr.c (memchr): Likewise.
37419         * tests/test-memcmp.c (memcmp): Likewise.
37420         * tests/test-memmem.c (memmem): Likewise.
37421         * tests/test-memrchr.c (memrchr): Likewise.
37422         * tests/test-mkdir.c (mkdir): Likewise.
37423         * tests/test-mkdirat.c (mkdirat): Likewise.
37424         * tests/test-mkfifo.c (mkfifo): Likewise.
37425         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
37426         * tests/test-mknod.c (mknod): Likewise.
37427         * tests/test-nanosleep.c (nanosleep): Likewise.
37428         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
37429         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
37430         Likewise.
37431         * tests/test-open.c (open): Likewise.
37432         * tests/test-openat.c (openat): Likewise.
37433         * tests/test-perror.c (perror): Likewise.
37434         * tests/test-pipe2.c (pipe2): Likewise.
37435         * tests/test-poll.c (poll): Likewise.
37436         * tests/test-popen.c (popen, pclose): Likewise.
37437         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
37438         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
37439         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
37440         (posix_spawn_file_actions_destroy)
37441         (posix_spawn_file_actions_addclose)
37442         (posix_spawn_file_actions_addopen)
37443         (posix_spawn_file_actions_adddup2): Likewise.
37444         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
37445         * tests/test-pread.c (pread): Likewise.
37446         * tests/test-printf-posix.c (printf): Likewise.
37447         * tests/test-pty.c (openpty, forkpty): Likewise.
37448         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
37449         (random_r): Likewise.
37450         * tests/test-rawmemchr.c (rawmemchr): Likewise.
37451         * tests/test-readlink.c (readlink): Likewise.
37452         * tests/test-remove.c (remove): Likewise.
37453         * tests/test-rename.c (rename): Likewise.
37454         * tests/test-renameat.c (renameat): Likewise.
37455         * tests/test-rmdir.c (rmdir): Likewise.
37456         * tests/test-round1.c (round): Likewise.
37457         * tests/test-roundf1.c (roundf): Likewise.
37458         * tests/test-roundl.c (roundl): Likewise.
37459         * tests/test-setenv.c (setenv): Likewise.
37460         * tests/test-sigaction.c (sigaction): Likewise.
37461         * tests/test-sleep.c (sleep): Likewise.
37462         * tests/test-snprintf.c (snprintf): Likewise.
37463         * tests/test-sprintf-posix.c (sprintf): Likewise.
37464         * tests/test-stat.c (stat): Likewise.
37465         * tests/test-stpncpy.c (stpncpy): Likewise.
37466         * tests/test-strcasestr.c (strcasestr): Likewise.
37467         * tests/test-strchrnul.c (strchrnul): Likewise.
37468         * tests/test-strerror.c (strerror): Likewise.
37469         * tests/test-strsignal.c (strsignal): Likewise.
37470         * tests/test-strstr.c (strstr): Likewise.
37471         * tests/test-strtod.c (strtod): Likewise.
37472         * tests/test-strverscmp.c (strverscmp): Likewise.
37473         * tests/test-symlink.c (symlink): Likewise.
37474         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
37475         * tests/test-times.c (times): Likewise.
37476         * tests/test-trunc1.c (trunc): Likewise.
37477         * tests/test-truncf1.c (truncf): Likewise.
37478         * tests/test-truncl.c (truncl): Likewise.
37479         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
37480         Likewise.
37481         * tests/test-uname.c (uname): Likewise.
37482         * tests/test-unlink.c (unlink): Likewise.
37483         * tests/test-unlinkat.c (unlinkat): Likewise.
37484         * tests/test-unsetenv.c (unsetenv): Likewise.
37485         * tests/test-usleep.c (usleep): Likewise.
37486         * tests/test-utimensat.c (utimensat): Likewise.
37487         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
37488         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
37489         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
37490         * tests/test-vprintf-posix.c (vprintf): Likewise.
37491         * tests/test-vsnprintf.c (vsnprintf): Likewise.
37492         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
37493         * tests/test-wcrtomb.c (wcrtomb): Likewise.
37494         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
37495         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
37496         * tests/test-wcwidth.c (wcwidth): Likewise.
37497
37498         build: pull in conditional headers during GNULIB_POSIXCHECK
37499         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
37500         definitions from any conditionally-included headers.
37501         * lib/stdlib.in.h (includes): Likewise.
37502         * lib/unistd.in.h (includes): Likewise.
37503
37504 2009-12-24  Bruno Haible  <bruno@clisp.org>
37505
37506         * tests/test-argv-iter.c: Include header file being tested immediately
37507         after config.h.
37508         * tests/test-base64.c: Likewise.
37509         * tests/test-flock.c: Likewise.
37510         * tests/test-fsync.c: Likewise.
37511         * tests/test-getdate.c: Likewise.
37512         * tests/test-getndelim2.c: Likewise.
37513         * tests/test-isfinite.c: Likewise.
37514         * tests/test-isinf.c: Likewise.
37515         * tests/test-strerror.c: Likewise.
37516         * tests/test-strsignal.c: Likewise.
37517
37518 2009-12-23  Eric Blake  <ebb9@byu.net>
37519
37520         unistd: work around cygwin bug
37521         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
37522         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
37523         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
37524
37525 2009-12-23  Bruno Haible  <bruno@clisp.org>
37526
37527         localename: More tests.
37528         * tests/test-localename.c (SIZEOF): New macro.
37529         (categories): New variable.
37530         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
37531         test_locale_name_default): Add test w.r.t. thread locale.
37532         (test_locale_name_thread): New function.
37533         (main): Invoke it.
37534
37535         localename: Make aware of thread locale.
37536         * lib/localename.h (gl_locale_name_thread): New declaration.
37537         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
37538         behaviour with respect to thread locale.
37539         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
37540         <langinfo.h>, glthread/lock.h.
37541         (SIZE_BITS): New macro.
37542         (string_hash): New function.
37543         (struct hash_node): New type.
37544         (HASH_TABLE_SIZE): New macro.
37545         (struniq_hash_table, struniq_lock): New variables.
37546         (struniq): New function.
37547         (gl_locale_name_thread): New function.
37548         (gl_locale_name): Invoke it.
37549         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
37550         * modules/localename (Depends-on): Add lock.
37551         Reported by Mike Gran <spk121@yahoo.com>.
37552
37553 2009-12-23  Eric Blake  <ebb9@byu.net>
37554
37555         va-args: new module
37556         * modules/va-args: New file.
37557         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
37558         * MODULES.html.sh (Core language properties): Mention it.
37559
37560         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
37561         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
37562         named alias for __attribute__((__unused__)).
37563         * lib/chown.c: Update client.
37564         * lib/fchmodat.c: Likewise.
37565         * lib/fts.c: Likewise.
37566         * lib/getdate.y: Likewise.
37567         * lib/getgroups.c: Likewise.
37568         * lib/getopt.c: Likewise.
37569         * lib/getugroups.c: Likewise.
37570         * lib/mkdir.c: Likewise.
37571         * lib/mkfifo.c: Likewise.
37572         * lib/mkfifoat.c: Likewise.
37573         * lib/mknod.c: Likewise.
37574         * lib/mknodat.c: Likewise.
37575         * lib/readlink.c: Likewise.
37576         * lib/se-context.in.h: Likewise.
37577         * lib/se-selinux.in.h: Likewise.
37578         * lib/sockets.c: Likewise.
37579         * lib/symlink.c: Likewise.
37580         * lib/symlinkat.c: Likewise.
37581         * lib/unicodeio.c: Likewise.
37582         * lib/unistr.h: Likewise.
37583         * tests/test-areadlink.c: Likewise.
37584         * tests/test-areadlinkat.c: Likewise.
37585         * tests/test-filenamecat.c: Likewise.
37586         * tests/test-fseeko.c: Likewise.
37587         * tests/test-ftello.c: Likewise.
37588         * tests/test-getdate.c: Likewise.
37589         * tests/test-getgroups.c: Likewise.
37590         * tests/test-gethostname.c: Likewise.
37591         * tests/test-quotearg.c: Likewise.
37592         * tests/test-version-etc.c: Likewise.
37593         * tests/test-xalloc-die.c: Likewise.
37594         * tests/test-xfprintf-posix.c: Likewise.
37595         * tests/test-xprintf-posix.c: Likewise.
37596         * tests/test-xvasprintf.c: Likewise.
37597
37598         tests: avoid compiler warnings
37599         * tests/test-fcntl.c (main): Delete unused parameters.
37600         * tests/test-freopen-safer.c (main): Likewise.
37601         * tests/test-xalloc-die.c (main): Mark unused parameters.
37602         * tests/test-fseeko.c (main): Likewise.
37603         * tests/test-ftello.c (main): Likewise.
37604         * tests/test-nanosleep.c (main): Avoid declaration warning.
37605         * tests/test-sleep.c (main): Likewise.
37606         * tests/test-unsetenv.c (main): Silence warning about string
37607         literal.
37608         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
37609
37610 2009-12-23  Bruno Haible  <bruno@clisp.org>
37611
37612         * tests/test-localename.c (test_locale_name): New function, extracted
37613         from main. Also test mixed situations.
37614         (test_locale_name_posix, test_locale_name_environ,
37615         test_locale_name_default): New functions.
37616         (main): Invoke them all.
37617         * modules/localename-tests (configure.ac): Test for newlocale.
37618
37619 2009-12-23  Bruno Haible  <bruno@clisp.org>
37620
37621         unistd: Ensure getcwd gets declared before being overridden.
37622         * lib/unistd.in.h: Conditionally include <io.h>.
37623
37624 2009-12-22  Bruno Haible  <bruno@clisp.org>
37625
37626         wchar: Diagnose broken combination of glibc and gcc versions and flags.
37627         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
37628         (gl_WCHAR_H): Invoke it.
37629         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
37630         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
37631         Reported by Karl Berry <karl@freefriends.org>.
37632
37633 2009-12-22  Eric Blake  <ebb9@byu.net>
37634
37635         math, unistd: avoid redundant includes
37636         * lib/math.in.h (isnan): No need to re-include <math.h>.
37637         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
37638
37639         getsubopt: work around cygwin bug
37640         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
37641         avoid conflicting with system getsubopt.
37642         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
37643         bug.
37644
37645         getopt: synchronize from glibc
37646         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
37647         parameter order.  Adjust all callers.
37648         (_getopt_internal_r, main): Adjust quoting in error messages.
37649         Drop considerations for outdated POSIX 1003.2 error message.
37650         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
37651         callers.
37652         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
37653
37654         test-getopt: test stderr behavior
37655         * modules/getopt-posix-tests (Depends-on): Add dup2.
37656         * tests/test-getopt.c (ASSERT): Avoid stderr.
37657         (main): Move stderr to a temporary file.
37658         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
37659         Instead, add parameter to inform caller if output occurred.
37660         (test_getopt): Adjust all existing tests to expect silence, and
37661         add new tests of leading ":".
37662         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
37663         glibc shortcomings with leading "-:" or "+:" in optstring.
37664         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
37665         Likewise.
37666         * doc/posix-functions/getopt.texi (getopt): Likewise.
37667
37668         test-getopt: enhance test
37669         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
37670         supports optind=0.
37671         * tests/test-getopt.c (OPTIND_MIN): Move...
37672         * tests/test-getopt.h (OPTIND_MIN): ...here.
37673         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
37674         Require that optind=0 works, since modern BSD supports it in
37675         addition to optreset, and since coreutils expects it.
37676         (test_getopt_long_only): New test.
37677         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
37678         glibc shortcomings with 'W;', and enforcement of optind=0.
37679         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
37680         Likewise.
37681
37682 2009-12-21  Bruno Haible  <bruno@clisp.org>
37683
37684         localename: Improvements for MacOS X and Cygwin.
37685         * lib/localename.h (gl_locale_name_environ): New declaration.
37686         * lib/localename.c (gl_locale_name_environ): New function, extracted from
37687         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
37688         (gl_locale_name_posix): Invoke it.
37689         (gl_locale_name_default): Add comments. Use Windows native API also on
37690         Cygwin.
37691
37692 2009-12-21  Bruno Haible  <bruno@clisp.org>
37693
37694         Update list of Win32 locale ids.
37695         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
37696         (LANG_SAMI): Renamed from LANG_SAAMI.
37697         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
37698         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
37699         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
37700         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
37701         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
37702         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
37703         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
37704         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
37705         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
37706         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
37707         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
37708         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
37709         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
37710         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
37711         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
37712         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
37713         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
37714         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
37715         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
37716         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
37717         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
37718         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
37719         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
37720         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
37721         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
37722         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
37723         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
37724         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
37725         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
37726         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
37727         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
37728         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
37729         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
37730         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
37731         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
37732         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
37733         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
37734         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
37735         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
37736         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
37737         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
37738         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
37739         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
37740         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
37741         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
37742         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
37743         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
37744         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
37745         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
37746         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
37747         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
37748         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
37749         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
37750         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
37751         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
37752         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
37753         Add more languages and countries for Sami, Sorbian. Add more countries
37754         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
37755         for Pashto. Change country for Syriac, Tswana.
37756
37757 2009-12-21  Eric Blake  <ebb9@byu.net>
37758
37759         test-utimens: avoid spurious failure
37760         * tests/test-chown.h (nap): Factor...
37761         * tests/nap.h: ...into new file.
37762         * tests/test-lchown.h (nap): Avoid duplication.
37763         * tests/test-utimens-common.h (nap): Use shared implementation,
37764         necessary on file systems with 1-second resolution.
37765         * modules/chown-tests (Files): Include new file.
37766         * modules/fdutimensat-tests (Files): Likewise.
37767         * modules/futimens-tests (Files): Likewise.
37768         * modules/lchown-tests (Files): Likewise.
37769         * modules/openat-tests (Files): Likewise.
37770         * modules/utimens-tests (Files): Likewise.
37771         * modules/utimensat-tests (Files): Likewise.
37772
37773 2009-12-19  Eric Blake  <ebb9@byu.net>
37774
37775         futimens, utimensat: work around Linux bug
37776         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
37777         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
37778         * lib/utimensat.c (rpl_utimensat): Work around it.
37779         * lib/futimens.c (rpl_futimens): Adjust comment.
37780
37781         utimens: work around Linux ctime bug
37782         * lib/utimens.c (detect_ctime_bug): New helper function.
37783         (update_timespec): Differentiate between workaround needed for
37784         this bug vs. what is needed for systems that lack utimensat.
37785         (fdutimens, lutimens): Work around bug.
37786
37787         utimens: check for ctime update
37788         * tests/test-utimens-common.h (check_ctime): Define.
37789         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
37790         * tests/test-futimens.h (test_futimens): Likewise.
37791         * tests/test-lutimens.h (test_lutimens): Likewise.
37792         * doc/posix-functions/futimens.texi (futimens): Document the bug.
37793         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
37794
37795 2009-12-19  Bruno Haible  <bruno@clisp.org>
37796
37797         dprintf-posix: Check against memory leak fixed on 2009-12-15.
37798         * tests/test-dprintf-posix2.sh: New file.
37799         * tests/test-dprintf-posix2.c: New file.
37800         * modules/dprintf-posix-tests (Files): Add them.
37801         (configure.ac): Check for getrlimit and setrlimit.
37802         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
37803
37804 2009-12-19  Bruno Haible  <bruno@clisp.org>
37805
37806         fprintf-posix: Check against memory leak fixed on 2009-12-15.
37807         * tests/test-fprintf-posix3.sh: New file.
37808         * tests/test-fprintf-posix3.c: New file.
37809         * modules/fprintf-posix-tests (Files): Add them.
37810         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
37811
37812 2009-12-19  Eric Blake  <ebb9@byu.net>
37813
37814         dirfd: fix prototype
37815         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
37816         * lib/dirfd.c (dirfd): Likewise.
37817
37818         canonicalize: reduce memory usage
37819         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
37820         allocation to size.
37821         Reported by Solar Designer <solar@openwall.com>.
37822
37823 2009-12-19  Bruno Haible  <bruno@clisp.org>
37824
37825         New module attribute 'Applicability'.
37826         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
37827         * gnulib-tool: New option --extract-applicability.
37828         (func_usage): Document it.
37829         (sed_extract_prog): Recognize it.
37830         (func_get_applicability): New function.
37831         (func_import): Generalize handling of 'link-warning' module.
37832         * modules/link-warning (Applicability): New section.
37833         * modules/arg-nonnull (Applicability): New section.
37834         Repoted by Simon Josefsson <simon@josefsson.org>.
37835
37836 2009-12-19  Bruno Haible  <bruno@clisp.org>
37837
37838         fflush: tweak
37839         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
37840         * lib/fseeko.c (rpl_fseeko): Likewise.
37841
37842 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
37843
37844         * lib/gl_list.h: Fix typo in comment.
37845
37846 2009-12-16  Eric Blake  <ebb9@byu.net>
37847
37848         fcntl: use to simplify other modules
37849         * modules/cloexec (Depends-on): Add fcntl.
37850         * modules/fchdir (Depends-on): Likewise.
37851         * modules/fd-safer-flag (Depends-on): Likewise.
37852         * modules/unistd-safer (Depends-on): Likewise.
37853         * modules/dup3 (configure.ac): Set module indicator.
37854         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
37855         missing.
37856         * lib/fchdir.c (_gl_register_dup): Fix comment.
37857         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
37858         * lib/dup-safer.c (dup_safer): Likewise.
37859         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
37860         * lib/dup3.c (dup3): Likewise.
37861         * tests/test-fchdir.c (main): Enhance test.
37862         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
37863
37864         fcntl: port portions of fcntl to mingw
37865         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
37866         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
37867         replacement for mingw.
37868         * modules/fcntl (Description): Update.
37869         (Depends-on): Add dup2.
37870         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
37871         * modules/fcntl-h (Makefile.am): Substitute it.
37872         * lib/fcntl.in.h (fcntl): Update declaration.
37873         (F_DUPFD, F_GETFD): New macros, when needed.
37874         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
37875         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
37876         * tests/test-fcntl.c (check_flags, main): Enhance test for items
37877         we now guarantee.
37878
37879         fcntl: work around cygwin bug in F_DUPFD
37880         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
37881         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
37882         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
37883         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
37884         * doc/posix-functions/fcntl.texi (fcntl): Document it.
37885
37886         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
37887         * modules/fcntl (Files): List new files.
37888         (configure.ac): Run a test.
37889         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
37890         * lib/fcntl.c (rpl_fcntl): Likewise.
37891         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
37892         (gl_FCNTL_H): Always replace fcntl.h.
37893         * modules/fcntl-h (Makefile.am): Substitute witnesses.
37894         * lib/fcntl.in.h (fcntl): Declare replacement.
37895         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
37896         needed, plus a witness.
37897         * doc/posix-functions/fcntl.texi (fcntl): Document this.
37898         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
37899         * tests/test-fcntl.c: New file.
37900         * modules/fcntl-tests: Likewise.
37901
37902         binary-io: avoid potential compilation warning
37903         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
37904         directives.
37905
37906         fflush: avoid compilation error on NetBSD
37907         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
37908         between off_t and fpos_t, since the latter is sometimes a struct.
37909         * lib/fseeko.c (rpl_fseeko): Likewise.
37910         Reported by Alexander Nasonov <alnsn@yandex.ru>.
37911
37912 2009-12-15  Eric Blake  <ebb9@byu.net>
37913
37914         fcntl-h, stdio, sys_ioctl: fix declarations
37915         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
37916         function must not take arguments.
37917         * lib/sys_ioctl.in.h (ioctl): Likewise.
37918         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
37919         (open): Add a link warning.
37920
37921 2009-12-15  Jim Meyering  <meyering@redhat.com>
37922
37923         areadlink, areadlink-with-size: relax license to LGPLv2+
37924         * modules/areadlink (License): Relax to LGPLv2+.
37925         * modules/areadlink-with-size (License): Likewise.
37926
37927 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
37928             Bruno Haible  <bruno@clisp.org>
37929
37930         *printf: Fix memory leak.
37931         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
37932         * lib/vfprintf.c (vfprintf): Likewise.
37933         * lib/dprintf.c (dprintf): Likewise.
37934         * lib/vdprintf.c (vdprintf): Likewise.
37935
37936 2009-12-14  Eric Blake  <ebb9@byu.net>
37937
37938         accept4: adjust module dependencies
37939         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
37940
37941         utimens: one more try at avoiding compiler warning
37942         * lib/utimens.c (lutimens): Lower scope of result.
37943
37944 2009-12-13  Bruno Haible  <bruno@clisp.org>
37945
37946         Move the malloc checking from module 'list' to new module 'xlist'.
37947         * modules/xlist: New file.
37948         * lib/gl_xlist.h: New file.
37949         * lib/gl_xlist.c: New file.
37950         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
37951         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
37952         gl_list_add_last, gl_list_add_before, gl_list_add_after,
37953         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
37954         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
37955         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
37956         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
37957         gl_sortedlist_nx_add): New declarations.
37958         (struct gl_list_implementation): Rename and change methods accordingly.
37959         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
37960         (gl_list_nx_create): Renamed from gl_list_create.
37961         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
37962         (gl_list_nx_set_at): Renamed from gl_list_set_at.
37963         (gl_list_nx_add_first): Renamed from gl_list_add_first.
37964         (gl_list_nx_add_last): Renamed from gl_list_add_last.
37965         (gl_list_nx_add_before): Renamed from gl_list_add_before.
37966         (gl_list_nx_add_after): Renamed from gl_list_add_after.
37967         (gl_list_nx_add_at): Renamed from gl_list_add_at.
37968         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
37969         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
37970         gl_list_create_empty.
37971         (gl_list_nx_create): Renamed from gl_list_create.
37972         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
37973         (gl_list_nx_set_at): Renamed from gl_list_set_at.
37974         (gl_list_nx_add_first): Renamed from gl_list_add_first.
37975         (gl_list_nx_add_last): Renamed from gl_list_add_last.
37976         (gl_list_nx_add_before): Renamed from gl_list_add_before.
37977         (gl_list_nx_add_after): Renamed from gl_list_add_after.
37978         (gl_list_nx_add_at): Renamed from gl_list_add_at.
37979         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
37980         * lib/gl_array_list.c: Don't include xalloc.h.
37981         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
37982         NULL upon out-of-memory.
37983         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
37984         out-of-memory.
37985         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
37986         Change return type to 'int'.
37987         (gl_array_nx_set_at): Renamed from gl_array_set_at.
37988         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
37989         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
37990         upon out-of-memory.
37991         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
37992         upon out-of-memory.
37993         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
37994         upon out-of-memory.
37995         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
37996         upon out-of-memory.
37997         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
37998         out-of-memory.
37999         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
38000         Update.
38001         (gl_array_list_implementation): Update.
38002         * lib/gl_carray_list.c: Don't include xalloc.h.
38003         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
38004         Return NULL upon out-of-memory.
38005         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
38006         out-of-memory.
38007         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
38008         Change return type to 'int'.
38009         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
38010         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
38011         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
38012         upon out-of-memory.
38013         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
38014         upon out-of-memory.
38015         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
38016         out-of-memory.
38017         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
38018         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
38019         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
38020         Update.
38021         (gl_carray_list_implementation): Update.
38022         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
38023         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
38024         gl_linked_create_empty. Return NULL upon out-of-memory.
38025         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
38026         out-of-memory.
38027         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
38028         Change return type to 'int'. Return -1 upon out-of-memory.
38029         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
38030         out-of-memory.
38031         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
38032         upon out-of-memory.
38033         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
38034         upon out-of-memory.
38035         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
38036         NULL upon out-of-memory.
38037         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
38038         upon out-of-memory.
38039         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
38040         out-of-memory.
38041         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
38042         Update.
38043         * lib/gl_linked_list.c: Don't include xalloc.h.
38044         (gl_linked_list_implementation): Update.
38045         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
38046         (add_to_bucket): Change return type to 'int'.
38047         (gl_linkedhash_list_implementation): Update.
38048         * lib/gl_anytree_list1.h (free_subtree): New function.
38049         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
38050         gl_tree_create_empty. Return NULL upon out-of-memory.
38051         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
38052         Change return type to 'int'. Return -1 upon out-of-memory.
38053         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
38054         out-of-memory.
38055         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
38056         (gl_tree_remove_node): New function, moved here from
38057         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
38058         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
38059         Update.
38060         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
38061         malloc, not xmalloc. Return NULL upon out-of-memory.
38062         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
38063         out-of-memory.
38064         (gl_tree_remove_node_from_tree): New function, extracted from
38065         gl_tree_remove_node.
38066         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
38067         upon out-of-memory.
38068         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
38069         out-of-memory.
38070         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
38071         upon out-of-memory.
38072         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
38073         upon out-of-memory.
38074         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
38075         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
38076         not xmalloc. Return NULL upon out-of-memory.
38077         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
38078         out-of-memory.
38079         (gl_tree_remove_node_from_tree): New function, extracted from
38080         gl_tree_remove_node.
38081         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
38082         upon out-of-memory.
38083         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
38084         out-of-memory.
38085         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
38086         upon out-of-memory.
38087         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
38088         upon out-of-memory.
38089         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
38090         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
38091         gl_anytree_list1.h before gl_anyavltree_list2.h.
38092         (gl_avltree_list_implementation): Update.
38093         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
38094         gl_anytree_list1.h before gl_anyavltree_list2.h.
38095         (gl_rbtree_list_implementation): Update.
38096         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
38097         Change return type to 'int'. Return -1 upon out-of-memory. Use
38098         __builtin_expect.
38099         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
38100         (gl_avltreehash_list_implementation): Update.
38101         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
38102         (gl_rbtreehash_list_implementation): Update.
38103         * modules/array-list (Depends-on): Remove xalloc.
38104         * modules/carray-list (Depends-on): Likewise.
38105         * modules/linked-list (Depends-on): Likewise.
38106         * modules/linkedhash-list (Depends-on): Likewise.
38107         * modules/avltree-list (Depends-on): Likewise.
38108         * modules/rbtree-list (Depends-on): Likewise.
38109         * modules/avltreehash-list (Depends-on): Likewise.
38110         * modules/rbtreehash-list (Depends-on): Likewise.
38111
38112         * modules/xsublist: New file.
38113         * lib/gl_xsublist.h: New file.
38114         * lib/gl_xsublist.c: New file.
38115         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
38116         (gl_sublist_nx_create): New declaration.
38117         * lib/gl_sublist.c: Don't include xalloc.h.
38118         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
38119         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
38120         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
38121         Change return type to 'int'. Return -1 upon out-of-memory.
38122         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
38123         upon out-of-memory.
38124         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
38125         NULL upon out-of-memory.
38126         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
38127         upon out-of-memory.
38128         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
38129         NULL upon out-of-memory.
38130         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
38131         NULL upon out-of-memory.
38132         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
38133         upon out-of-memory.
38134         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
38135         (gl_sublist_list_implementation): Update.
38136         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
38137         upon out-of-memory.
38138         * modules/sublist (Depends-on): Remove xalloc.
38139
38140         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
38141         * tests/test-carray_list.c: Likewise.
38142         * tests/test-linked_list.c: Likewise.
38143         * tests/test-linkedhash_list.c: Likewise.
38144         * tests/test-avltree_list.c: Likewise.
38145         * tests/test-rbtree_list.c: Likewise.
38146         * tests/test-avltreehash_list.c: Likewise.
38147         * tests/test-rbtreehash_list.c: Likewise.
38148         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
38149         * modules/carray-list-tests (Makefile.am): Likewise.
38150         * modules/linked-list-tests (Makefile.am): Likewise.
38151         * modules/linkedhash-list-tests (Makefile.am): Likewise.
38152         * modules/avltree-list-tests (Makefile.am): Likewise.
38153         * modules/rbtree-list-tests (Makefile.am): Likewise.
38154         * modules/avltreehash-list-tests (Makefile.am): Likewise.
38155         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
38156
38157         * NEWS: Mention the changes.
38158
38159         * lib/clean-temp.c: Include gl_xlist.h.
38160         * modules/clean-temp (Depends-on): Add xlist.
38161
38162         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
38163         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
38164
38165         * tests/test-array_oset.c: Include gl_xlist.h.
38166         * modules/array-oset-tests (Depends-on): Add xlist.
38167
38168         Reported by José E. Marchesi <jemarch@gnu.org>.
38169
38170 2009-12-13  Bruno Haible  <bruno@clisp.org>
38171
38172         Move the malloc checking from module 'oset' to new module 'xoset'.
38173         * modules/xoset: New file.
38174         * lib/gl_xoset.h: New file.
38175         * lib/gl_xoset.c: New file.
38176         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
38177         declarations.
38178         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
38179         (struct gl_oset_implementation): Rename and change methods accordingly.
38180         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
38181         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
38182         'int'. Mark as __warn_unused_result__.
38183         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
38184         gl_oset_create_empty.
38185         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
38186         'int'.
38187         * lib/gl_array_oset.c: Don't include xalloc.h.
38188         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
38189         malloc, not xmalloc.
38190         (grow): Change return type to 'int'. Don't call xalloc_die.
38191         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
38192         to 'int'.
38193         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
38194         'int'.
38195         (gl_array_oset_implementation): Update.
38196         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
38197         gl_tree_create_empty.
38198         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
38199         'int'.
38200         * lib/gl_avltree_oset.c: Don't include xalloc.h.
38201         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
38202         xmalloc.
38203         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
38204         not xmalloc.
38205         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
38206         xmalloc.
38207         (gl_avltree_oset_implementation): Update.
38208         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
38209         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
38210         xmalloc.
38211         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
38212         not xmalloc.
38213         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
38214         xmalloc.
38215         (gl_rbtree_oset_implementation): Update.
38216         * modules/array-oset (Depends-on): Remove xalloc.
38217         * modules/avltree-oset (Depends-on): Likewise.
38218         * modules/rbtree-oset (Depends-on): Likewise.
38219         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
38220         * tests/test-avltree_oset.c: Likewise.
38221         * tests/test-rbtree_oset.c: Likewise.
38222         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
38223         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
38224         * modules/rbtree-oset-tests (Makefile.am): Likewise.
38225         * NEWS: Mention the change.
38226
38227 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
38228
38229         maint.mk: allow a project to override release-prep commands
38230         * top/maint.mk (alpha, beta, stable): Move release-preparatory
38231         commands into a new rule.
38232         (release-prep): New rule.
38233         (release-prep-hook): New overridable variable.
38234
38235 2009-12-13  Bruno Haible  <bruno@clisp.org>
38236
38237         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
38238
38239 2009-12-13  Jim Meyering  <meyering@redhat.com>
38240
38241         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
38242         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
38243
38244 2009-12-12  Bruno Haible  <bruno@clisp.org>
38245
38246         duplocale: Tweak.
38247         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
38248
38249 2009-12-12  Karl Berry  <karl@gnu.org>
38250
38251         * config/srclist.txt (strtoll.c): tab changes, no more sync.
38252
38253 2009-12-12  Bruno Haible  <bruno@clisp.org>
38254
38255         * m4/po.m4: Undo incorrect untabification.
38256
38257 2009-12-12  Bruno Haible  <bruno@clisp.org>
38258
38259         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
38260         * modules/c-strtod (Depends-on): Add locale.
38261         * modules/c-strtold (Depends-on): Likewise.
38262
38263 2009-12-12  Bruno Haible  <bruno@clisp.org>
38264
38265         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
38266
38267 2009-12-11  Eric Blake  <ebb9@byu.net>
38268
38269         setenv: relax requirement in light of POSIX ruling
38270         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
38271         not NULL.
38272         * tests/test-setenv.c (main): Relax test.
38273         * tests/test-unsetenv.c (main): Likewise.
38274         * doc/posix-functions/setenv.texi (setenv): Document this.
38275         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
38276
38277 2009-12-11  Bruno Haible  <bruno@clisp.org>
38278
38279         New module 'fd-safer-flag'.
38280         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
38281         * lib/dup-safer.c (dup_safer_flag): Remove function.
38282         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
38283         * lib/fd-safer.c (fd_safer_flag): Remove function.
38284         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
38285         * modules/cloexec (configure.ac): Drop indicator macro.
38286         * modules/fd-safer-flag: New file.
38287         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
38288         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
38289         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
38290
38291 2009-12-11  Bruno Haible  <bruno@clisp.org>
38292
38293         Tests for module 'nl_langinfo'.
38294         * modules/nl_langinfo-tests: New file.
38295         * tests/test-nl_langinfo.sh: New file.
38296         * tests/test-nl_langinfo.c: New file.
38297
38298         New module 'nl_langinfo'.
38299         * lib/nl_langinfo.c: New file.
38300         * m4/nl_langinfo.m4: New file.
38301         * modules/nl_langinfo: New file.
38302         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
38303
38304 2009-12-11  Bruno Haible  <bruno@clisp.org>
38305
38306         Tests for module 'langinfo'.
38307         * modules/langinfo-tests: New file.
38308         * tests/test-langinfo.c: New file.
38309
38310         New module 'langinfo'.
38311         * lib/langinfo.in.h: New file.
38312         * m4/langinfo_h.m4: New file.
38313         * modules/langinfo: New file.
38314         * doc/posix-headers/langinfo.texi: Mention the new module.
38315
38316 2009-12-11  Bruno Haible  <bruno@clisp.org>
38317
38318         * lib/config.charset: Untabify.
38319
38320 2009-12-11  Bruno Haible  <bruno@clisp.org>
38321
38322         * modules/unistd-safer (configure.ac): Drop indicator macro.
38323
38324 2009-12-11  Bruno Haible  <bruno@clisp.org>
38325
38326         Move pipe2-safer code to its own file.
38327         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
38328         * lib/pipe-safer.c (pipe2_safer): Remove function.
38329         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
38330         (Makefile.am): Add it to lib_SOURCES.
38331
38332 2009-12-10  Bruno Haible  <bruno@clisp.org>
38333
38334         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
38335
38336 2009-12-10  Bruno Haible  <bruno@clisp.org>
38337
38338         Declare which arguments expect non-NULL values, for GCC and clang.
38339         * build-aux/arg-nonnull.h: New file.
38340         * modules/arg-nonnull: New file.
38341         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
38342         (inet_ntop, inet_pton): Use it.
38343         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
38344         (closedir, dirfd, opendir, scandir, alphasort): Use it.
38345         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
38346         (open, openat): Use it.
38347         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
38348         (fnmatch): Use it.
38349         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
38350         (getopt, getopt_long, getopt_long_only): Use it.
38351         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
38352         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
38353         Use it.
38354         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
38355         (iconv_open): Use it.
38356         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
38357         (strtoimax, strtoumax): Use it.
38358         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
38359         (duplocale): Use it.
38360         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
38361         (frexp, frexpl): Use it.
38362         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
38363         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
38364         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
38365         (tsearch, tfind, tdelete, twalk): Use it.
38366         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
38367         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
38368         sigpending): Use it.
38369         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
38370         (posix_spawn, posix_spawnp, posix_spawnattr_init,
38371         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
38372         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
38373         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
38374         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
38375         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
38376         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
38377         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
38378         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
38379         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
38380         Use it.
38381         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
38382         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
38383         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
38384         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
38385         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
38386         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
38387         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
38388         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
38389         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
38390         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
38391         strtoull, unsetenv): Use it.
38392         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
38393         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
38394         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
38395         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
38396         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
38397         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
38398         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
38399         (strcasecmp, strncasecmp): Use it.
38400         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
38401         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
38402         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
38403         rpl_setsockopt): Use it.
38404         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
38405         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
38406         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
38407         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
38408         (gettimeofday): Use it.
38409         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
38410         (times): Use it.
38411         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
38412         (uname): Use it.
38413         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
38414         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
38415         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
38416         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
38417         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
38418         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
38419         unlinkat, write): Use it.
38420         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
38421         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
38422         * lib/argv-iter.h: Include arg-nonnull.h.
38423         (_ATTRIBUTE_NONNULL_): Remove macro.
38424         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
38425         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
38426         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
38427         optimization.
38428         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
38429         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
38430         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
38431         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
38432         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
38433         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
38434         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
38435         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
38436         * modules/arpa_inet (Depends-on): Add arg-nonnull.
38437         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
38438         * modules/dirent (Depends-on): Add arg-nonnull.
38439         (Makefile.am): Insert arg-nonnull.h into dirent.h.
38440         * modules/fcntl-h (Depends-on): Add arg-nonnull.
38441         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
38442         * modules/fnmatch (Depends-on): Add arg-nonnull.
38443         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
38444         * modules/getopt-posix (Depends-on): Add arg-nonnull.
38445         (Makefile.am): Insert arg-nonnull.h into getopt.h.
38446         * modules/glob (Depends-on): Add arg-nonnull.
38447         (Makefile.am): Insert arg-nonnull.h into glob.h.
38448         * modules/iconv_open (Depends-on): Add arg-nonnull.
38449         (Makefile.am): Insert arg-nonnull.h into iconv.h.
38450         * modules/inttypes (Depends-on): Add arg-nonnull.
38451         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
38452         * modules/locale (Depends-on): Add arg-nonnull.
38453         (Makefile.am): Insert arg-nonnull.h into locale.h.
38454         * modules/math (Depends-on): Add arg-nonnull.
38455         (Makefile.am): Insert arg-nonnull.h into math.h.
38456         * modules/netdb (Depends-on): Add arg-nonnull.
38457         (Makefile.am): Insert arg-nonnull.h into netdb.h.
38458         * modules/search (Depends-on): Add arg-nonnull.
38459         (Makefile.am): Insert arg-nonnull.h into search.h.
38460         * modules/signal (Depends-on): Add arg-nonnull.
38461         (Makefile.am): Insert arg-nonnull.h into signal.h.
38462         * modules/spawn (Depends-on): Add arg-nonnull.
38463         (Makefile.am): Insert arg-nonnull.h into spawn.h.
38464         * modules/stdio (Depends-on): Add arg-nonnull.
38465         (Makefile.am): Insert arg-nonnull.h into stdio.h.
38466         * modules/stdlib (Depends-on): Add arg-nonnull.
38467         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
38468         * modules/string (Depends-on): Add arg-nonnull.
38469         (Makefile.am): Insert arg-nonnull.h into string.h.
38470         * modules/strings (Depends-on): Add arg-nonnull.
38471         (Makefile.am): Insert arg-nonnull.h into strings.h.
38472         * modules/sys_socket (Depends-on): Add arg-nonnull.
38473         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
38474         * modules/sys_stat (Depends-on): Add arg-nonnull.
38475         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
38476         * modules/sys_time (Depends-on): Add arg-nonnull.
38477         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
38478         * modules/sys_times (Depends-on): Add arg-nonnull.
38479         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
38480         * modules/sys_utsname (Depends-on): Add arg-nonnull.
38481         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
38482         * modules/time (Depends-on): Add arg-nonnull.
38483         (Makefile.am): Insert arg-nonnull.h into time.h.
38484         * modules/unistd (Depends-on): Add arg-nonnull.
38485         (Makefile.am): Insert arg-nonnull.h into unistd.h.
38486         * modules/wchar (Depends-on): Add arg-nonnull.
38487         (Makefile.am): Insert arg-nonnull.h into wchar.h.
38488         * modules/argv-iter (Depends-on): Add arg-nonnull.
38489         * tests/test-canonicalize.c (null_ptr): New function.
38490         (main): Use it.
38491         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
38492         (main): Use it.
38493         * tests/test-memmem.c (null_ptr): New function.
38494         (main): Use it.
38495         Reported by Jim Meyering.
38496
38497 2009-12-10  Bruno Haible  <bruno@clisp.org>
38498
38499         Use spaces for indentation, not tabs.
38500         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
38501         * m4/*.m4: Untabify.
38502         * build-aux/*.h: Untabify.
38503         * tests/**/*.[hc]: Untabify.
38504         * README: New section "Indent with spaces, not TABs", based on
38505         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
38506         * NEWS: Mention the change.
38507
38508 2009-12-10  Bruno Haible  <bruno@clisp.org>
38509
38510         pty test: Fix link error.
38511         * modules/pty-tests (Makefile.am): Add the default LDADD value to
38512         test_pty_LDADD.
38513
38514 2009-12-07  Simon Josefsson  <simon@josefsson.org>
38515
38516         * modules/pty: New file.
38517         * modules/pty-tests: New file.
38518         * m4/pty.m4: New file.
38519         * tests/test-pty.c: New file.
38520         * doc/glibc-headers/pty.texi: Modified.
38521         * doc/glibc-functions/forkpty.texi: Modified.
38522         * doc/glibc-functions/openpty.texi: Modified.
38523
38524 2009-12-10  Bruno Haible  <bruno@clisp.org>
38525
38526         Avoid syntax error in C++ mode.
38527         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
38528
38529 2009-12-10  Bruno Haible  <bruno@clisp.org>
38530
38531         Use sed with option -e.
38532         * gnulib-tool (func_version, func_emit_copyright_notice,
38533         func_emit_initmacro_end, func_import, func_create_testdir): Pass
38534         option -e to sed.
38535         * modules/link-warning (Makefile.am): Likewise.
38536
38537 2009-12-10  Jim Meyering  <meyering@redhat.com>
38538
38539         mgetgroups: do not write bytes beyond end of malloc'd buffer
38540         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
38541         username, we call getgroups with a one-element-shorter buffer,
38542         but still told it the length was original, max_n_groups.
38543
38544 2009-12-09  Eric Blake  <ebb9@byu.net>
38545
38546         cloexec: relax license
38547         * modules/cloexec (Maintainer): Add myself.
38548         (License): Use LGPL, not GPL.
38549
38550         link-warning: optimize generation
38551         * modules/link-warning (Makefile.am): Reduce process usage.
38552
38553 2009-12-09  Bruno Haible  <bruno@clisp.org>
38554
38555         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
38556         workaround was added on 2009-11-17.
38557
38558 2009-12-09  Jim Meyering  <meyering@redhat.com>
38559             Bruno Haible  <bruno@clisp.org>
38560
38561         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
38562         * modules/link-warning (Makefile.am): Make the comment-removing sed
38563         command more robust in the face of bootstrap-prepended comment lines.
38564
38565 2009-12-09  Bruno Haible  <bruno@clisp.org>
38566
38567         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
38568         most one group.
38569
38570 2009-12-09  Simon Josefsson <simon@josefsson.org>
38571             Bruno Haible  <bruno@clisp.org>
38572
38573         * build-aux/link-warning.h: Add copyright notice.
38574         * modules/link-warning (Makefile.am): Generate link-warning.h from
38575         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
38576         * NEWS: Mention change in link-warning module.
38577         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
38578         * modules/dirent (Makefile.am): Add dependency to dirent.h.
38579         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
38580         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
38581         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
38582         * modules/math (Makefile.am): Add dependency to math.h.
38583         * modules/search (Makefile.am): Add dependency to search.h.
38584         * modules/signal (Makefile.am): Add dependency to signal.h.
38585         * modules/spawn (Makefile.am): Add dependency to spawn.h.
38586         * modules/stdio (Makefile.am): Add dependency to stdio.h.
38587         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
38588         * modules/string (Makefile.am): Add dependency to string.h.
38589         * modules/strings (Makefile.am): Add dependency to strings.h.
38590         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
38591         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
38592         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
38593         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
38594         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
38595         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
38596         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
38597         * modules/unistd (Makefile.am): Add dependency to unistd.h.
38598         * modules/wchar (Makefile.am): Add dependency to wchar.h.
38599
38600 2009-12-09  Bruno Haible  <bruno@clisp.org>
38601
38602         fchdir: Optimize away rpl_fstat when possible.
38603         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
38604         REPLACE_OPEN_DIRECTORY.
38605         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
38606
38607 2009-12-09  Bruno Haible  <bruno@clisp.org>
38608
38609         * lib/fchdir.c: Update comment.
38610
38611 2009-12-09  Bruno Haible  <bruno@clisp.org>
38612
38613         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
38614
38615 2009-12-08  Eric Blake  <ebb9@byu.net>
38616
38617         fchdir: avoid memory leak on re-registration.
38618         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
38619
38620 2009-12-08  Jim Meyering  <meyering@redhat.com>
38621
38622         init.sh: avoid Solaris 10 /bin/sh portability problem
38623         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
38624         sourced script:
38625           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
38626           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
38627           bar
38628         tests/init.sh relied on that, accepting a --set-path=DIR argument,
38629         and two tests used that idiom.
38630         * tests/init.sh: Update suggested usage comments.
38631         (path_prepend_): New function, to be used in place
38632         of the --src-path=DIR option.
38633         (setup_): Move PATH-prepending code into path_prepend_.
38634         * tests/test-pread.sh: Adapt to new usage.
38635         * tests/test-xalloc-die.sh: Likewise.
38636
38637 2009-12-08  Simon Josefsson  <simon@josefsson.org>
38638
38639         * doc/gnulib.texi (Glibc pty.h): Add.
38640         * doc/glibc-functions/forkpty.texi: Add.
38641         * doc/glibc-functions/openpty.texi: Add.
38642         Suggested by Bruno Haible.
38643
38644 2009-12-08  Eric Blake  <ebb9@byu.net>
38645
38646         fchdir: fix logic bugs
38647         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
38648         * tests/test-fchdir.c (main): Enhance test.
38649         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
38650         is in use.
38651
38652         dup2: fix logic bugs
38653         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
38654         REPLACE_DUP2 to decide when rpl_dup2 is needed.
38655         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
38656         exists.
38657         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
38658
38659 2009-12-07  Eric Blake  <ebb9@byu.net>
38660
38661         unlink: fix m4 detection
38662         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
38663
38664         unistd-safer: add unit test
38665         * modules/unistd-safer-tests: New file.
38666         * tests/test-dup-safer.c: Likewise.
38667         * tests/test-cloexec.c (setmode): Avoid compiler warning.
38668         * tests/test-dup2.c (setmode): Likewise.
38669         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
38670
38671         cloexec: preserve text vs. binary across dup_cloexec
38672         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
38673         mode.
38674         * modules/dup2-tests (Depends-on): Add binary-io.
38675         * modules/cloexec-tests (Depends-on): Likewise.
38676         * tests/test-dup2.c (setmode, is_mode): New helpers.
38677         (main): Add tests that translation mode is preserved.
38678         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
38679         Reported by Bruno Haible.
38680
38681         mgetgroups: reduce duplicate listings
38682         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
38683         resulting array.
38684         * tests/test-chown.h (test_chown): Simplify client.
38685         * tests/test-lchown.h (test_lchown): Likewise.
38686
38687 2009-12-06  Bruno Haible  <bruno@clisp.org>
38688
38689         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
38690         value.
38691
38692 2009-12-06  Bruno Haible  <bruno@clisp.org>
38693
38694         * lib/progname.c: Include stdio.h, stdlib.h.
38695         (set_program_name): Reject a NULL argument.
38696
38697 2009-12-05  Eric Blake  <ebb9@byu.net>
38698
38699         pipe2-safer: new module
38700         * modules/pipe2-safer: New file.
38701         * lib/unistd-safer.h (pipe2_safer): New prototype.
38702         * lib/unistd--.h (pipe2): New wrapper.
38703         * lib/pipe-safer.c (pipe2_safer): New function.
38704         * modules/pipe (Depends-on): Add pipe2-safer.
38705         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
38706
38707         stdlib-safer: preserve cloexec flag for mkostemp[s]
38708         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
38709         fd_safer_flag.
38710
38711         unistd-safer: allow preservation of cloexec status via flag
38712         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
38713         prototypes.
38714         * lib/dup-safer.c (dup_safer_flag): New function.
38715         * lib/fd-safer.c (fd_safer_flag): Likewise.
38716         * modules/cloexec (configure.ac): Set witness.
38717
38718         test-dup2: enhance test
38719         * modules/dup2-tests (Depends-on): Add cloexec.
38720         * tests/test-dup2.c (main): Enhance test.
38721
38722         cloexec: add dup_cloexec
38723         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
38724         header and comments.
38725         * lib/cloexec.c (set_cloexec_flag): Add comments.
38726         (dup_cloexec): New function, with mingw implementation borrowed
38727         from...
38728         * lib/w32spawn.h (dup_noinherit): ...here.
38729         * modules/execute (Depends-on): Add cloexec.
38730         * modules/pipe (Depends-on): Likewise.
38731         * modules/cloexec (Depends-on): Add dup2.
38732         * modules/cloexec-tests (Files): New file.
38733         * tests/test-cloexec.c: Likewise.
38734
38735         test-xalloc-die: fix test for mingw
38736         * modules/xalloc-die-tests (Files): Add tests/init.sh.
38737         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
38738         directory and .exe suffix off argv[0] output.
38739
38740         test-fseeko: fix test for mingw
38741         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
38742         than undefining fseek, so test will pass on mingw.
38743
38744 2009-12-05  Bruno Haible  <bruno@clisp.org>
38745
38746         * lib/progname.h (set_program_name): Clarify specification.
38747         * lib/progname.c (set_program_name): Likewise.
38748         Reported by Jim Meyering.
38749
38750 2009-12-05  Jim Meyering  <meyering@redhat.com>
38751
38752         maint.mk: backslash-escape parens in default regexp
38753         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
38754         backslash-escape the literal parentheses.
38755
38756         maint.mk: news-date-check: use grep -E
38757         * top/maint.mk (today): Define a Make variable, not a...
38758         (news-date-check): ...shell variable.
38759         (news-date-regexp): Use the Make variable.
38760         Use grep's -E option.  Change the failing diagnostic to mention
38761         the variable, $(news-date-regexp).
38762
38763 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
38764
38765         maintainer-makefile: allow customization of NEWS entry format
38766         * top/maint.mk (news-date-regexp): New overridable variable.
38767         (news-date-check): Use it.
38768
38769 2009-12-04  Eric Blake  <ebb9@byu.net>
38770
38771         mgetgroups: add xgetgroups, and avoid ENOSYS failures
38772         * lib/mgetgroups.h (xgetgroups): New prototype.
38773         * lib/mgetgroups.c (xgetgroups): New wrapper.
38774         (mgetgroups): Handle ENOSYS.
38775         * modules/mgetgroups (Depends-on): Add realloc.
38776         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
38777
38778         mgetgroups: avoid argument promotion issues with -1
38779         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
38780         for invalid gid_t.
38781         * tests/test-chown.h (getegid, test_chown): Likewise.
38782         * tests/test-lchown.h (getegid, test_lchown): Likewise.
38783
38784 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
38785
38786         exclude: Fix header file problems.
38787         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
38788
38789 2009-12-01  Jim Meyering  <meyering@redhat.com>
38790
38791         fts: fts_open: do not let an empty string cause immediate failure
38792         This is required in support of GNU rm, for which the command
38793         "rm A '' B" must process and remove both A and B, in spite of
38794         the empty string argument.
38795         * lib/fts.c (fts_open): Do not let the presence of an empty string
38796         cause fts_open to fail immediately.  Most fts-using tools must be
38797         able to process all arguments, in order, and can be expected to
38798         diagnose such arguments themselves.
38799
38800 2009-11-30  Eric Blake  <ebb9@byu.net>
38801
38802         utimens: fix compilation error
38803         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
38804         Declare variable at right scope.
38805
38806 2009-11-29  Jim Meyering  <meyering@redhat.com>
38807
38808         bootstrap: handle perl-5.11's changed --version output
38809         * build-aux/bootstrap (get_version): Handle perl separately,
38810         since perl-5.11's --version output is different.
38811
38812 2009-11-28  Jim Meyering  <meyering@redhat.com>
38813
38814         userspec: depend on the inttostr module, too
38815         * modules/userspec (Depends-on): Add inttostr.
38816
38817         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
38818         * lib/userspec.c (parse_with_separator): Do not accept a user ID
38819         number of MAXUID when it evaluates to (uid_t) -1.
38820         Likewise for group ID.  Reported by Matt McCutchen in
38821         <http://savannah.gnu.org/bugs/?28113>
38822
38823         userspec: reformat to use spaces, not TABs
38824         * lib/userspec.c: Expand TABs to spaces.
38825         Add Emacs' "indent-tabs-mode: nil" hint.
38826
38827 2009-11-27  Eric Blake  <ebb9@byu.net>
38828
38829         getopt-gnu: flush out another BSD bug
38830         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
38831         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
38832         flush out BSD bug.
38833         * tests/test-getopt.h (test_getopt): End lists with NULL.
38834         * tests/test-getopt_long.h (test_getopt_long): Likewise.
38835         (test_getopt_long_posix): Enhance test.
38836         * modules/getopt-posix-tests (Depends-on): Add stdbool.
38837         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
38838         getopt-gnu.
38839         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
38840         Likewise.
38841
38842 2009-11-27  Simon Josefsson  <simon@josefsson.org>
38843
38844         * modules/idpriv-droptemp-tests (Notice): Fix text.
38845
38846 2009-11-27  Jim Meyering  <meyering@redhat.com>
38847
38848         test-xalloc-die: avoid spurious failure due to libtool argv difference
38849         In a libtool-enabled project, this test would fail due to a difference
38850         in the emitted program name, e.g.,
38851         -test-xalloc-die: memory exhausted
38852         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
38853         Use program to avoid that.
38854         * modules/xalloc-die-tests (Depends-on): Add progname.
38855         * tests/test-xalloc-die.c: Include progname.h".
38856         (program_name): Remove decl.
38857         (main): Call set_program_name.
38858         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
38859
38860 2009-11-26  Richard Jones  <rjones@redhat.com>
38861
38862         w32sock: leave win32 error in place.
38863         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
38864
38865 2009-11-26  Eric Blake  <ebb9@byu.net>
38866
38867         init.sh: suggest to use skip_ and fail_ functions in comments
38868         * tests/init.sh: Add a sentence.
38869
38870 2009-11-25  Bruno Haible  <bruno@clisp.org>
38871
38872         init.sh: add documentation in comments
38873         * tests/init.sh: Add some developer and user documentation.
38874
38875 2009-11-26  Jim Meyering  <meyering@redhat.com>
38876
38877         init.sh: accommodate even those who specify bogus srcdir manually
38878         * tests/init.sh: Normally, srcdir is guaranteed by automake and
38879         configure-time tests to be sanitized, so that there is no need to
38880         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
38881         (with no double quotes) suffices.  However, since tests may be
38882         invoked manually, and since you may explicitly set srcdir to the
38883         name of a directory containing spaces, do quote its uses here.
38884         * tests/test-pread.sh: Likewise.
38885         Suggested by Bruno Haible.
38886
38887         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
38888         * tests/test-pread.sh: Write no data into the pipe, because
38889         test-pread actually reads none.  This avoids a diagnostic,
38890         "bash: echo: write error: Broken pipe", that arises in the unusual
38891         event something is ignoring SIGPIPE, and might be interpreted
38892         as some sort of failure.  Reported by Bruno Haible.
38893
38894 2009-11-25  Jim Meyering  <meyering@redhat.com>
38895
38896         test-pread: cover failure with ESPIPE and EINVAL
38897         * tests/test-pread.c (main): Test for failure, too.
38898         * tests/test-pread.sh: Invoke with stdin on a pipe.
38899         Suggested by Eric Blake.
38900
38901         pread: improvement and fix
38902         * modules/pread (Depends-on): Depend on lseek, for portability to
38903         e.g., mingw.  Suggested by Eric Blake.
38904         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
38905
38906         unistd.in.h: correct declaration of pread
38907         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
38908         Reported by Richard W.M. Jones.
38909
38910         test-pread.sh: distribute the test script
38911         * modules/pread-tests (Files): Include test-pread.sh.
38912
38913         test-pread.sh: clean up
38914         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
38915         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
38916         That is unnecessary, since it's always ".".
38917         Suggestion from Eric Blake.
38918
38919         test-pread.sh: make executable
38920         * tests/test-pread.sh: Set executable bit.
38921         Reported by Eric Blake.
38922
38923         correct typo in test-pread.sh
38924         * tests/test-pread.sh: Add #! line.
38925
38926         test pread
38927         * tests/test-pread.c: New file.
38928         * tests/test-pread.sh: Likewise.
38929         * modules/pread-tests: Likewise.
38930
38931         pread: new module
38932         * modules/pread: New file.
38933         * lib/unistd.in.h (pread): Define/declare.
38934         * lib/pread.c (pread): New file.
38935         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
38936         * modules/unistd (Makefile.am): Substitute witnesses.
38937         * doc/posix-functions/pread.texi (pread): Update.
38938         * MODULES.html.sh: Add pread.
38939
38940 2009-11-25  Jim Meyering  <meyering@redhat.com>
38941
38942         tests/init.sh: new file to be used via most *.sh tests
38943         * tests/init.sh: New file.
38944
38945 2009-11-25  Eric Blake  <ebb9@byu.net>
38946
38947         utimens: work around older Linux failure with symlinks
38948         * lib/utimens.c (lutimensat_works_really): New variable.
38949         (fdutimens, lutimens): Use it to manage kernels that support
38950         nanosecond times on files, but not on symlinks.
38951         Reported by OndÅ™ej Vašík.
38952
38953         utimes: fix configure grammar
38954         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
38955
38956 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
38957
38958         regex: Fix fastmap for multibyte character ranges.
38959         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
38960         characters when a multibyte character range is included.
38961
38962 2009-11-22  Andy Wingo  <wingo@pobox.com>
38963
38964         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
38965         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
38966
38967 2009-11-24  Bruno Haible  <bruno@clisp.org>
38968
38969         doc: Most *_l functions exist in MacOS X 10.5.
38970         * doc/posix-functions/duplocale.texi: Update platforms list.
38971         * doc/posix-functions/freelocale.texi: Likewise.
38972         * doc/posix-functions/newlocale.texi: Likewise.
38973         * doc/posix-functions/uselocale.texi: Likewise.
38974         * doc/posix-functions/isalnum_l.texi: Likewise.
38975         * doc/posix-functions/isalpha_l.texi: Likewise.
38976         * doc/posix-functions/isblank_l.texi: Likewise.
38977         * doc/posix-functions/iscntrl_l.texi: Likewise.
38978         * doc/posix-functions/isdigit_l.texi: Likewise.
38979         * doc/posix-functions/isgraph_l.texi: Likewise.
38980         * doc/posix-functions/islower_l.texi: Likewise.
38981         * doc/posix-functions/isprint_l.texi: Likewise.
38982         * doc/posix-functions/ispunct_l.texi: Likewise.
38983         * doc/posix-functions/isspace_l.texi: Likewise.
38984         * doc/posix-functions/isupper_l.texi: Likewise.
38985         * doc/posix-functions/iswalnum_l.texi: Likewise.
38986         * doc/posix-functions/iswalpha_l.texi: Likewise.
38987         * doc/posix-functions/iswblank_l.texi: Likewise.
38988         * doc/posix-functions/iswcntrl_l.texi: Likewise.
38989         * doc/posix-functions/iswctype_l.texi: Likewise.
38990         * doc/posix-functions/iswdigit_l.texi: Likewise.
38991         * doc/posix-functions/iswgraph_l.texi: Likewise.
38992         * doc/posix-functions/iswlower_l.texi: Likewise.
38993         * doc/posix-functions/iswprint_l.texi: Likewise.
38994         * doc/posix-functions/iswpunct_l.texi: Likewise.
38995         * doc/posix-functions/iswspace_l.texi: Likewise.
38996         * doc/posix-functions/iswupper_l.texi: Likewise.
38997         * doc/posix-functions/iswxdigit_l.texi: Likewise.
38998         * doc/posix-functions/isxdigit_l.texi: Likewise.
38999         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
39000         * doc/posix-functions/strcasecmp_l.texi: Likewise.
39001         * doc/posix-functions/strcoll_l.texi: Likewise.
39002         * doc/posix-functions/strfmon_l.texi: Likewise.
39003         * doc/posix-functions/strftime_l.texi: Likewise.
39004         * doc/posix-functions/strncasecmp_l.texi: Likewise.
39005         * doc/posix-functions/strxfrm_l.texi: Likewise.
39006         * doc/posix-functions/tolower_l.texi: Likewise.
39007         * doc/posix-functions/toupper_l.texi: Likewise.
39008         * doc/posix-functions/towctrans_l.texi: Likewise.
39009         * doc/posix-functions/towlower_l.texi: Likewise.
39010         * doc/posix-functions/towupper_l.texi: Likewise.
39011         * doc/posix-functions/wcscoll_l.texi: Likewise.
39012         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
39013         * doc/posix-functions/wctrans_l.texi: Likewise.
39014         * doc/posix-functions/wctype_l.texi: Likewise.
39015         * doc/glibc-functions/strptime_l.texi: Likewise.
39016         * doc/glibc-functions/strtod_l.texi: Likewise.
39017         * doc/glibc-functions/strtof_l.texi: Likewise.
39018         * doc/glibc-functions/strtol_l.texi: Likewise.
39019         * doc/glibc-functions/strtold_l.texi: Likewise.
39020         * doc/glibc-functions/strtoll_l.texi: Likewise.
39021         * doc/glibc-functions/strtoul_l.texi: Likewise.
39022         * doc/glibc-functions/strtoull_l.texi: Likewise.
39023         * doc/glibc-functions/wcsftime_l.texi: Likewise.
39024         * doc/glibc-functions/wcstod_l.texi: Likewise.
39025         * doc/glibc-functions/wcstof_l.texi: Likewise.
39026         * doc/glibc-functions/wcstol_l.texi: Likewise.
39027         * doc/glibc-functions/wcstold_l.texi: Likewise.
39028         * doc/glibc-functions/wcstoll_l.texi: Likewise.
39029         * doc/glibc-functions/wcstoul_l.texi: Likewise.
39030         * doc/glibc-functions/wcstoull_l.texi: Likewise.
39031
39032 2009-11-24  Bruno Haible  <bruno@clisp.org>
39033
39034         duplocale: Fix logic bug.
39035         * lib/duplocale.c: Don't include <langinfo.h>.
39036         (_NL_LOCALE_NAME): Remove macro.
39037         (rpl_duplocale): Use setlocale instead of nl_langinfo.
39038         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
39039
39040 2009-11-23  Jim Meyering  <meyering@redhat.com>
39041
39042         test-update-copyright: don't hard-code /usr/bin/perl
39043         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
39044         perl to print the current year.  Gilles Espinasse reported that
39045         the replaced use of perl was hard-coded as /usr/bin/perl.
39046
39047 2009-11-23  Bruno Haible  <bruno@clisp.org>
39048
39049         duplocale: Add support for glibc 2.3.x.
39050         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
39051
39052 2009-11-22  Bruno Haible  <bruno@clisp.org>
39053
39054         vasnprintf: Tiny optimization.
39055         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
39056         MacOS X.
39057
39058 2009-11-22  Bruno Haible  <bruno@clisp.org>
39059
39060         Tests for module 'duplocale'.
39061         * modules/duplocale-tests: New file.
39062         * tests/test-duplocale.c: New file.
39063
39064         New module 'duplocale'.
39065         * m4/duplocale.m4: New file.
39066         * lib/locale.in.h (duplocale): New declaration.
39067         * lib/duplocale.c: New file.
39068         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
39069         gl_LOCALE_H_DEFAULTS): New macros.
39070         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
39071         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
39072         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
39073         REPLACE_DUPLOCALE.
39074         * modules/duplocale: New file.
39075         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
39076
39077 2009-11-22  Bruno Haible  <bruno@clisp.org>
39078
39079         * modules/locale-tests (configure.ac): Test for newlocale function.
39080         * tests/test-locale.c: When the system has extended locale functions,
39081         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
39082
39083         locale: Make locale_t available when possible.
39084         * lib/locale.in.h: Include <xlocale.h> when it exists.
39085         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
39086         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
39087         * modules/locale (Depends-on): Add extensions.
39088         (Makefile.am): Also substitute HAVE_XLOCALE_H.
39089         * doc/posix-headers/locale.texi: Document the problem with locale_t.
39090
39091 2009-11-22  Bruno Haible  <bruno@clisp.org>
39092
39093         Add comments.
39094         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
39095         invocation.
39096         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
39097         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
39098         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
39099
39100 2009-11-22  Bruno Haible  <bruno@clisp.org>
39101
39102         error: account for the possibility of freopen (stdout).
39103         * lib/error.c: Include <unistd.h>.
39104         (flush_stdout): New function, extracted from error and error_at_line.
39105         Determine stdout's fd dynamically.
39106         (error, error_at_line): Invoke flush_stdout.
39107         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
39108         * modules/error (Depends-on): Add unistd.
39109
39110 2009-11-22  Bruno Haible  <bruno@clisp.org>
39111
39112         diffseq: Add comment.
39113         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
39114
39115 2009-11-22  Jim Meyering  <meyering@redhat.com>
39116
39117         c-stack: avoid defining an unused static function
39118         * lib/c-stack.c (find_stack_direction): Do not define this function
39119         when it will not be used.
39120
39121         diffseq: avoid spurious gcc warnings
39122         * lib/diffseq.h (IF_LINT2): Define.
39123         (compareseq): Use it to initialize two members of "part".
39124         This avoids two used-uninitialized warnings.
39125
39126 2009-11-21  Jim Meyering  <meyering@redhat.com>
39127
39128         c-stack: avoid "ignoring return value of `write'" warning
39129         * lib/c-stack.c: Include "ignore-value.h".
39130         (die): Explicitly ignore each write return value.
39131         * modules/c-stack (Depends-on): Add ignore-value.
39132
39133 2009-11-21  Bruno Haible  <bruno@clisp.org>
39134
39135         diffseq: reduce scope of variable 'best'.
39136         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
39137         variable, earlier used for two different purposes.
39138
39139 2009-11-21  Jim Meyering  <meyering@redhat.com>
39140
39141         diffseq: remove useless assignment to "best"
39142         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
39143         assignment.  At that point "best" is already guaranteed to be zero.
39144
39145 2009-11-20  Eric Blake  <ebb9@byu.net>
39146
39147         build: mention ftp redirector in release announcements
39148         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
39149         values that used to come from cfg.mk; mention FTP redirect URL.
39150         * build-aux/announce-gen: Mention the mirror list.
39151         Suggested by Karl Berry.
39152
39153         nanosleep: improve port to mingw
39154         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
39155         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
39156         LIB_NANOSLEEP, but only when needed.
39157         * modules/select (Link): Document LIBSOCKET.
39158         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
39159         enough.
39160
39161         nanosleep: work around cygwin bug
39162         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
39163         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
39164         bug.
39165         (getnow): Delete, not needed.
39166         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
39167         LIB_CLOCK_GETTIME.
39168         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
39169         clock-time, gettime.
39170         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
39171         bug.
39172         * modules/nanosleep-tests: New test.
39173         * tests/test-nanosleep.c: New file.
39174
39175         sleep: work around cygwin bug
39176         * lib/sleep.c (rpl_sleep): Work around the bug.
39177         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
39178         (gl_PREREQ_SLEEP): Delete unused macro.
39179         * modules/sleep (Depends-on): Add verify.
39180         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
39181         * modules/unistd (Makefile.am): Substitute witness.
39182         * lib/unistd.in.h (sleep): Update prototype.
39183         * doc/posix-functions/sleep.texi (sleep): Document the bug.
39184         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
39185         * modules/sleep-tests (Depends-on): Check for alarm.
39186
39187 2009-11-20  Jim Meyering  <meyering@redhat.com>
39188
39189         maint.mk: improve sc_prohibit_magic_number_exit
39190         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
39191         so it does not match uses like System.exit(1).
39192         Add comments showing how to correct all offenders.
39193
39194 2009-11-19  Eric Blake  <ebb9@byu.net>
39195
39196         xalloc-die-tests: add missing library
39197         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
39198
39199         test-xvasprintf: silence compiler warnings
39200         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
39201         empty string from gcc.
39202
39203 2009-11-19  Jim Meyering  <meyering@redhat.com>
39204
39205         xfreopen: new module, from coreutils
39206         * modules/xfreopen: New module.
39207         * lib/xfreopen.c: New file.
39208         * lib/xfreopen.h: New file.
39209         * MODULES.html.sh (File stream based Input/Output"): Add it.
39210
39211 2009-11-19  Eric Blake  <ebb9@byu.net>
39212
39213         manywarnings: depend on warnings
39214         * modules/manywarnings (Depends-on): Add warnings.
39215
39216         build: avoid compiler warnings
39217         * lib/select.c (rpl_select): Delete unused variable.
39218         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
39219
39220 2009-11-18  Eric Blake  <ebb9@byu.net>
39221
39222         tests: avoid false negative with --with-packager
39223         * tests/test-version-etc.sh: Discard packager information.
39224         * tests/test-argp-version-etc-1.sh: Likewise.
39225         Reported by Mike Frysinger.
39226
39227         utimens: fix regression on Solaris
39228         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
39229         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
39230         can only change fd timestamps via futimesat.  Instead, use an
39231         additional witness macro to avoid BSD bug.
39232         Reported by Jim Meyering.
39233
39234 2009-11-17  Eric Blake  <ebb9@byu.net>
39235
39236         usleep: use it to simplify tests
39237         * modules/stat-time-tests (Depends-on): Add usleep.
39238         (configure.ac): Drop usleep check.
39239         * modules/chown-tests (Depends-on, configure.ac): Likewise.
39240         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
39241         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
39242         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
39243         * modules/openat-tests (Depends-on, configure.ac): Likewise.
39244         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
39245         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
39246         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
39247         Likewise.
39248         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
39249         * tests/test-lchown.h (nap): Likewise.
39250         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
39251         * tests/test-stat-time.c (nap): Likewise.
39252         * tests/test-utimens-common.h (nap): Update comments.
39253
39254         usleep: new module
39255         * modules/usleep: New file.
39256         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
39257         * lib/usleep.c (usleep): Likewise.
39258         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
39259         * modules/unistd (Makefile.am): Substitute witnesses.
39260         * lib/unistd.in.h (usleep): Add declaration.
39261         * doc/pastposix-functions/usleep.texi (usleep): Document this.
39262         * MODULES.html.sh (Date and time): Likewise.
39263         * modules/usleep-tests (Depends-on): New test.
39264         * tests/test-usleep.c: New file.
39265
39266         chown: work around OpenBSD bug
39267         * lib/chown.c (rpl_chown): Work around the bug.
39268         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
39269         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
39270         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
39271         * modules/chown (Depends-on): Add stdbool.
39272         * modules/lchown (Depends-on): Likewise.
39273         * doc/posix-functions/chown.texi (chown): Document the bug.
39274         * doc/posix-functions/lchown.texi (lchown): Likewise.
39275         * tests/test-lchown.h (test_chown): Relax test.
39276
39277         mkstemp: avoid conflict with C++ keyword template
39278         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
39279         * lib/mkostemp.c (mkostemp): Likewise.
39280         * lib/mkostemps.c (mkostemps): Likewise.
39281         * lib/mkstemp.c (mkstemp): Likewise.
39282         * lib/mkstemps.c (mkstemps): Likewise.
39283
39284         xalloc-die-tests: optimize
39285         * tests/test-xalloc-die.sh: Reduce number of processes.
39286
39287 2009-11-17  Simon Josefsson  <simon@josefsson.org>
39288
39289         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
39290         patch from ludo@gnu.org (Ludovic Courtès).
39291
39292 2009-11-17  Jim Meyering  <meyering@redhat.com>
39293
39294         version-etc: use proper license string
39295         * modules/version-etc (License): Use LGPL, not LGPLv3+.
39296         * modules/version-etc-fsf: Likewise.
39297
39298 2009-11-17  Simon Josefsson  <simon@josefsson.org>
39299
39300         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
39301         printed to stdout.  Deal with EOL differences.
39302
39303 2009-11-17  Eric Blake  <ebb9@byu.net>
39304
39305         unsetenv: work around Solaris bug
39306         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
39307         * lib/unsetenv.c (rpl_unsetenv): Work around it.
39308         Reported by Jim Meyering.
39309
39310         vasnprintf: avoid compiler warnings
39311         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
39312         variables.
39313         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
39314
39315 2009-11-17  Simon Josefsson  <simon@josefsson.org>
39316
39317         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
39318         settings since xalloc-die is no longer the self test,
39319         xalloc-die.sh is.
39320
39321 2009-11-17  Jim Meyering  <meyering@redhat.com>
39322
39323         test-xalloc-die.sh: make the code agree with the commit log
39324         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
39325         at the end, just in case you happen to have a test-xalloc-die
39326         program in some other PATH directory.
39327
39328         test-xalloc-die.sh: fix a portability bug
39329         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
39330         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
39331         Otherwise, argv[0] (as often seen in diagnostics) would be too
39332         system-dependent, sometimes with, and sometimes without the leading "./".
39333
39334         version-etc-fsf: relax license to LGPLv3+
39335         * modules/version-etc-fsf (License): Relax license.
39336
39337 2009-11-16  Eric Blake  <ebb9@byu.net>
39338
39339         xalloc-die-tests: avoid printing null pointer
39340         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
39341         shell script.
39342         * tests/test-xalloc-die.c (program_name): Declare.
39343         * tests/test-xalloc-die.sh (tmpfiles): New file.
39344
39345         setenv, unsetenv: work around various bugs
39346         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
39347         (setenv) [HAVE_SETENV]: Work around bugs.
39348         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
39349         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
39350         for bugs.
39351         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
39352         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
39353         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
39354         * modules/stdlib (Makefile.am): Update substitutions.
39355         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
39356         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
39357         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
39358         * modules/setenv-tests: New test.
39359         * modules/unsetenv-tests: Likewise.
39360         * tests/test-setenv.c: New file.
39361         * tests/test-unsetenv.c: Likewise.
39362
39363 2009-11-16  Jim Meyering  <meyering@redhat.com>
39364
39365         version-etc: relax license to LGPLv3+
39366         * modules/version-etc (License): Relax license.
39367
39368         better AC_REQUIRE expanded-before-required-warning avoidance
39369         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
39370         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
39371         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
39372         which is no longer needed.
39373
39374 2009-11-16  Eric Blake  <ebb9@byu.net>
39375
39376         test-freading: clean up temporary file
39377         * tests/test-freading.c (main): Remove file on success, and use
39378         ASSERT more liberally.
39379         Reported by Jim Meyering.
39380
39381 2009-11-16  Jim Meyering  <meyering@redhat.com>
39382
39383         avoid new AC_REQUIRE expanded-before-required warnings
39384         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
39385         merely using it.
39386         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
39387         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
39388
39389 2009-11-15  Simon Josefsson  <simon@josefsson.org>
39390
39391         * tests/test-xalloc-die.c: New file.
39392         * modules/xalloc-die-tests: New file.
39393         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
39394         XFAIL_TESTS so it can be appended by modules.
39395
39396 2009-11-15  Simon Josefsson  <simon@josefsson.org>
39397
39398         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
39399         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
39400
39401 2009-11-14  Eric Blake  <ebb9@byu.net>
39402
39403         fnmatch: avoid compiler warning
39404         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
39405         to silence compiler warning about mismatch signedness in ?:.
39406         Reported by Robert Millan.
39407
39408         intprops: add double-inclusion guard
39409         * lib/intprops.h: Allow idempotent includes.
39410         Suggested by Bruce Korb.
39411
39412         openat: detect Solaris fchownat bug
39413         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
39414         penalizing glibc chownat when only lchownat is broken.
39415         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
39416         trailing slash bugs.
39417         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
39418         * modules/openat-tests (Files): Include more files.
39419         (Depends-on): Add mgetgroups, sleep, stat-time.
39420         (configure.ac): Add additional checks.
39421         (Makefile.am): Build new test.
39422         * tests/test-fchownat.c: New file.
39423
39424         lchown: detect Solaris and FreeBSD bug
39425         * lib/lchown.c (rpl_lchown): Work around bug.
39426         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
39427         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
39428         * modules/unistd (Makefile.am): Populate it.
39429         * lib/unistd.in.h (lchown): Update declaration.
39430         * doc/posix-functions/lchown.texi (lchown): Document the bug.
39431         * modules/lchown-tests: New file.
39432         * tests/test-lchown.h (test_lchown): Likewise.
39433         * tests/test-lchown.c (main): Likewise.
39434
39435         chown: detect Solaris and FreeBSD bug
39436         * lib/chown.c (rpl_chown): Work around bug.
39437         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
39438         (gl_PREREQ_CHOWN): Delete.
39439         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
39440         * modules/unistd (Makefile.am): Populate it.
39441         * lib/unistd.in.h (chown): Update declaration.
39442         * lib/lchown.c (chown): Update client.
39443         * modules/lchown (Depends-on): Add lstat.
39444         * doc/posix-functions/chown.texi (chown): Document the bug.
39445         * doc/posix-functions/getgroups.texi (getgroups): Document
39446         getgroups pitfall.
39447         * modules/chown-tests: New file.
39448         * tests/test-chown.h (test_chown): Likewise.
39449         * tests/test-chown.c (main): Likewise.
39450
39451 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
39452
39453         gnulib-tool: correctly detect absence of m4 directories
39454         * gnulib-tool: Avoid extra newline on data passed to wc -l.
39455
39456 2009-11-14  Jim Meyering  <meyering@redhat.com>
39457
39458         maint.mk: Prohibit inclusion of "xalloc.h" without use.
39459         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
39460
39461 2009-11-14  John W. Eaton  <jwe@gnu.org>
39462
39463         strftime.h: wrap function declaration in extern "C" block
39464         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
39465
39466 2009-11-13  Eric Blake  <ebb9@byu.net>
39467
39468         getgroups: avoid compiler warning
39469         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
39470
39471         getgroups: work around FreeBSD bug
39472         * lib/getgroups.c (rpl_getgroups): Work around the bug.
39473         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
39474         * doc/posix-functions/getgroups.texi (getgroups): Document it.
39475         * tests/test-getgroups.c (main): Fix buffer overrun.
39476
39477         getgroups: avoid compilation failure
39478         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
39479         * modules/getgroups (Depends-on): Add stdint.
39480
39481 2009-11-13  Jim Meyering  <meyering@redhat.com>
39482
39483         test-getgroups: avoid compilation failure
39484         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
39485
39486 2009-11-13  Eric Blake  <ebb9@byu.net>
39487
39488         mgetgroups: new module, taken from coreutils
39489         * modules/mgetgroups: New file.
39490         * lib/mgetgroups.h: Likewise.
39491         * lib/mgetgroups.c (mgetgroups): Likewise.
39492         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
39493         * MODULES.html.sh (Users and groups): Mention it.
39494
39495         getgroups: don't expose GETGROUPS_T to user
39496         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
39497         an element at a time if GETGROUPS_T is wrong size.
39498         * lib/getugroups.h (getugroups): Change signature.
39499         * lib/unistd.in.h (getgroups): Likewise.
39500         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
39501         signature needs fixing.
39502         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
39503         AC_TYPE_GETGROUPS.
39504         * modules/group-member (Depends-on): Add getgroups.
39505         * lib/group-member.c (group_info, get_group_info): Use gid_t.
39506         (group_member): Rely on getgroups replacement.
39507         * lib/getugroups.c (getugroups): Use gid_t.
39508         * tests/test-getgroups.c (main): Likewise.
39509         * NEWS: Mention the signature change.
39510         * doc/posix-functions/getgroups.texi (getgroups): Mention the
39511         problem with signature.
39512         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
39513         GETGROUPS_T is still useful for setgroups.
39514
39515         getgroups, getugroups: provide stubs for mingw
39516         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
39517         * lib/getugroups.c (getugroups): Likewise.
39518         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
39519         function.  Modernize replacement scheme.
39520         (gl_PREREQ_GETGROUPS): Delete.
39521         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
39522         * modules/getgroups (configure.ac): Declare witness.
39523         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
39524         * modules/unistd (Depends-on): Substitute witness.
39525         * lib/unistd.in.h (getgroups): Declare replacement.
39526
39527         getgroups: avoid calling exit
39528         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
39529         drop xalloc.
39530         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
39531         dependencies.
39532         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
39533         exiting, in the rare case of malloc failure.
39534
39535         getgroups: fix logic error
39536         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
39537         has more than 20 groups.
39538         * modules/getgroups-tests: New test.
39539         * tests/test-getgroups.c: New file.
39540
39541 2009-11-13  Simon Josefsson  <simon@josefsson.org>
39542
39543         * tests/test-base64.c: Improve.
39544
39545 2009-11-13  Simon Josefsson  <simon@josefsson.org>
39546
39547         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
39548         Blake <ebb9@byu.net>.
39549
39550 2009-11-13  Simon Josefsson  <simon@josefsson.org>
39551
39552         * tests/test-xvasprintf.c: Add %s%s related checks.
39553
39554 2009-11-12  Eric Blake  <ebb9@byu.net>
39555
39556         version-etc: match standards.texi style
39557         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
39558         and use <> only for URLs.
39559
39560 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
39561
39562         fts: do not fail on a submount during traversal
39563         * lib/fts.c (fts_build): Read the stat info again after opening
39564         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
39565         Original report at http://bugzilla.redhat.com/501848.
39566
39567 2009-11-12  Jim Meyering  <meyering@redhat.com>
39568
39569         bootstrap: sync from coreutils
39570         * build-aux/bootstrap (bootstrap_epilogue): New function.
39571         Use git_modules_config in one more place.  This make bootstrap's
39572         --gnulib-srcdir option more useful for testing.
39573
39574         bootstrap: generalize autoheader check
39575         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
39576         AC_CONFIG_HEADERS.
39577
39578 2009-11-11  Eric Blake  <ebb9@byu.net>
39579
39580         mkfifoat: use new modules for Solaris and BSD bugs
39581         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
39582         * lib/mkfifoat.c (mknodat): Split...
39583         * lib/mknodat.c (mknodat): ...into new file.
39584         * modules/mkfifoat (Files): Ship new file.
39585         (Depends-on): Add mkfifo, mknod.
39586         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
39587         (Depends-on): Add symlink.
39588         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
39589         redundant with test_mkfifo.h.
39590         (do_mkfifoat, do_mknodat): New helpers.
39591
39592         mknod: new module
39593         * modules/mknod: New file.
39594         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
39595         * lib/mknod.c (mknod): Likewise.
39596         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
39597         defaults.
39598         * modules/sys_stat (Makefile.am): Substitute them.
39599         * lib/sys_stat.in.h (mknod): Declare replacement.
39600         * MODULES.html.sh (Support for systems lacking POSIX:2008):
39601         Document it.
39602         * doc/posix-functions/mknod.texi (mknod): Likewise.
39603         * modules/mknod-tests: New test.
39604         * tests/test-mknod.c: Likewise.
39605
39606         mkfifo: new module
39607         * modules/mkfifo: New file.
39608         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
39609         * lib/mkfifo.c (mkfifo): Likewise.
39610         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
39611         defaults.
39612         * modules/sys_stat (Makefile.am): Substitute them.
39613         * lib/sys_stat.in.h (mkfifo): Declare replacement.
39614         * MODULES.html.sh (Support for systems lacking POSIX:2008):
39615         Document it.
39616         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
39617         * modules/mkfifo-tests: New test.
39618         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
39619         from test-mkfifoat.c.
39620         * tests/test-mkfifo.c: New file.
39621
39622         readlink: detect FreeBSD bug
39623         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
39624         slash on symlink.
39625         * doc/posix-functions/readlink.texi (readlink): Document the bug.
39626         * tests/test-readlink.h (test_readlink): Enhance test.
39627
39628         symlink: detect FreeBSD bug
39629         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
39630         slash on symlink.
39631         * doc/posix-functions/symlink.texi (symlink): Document the bug.
39632         * tests/test-symlink.h (test_symlink): Enhance test.
39633
39634 2009-11-10  Eric Blake  <ebb9@byu.net>
39635
39636         link: detect FreeBSD bug
39637         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
39638         symlink.
39639         * doc/posix-functions/link.texi (link): Document the bug.
39640         * tests/test-link.h (test_link): Enhance test.
39641         * tests/test-linkat.c (main): Update caller.
39642
39643         unlink, remove: detect FreeBSD bug
39644         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
39645         slash on symlink.
39646         * doc/posix-functions/unlink.texi (unlink): Document the bug.
39647         * doc/posix-functions/remove.texi (remove): Likewise.
39648         * tests/test-unlink.h (test_unlink): Enhance test.
39649         * tests/test-remove.c (main): Likewise.
39650
39651 2009-11-09  Eric Blake  <ebb9@byu.net>
39652
39653         rename: detect FreeBSD bug
39654         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
39655         slash on symlink.
39656         * modules/renameat-tests (Depends-on): Add filenamecat.
39657         * tests/test-rename.h (test_rename): Allow one more errno.
39658         * tests/test-renameat.c (main): Likewise.
39659         * doc/posix-functions/rename.texi (rename): Document the bug.
39660
39661         open: detect FreeBSD bug
39662         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
39663         symlink.
39664         * doc/posix-functions/open.texi (open): Document the bug.
39665         * doc/posix-functions/utimes.texi (utimes): Likewise.
39666         * tests/test-open.h (test_open): Add parameters, and test symlink
39667         handling.
39668         * tests/test-open.c (main): Adjust caller.
39669         * tests/test-fcntl-safer.c (main): Likewise.
39670         * modules/open-tests (Depends-on): Add stdbool, symlink.
39671         * modules/fcntl-safer-tests (Depends-on): Likewise.
39672         * tests/test-openat.c (main): Add test-open tests.
39673
39674         stat: detect FreeBSD bug
39675         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
39676         symlink.
39677         * doc/posix-functions/stat.texi (stat): Document the bug.
39678         * tests/test-stat.h (test_stat_func): Add argument.
39679         * tests/test-stat.c (main): Adjust caller.
39680         * tests/test-fstatat.c (main): Likewise.
39681         * modules/stat-tests (Depends-on): Add stdbool, symlink.
39682         Reported by Jim Meyering.
39683
39684 2009-11-09  James Youngman  <jay@gnu.org>
39685
39686         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
39687         * lib/strftime.c: Correct placement of #include "ignore-value.h".
39688
39689 2009-11-08  Jim Meyering  <meyering@redhat.com>
39690
39691         utimens: remove invalid futimesat call
39692         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
39693         It used the file descriptor of the target file as the DIR_FD
39694         parameter and NULL as the file name.  That caused failure with
39695         errno == EFAULT on FreeBSD-8.0-rc2
39696
39697 2009-11-07  Eric Blake  <ebb9@byu.net>
39698
39699         fflush, freadseek: use fseeko, not fseek
39700         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
39701         (clear_ungetc_buffer): Avoid potential problems on large files.
39702         * lib/freadseek.c (freadseek): Likewise.
39703         * modules/freadseek (Depends-on): Add fseeko.
39704         * modules/fseek (configure.ac): Set a witness.
39705         * tests/test-fflush.c (main): Use fseeko.
39706         * tests/test-fpurge.c (fseek): Disable link warning.
39707         * tests/test-freadable.c (fseek): Likewise.
39708         * tests/test-freading.c (fseek): Likewise.
39709         * tests/test-fseeko.c (fseek): Likewise.
39710         * tests/test-ftell.c (fseek): Likewise.
39711         * tests/test-ftello.c (fseek): Likewise.
39712         * tests/test-fwritable.c (fseek): Likewise.
39713         * tests/test-fwriting.c (fseek): Likewise.
39714
39715 2009-11-06  Simon Josefsson  <simon@josefsson.org>
39716
39717         * modules/memchr (Depends-on): Drop getpagesize dependency.
39718
39719 2009-11-06  Simon Josefsson  <simon@josefsson.org>
39720
39721         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
39722         Reported by Ludovic Courtès.
39723         * build-aux/pmccabe2html: Improve example usage.
39724         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
39725
39726 2009-11-06  Jim Meyering  <meyering@redhat.com>
39727
39728         do-release-commit-and-tag: New module.
39729         Automate the release-commit and tag process.
39730         * build-aux/do-release-commit-and-tag: New script, from coreutils.
39731         * modules/do-release-commit-and-tag: New file.
39732         * MODULES.html.sh (Support for maintaining and releasing): Add it.
39733
39734 2009-11-06  Simon Josefsson  <simon@josefsson.org>
39735
39736         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
39737         because test-select.c uses inet_pton.
39738
39739 2009-11-06  Simon Josefsson  <simon@josefsson.org>
39740
39741         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
39742         GETADDRINFO_LIB.  Bump serial number.
39743         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
39744         Suggested by Eric Blake <ebb9@byu.net>.
39745
39746 2009-11-05  Eric Blake  <ebb9@byu.net>
39747
39748         strtod: detect darwin bug
39749         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
39750         Reported by Leo Davis.
39751
39752         freopen-safer: new module
39753         * modules/freopen-safer: New module.
39754         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
39755         * lib/freopen-safer.c (freopen_safer): New file.
39756         * lib/stdio-safer.h (freopen_safer): New declaration.
39757         * lib/stdio--.h (freopen): New override.
39758         * MODULES.html.sh (File stream based Input/Output): Mention it.
39759         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
39760         freopen-safer module.
39761         * doc/posix-functions/stderr.texi (stderr): Likewise.
39762         * doc/posix-functions/stdin.texi (stdin): Likewise.
39763         * doc/posix-functions/stdout.texi (stdout): Likewise.
39764         * modules/freopen-safer-tests: New test.
39765         * tests/test-reopen-safer.c: New file.
39766
39767 2009-11-05  Jim Meyering  <meyering@redhat.com>
39768
39769         maint.mk: Prohibit inclusion of "close-stream.h" without use.
39770         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
39771
39772 2009-11-05  Simon Josefsson  <simon@josefsson.org>
39773
39774         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
39775
39776 2009-11-05  Simon Josefsson  <simon@josefsson.org>
39777
39778         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
39779
39780 2009-11-05  Simon Josefsson  <simon@josefsson.org>
39781
39782         Fix link error.
39783         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
39784         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
39785
39786 2009-11-05  Simon Josefsson  <simon@josefsson.org>
39787
39788         * tests/test-func.c: Also test value of __func__.
39789
39790 2009-11-05  Simon Josefsson  <simon@josefsson.org>
39791
39792         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
39793         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
39794
39795 2009-11-05  Bruno Haible  <bruno@clisp.org>
39796
39797         Fix link error.
39798         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
39799         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
39800         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
39801
39802 2009-11-05  Bruno Haible  <bruno@clisp.org>
39803
39804         Tests for module 'inet_pton'.
39805         * modules/inet_pton-tests: New file.
39806         * tests/test-inet_pton.c: New file.
39807
39808 2009-11-05  Bruno Haible  <bruno@clisp.org>
39809
39810         Tests for module 'inet_ntop'.
39811         * modules/inet_ntop-tests: New file.
39812         * tests/test-inet_ntop.c: New file.
39813
39814 2009-11-04  Eric Blake  <ebb9@byu.net>
39815
39816         stdlib-safer: wrap all mkstemp variants
39817         * modules/mkostemp (configure.ac): Set witness.
39818         * modules/mkostemps (configure.ac): Likewise.
39819         * modules/mkstemps (configure.ac): Likewise.
39820         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
39821         (mkstemps_safer): Wrap more functions.
39822         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
39823         wrapping.
39824         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
39825         (mkstemps_safer): Implement the wrappers.
39826
39827         mkstemps, mkostemps: new modules
39828         * modules/mkostemps: New module.
39829         * modules/mkstemps: Likewise.
39830         * lib/mkostemps.c (mkostemps): New file.
39831         * lib/mkstemps.c (mkstemps): Likewise.
39832         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
39833         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
39834         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
39835         * modules/stdlib (Makefile.am): Substitute them.
39836         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
39837         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
39838         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
39839         * doc/gnulib.texi (Glibc stdlib.h): Include them.
39840         * MODULES.html.sh (File system functions): Mention them.
39841
39842         tempname: resync from glibc
39843         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
39844         same values for __GT_FILE as glibc.  Abort even when assertions
39845         are disabled.
39846         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
39847         match its value otherwise.  Allow idempotent inclusion.
39848         * lib/mkdtemp.c (mkdtemp): Adjust caller.
39849         * lib/mkostemp.c (mkostemp): Likewise.
39850         * lib/mkstemp.c (mkstemp): Likewise.
39851         * lib/tmpfile.c (tmpfile): Likewise.
39852         * NEWS: Document this.
39853
39854         utimens: fix use of futimens on older Linux
39855         * lib/utimens.c (fdutimens): Use updated, rather than original,
39856         timespec to avoid bug in older Linux kernel.
39857         Reported by Simon Josefsson.
39858
39859 2009-11-04  Bruno Haible  <bruno@clisp.org>
39860
39861         Make num_processors more flexible and consistent.
39862         * lib/nproc.h (enum nproc_query): New type.
39863         (num_processors): Add a 'query' argument.
39864         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
39865         (num_processors): Add a 'query' argument. Test the value of the
39866         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
39867         mingw, count the number of CPUs available for the current process.
39868         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
39869         Check for sched_getaffinity and sched_getaffinity_np.
39870         * modules/nproc (Depends-on): Add c-ctype, extensions.
39871         * NEWS: Mention the change.
39872
39873 2009-11-03  Bruno Haible  <bruno@clisp.org>
39874
39875         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
39876
39877 2009-11-03  Jim Meyering  <meyering@redhat.com>
39878
39879         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
39880         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
39881         if it is defined.
39882
39883 2009-11-02  Eric Blake  <ebb9@byu.net>
39884
39885         mktime, timegm: share common declaration
39886         * lib/mktime-internal.h: New file.
39887         * lib/mktime.c: Use it rather than open-coding a declaration.
39888         * lib/timegm.c: Likewise.
39889         * modules/mktime (Files): Ship it.
39890         * modules/timegm (Files): Likewise.
39891         Suggested by Bruno Haible.
39892
39893         test-update-copyright: update test to match script changes
39894         * tests/test-update-copyright.sh: Avoid hard-coding perl
39895         location.  Don't update *.bak created by earlier runs.
39896
39897 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
39898             Simon Josefsson  <simon@josefsson.org>
39899             Bruno Haible  <bruno@clisp.org>
39900
39901         Fix link error on Solaris 8.
39902         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
39903         also in libnsl. Define also INET_PTON_LIB.
39904         * modules/inet_pton (Link): New section.
39905
39906 2009-11-02  Simon Josefsson  <simon@josefsson.org>
39907             Bruno Haible  <bruno@clisp.org>
39908
39909         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
39910         * modules/inet_ntop (Link): New section.
39911         Reported by Boyan Kasarov <bkasarov@gmail.com>.
39912
39913 2009-11-02  Eric Blake  <ebb9@byu.net>
39914
39915         maint: avoid compiler warnings in m4 macros
39916         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
39917         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
39918
39919 2009-11-02  Simon Josefsson  <simon@josefsson.org>
39920
39921         * m4/pmccabe2html.m4: Remove file.
39922         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
39923         function.  Change maintainer.
39924         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
39925         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
39926         Courtès).
39927
39928 2009-10-31  Eric Blake  <ebb9@byu.net>
39929
39930         fseeko: fix m4 regression
39931         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
39932         regression from 2009-10-27.
39933         Reported by Ralf Wildenhues.
39934
39935 2009-10-31  Jim Meyering  <meyering@redhat.com>
39936
39937         inttostr: aesthetics and improved (compile-time) safety
39938         Define inttype_is_signed rather than inttype_is_unsigned,
39939         since the sole use is via "#if inttype_is_signed".
39940         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
39941         inttype_is_unsigned.
39942         * lib/offtostr.c (inttype_is_signed): Likewise.
39943         * lib/uinttostr.c (inttype_is_signed): Likewise.
39944         * lib/umaxtostr.c (inttype_is_signed): Likewise.
39945         * lib/inttostr.c (inttostr): Use verify to cross-check the
39946         inttype_is_signed value and the signedness of the actual type.
39947         * modules/inttostr (Depends-on): Add verify.
39948
39949 2009-10-30  Eric Blake  <ebb9@byu.net>
39950
39951         build: avoid compiler warnings
39952         * lib/fchmodat.c (lchmod): Mark unused variables.
39953         * lib/getopt.c (_getopt_initialize): Likewise.
39954         * lib/mktime.c (__mktime_internal): Provide prototype.
39955         * lib/inttostr.c (inttostr): Avoid compiler warning even with
39956         older gcc that do not understand #pragma GCC diagnostic.
39957         * lib/uinttostr.c (inttype_is_unsigned): Define.
39958         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
39959
39960 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
39961
39962         stat: fix compilation on AIX
39963         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
39964         only see struct stat64.
39965
39966 2009-10-30  Eric Blake  <ebb9@byu.net>
39967
39968         exclude: make more robust
39969         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
39970         rather than masking a coding bug.
39971         Suggested by Bruno Haible.
39972
39973 2009-10-30  Jim Meyering  <meyering@redhat.com>
39974
39975         perl scripts: remove #!/usr/bin/perl in favor of more portable...
39976         Rather than putting #!/usr/bin/perl on the first line,
39977         start with a variant of what's recommended by "man perlrun" that
39978         invokes the first "perl" program from your shell's search path.
39979         * build-aux/gitlog-to-changelog: Replace #!... as above.
39980         Add a "Local Variables" perl mode setting.
39981         Prompted by a patch from Ludovic Courtès.
39982         Improved by Eric Blake.
39983         * build-aux/useless-if-before-free: Likewise.
39984         * build-aux/announce-gen: Likewise.
39985         * build-aux/update-copyright: Likewise.
39986
39987 2009-10-29  Eric Blake  <ebb9@byu.net>
39988
39989         filenamecat-lgpl: adjust clients
39990         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
39991         filenamecat.
39992         * modules/renameat (Depends-on): Likewise.
39993
39994         filenamecat: split into filenamecat-lgpl
39995         * modules/filenamecat-lgpl: New module.
39996         * modules/filenamecat (Files): Move library-safe files into
39997         filenamecat-lgpl.
39998         (Depends-on): Add filenamecat-lgpl.
39999         (configure.ac): Declare witness.
40000         * lib/filenamecat.h (file_name_concat): Only declare when using
40001         GPL module.
40002         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
40003         Move...
40004         * lib/filenamecat-lgpl.c: ...into new file.
40005         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
40006         (gl_FILE_NAME_CONCAT): Use it.
40007         * MODULES.html.sh (File system functions): Mention new module.
40008
40009         argp: avoid memory leak
40010         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
40011         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
40012         base_name, since the latter malloc()s and can call exit().
40013         Leak introduced 2006-07-03.
40014
40015         dirname-lgpl: adjust clients that don't need full dirname
40016         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
40017         * modules/filenamecat (Depends-on): Likewise.
40018         * modules/linkat (Depends-on): Likewise.
40019         * modules/mkancesdirs (Depends-on): Likewise.
40020         * modules/mkdir (Depends-on): Likewise.
40021         * modules/openat (Depends-on): Likewise.
40022         * modules/savewd (Depends-on): Likewise.
40023         * modules/rename (Depends-on): Likewise.
40024         (License): Relax license.
40025         * modules/mkdir-tests (Depends-on): Drop progname.
40026         (Makefile.am): Delete unneeded LDADD.
40027         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
40028
40029         dirname: split into dirname-lgpl
40030         * modules/dirname-lgpl: New module.
40031         * modules/dirname (Files): Move library-safe files into
40032         dirname-lgpl.
40033         (Depends-on): Add dirname-lgpl.
40034         (configure.ac): Declare witness.
40035         * modules/double-slash-root (License): Relax license.
40036         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
40037         module.
40038         * lib/dirname.c (dir_len, mdir_name): Move...
40039         * lib/dirname-lgpl.c: ...into new file.
40040         * lib/basename.c (last_component, base_len): Move...
40041         * lib/basename-lgpl.c: ...into new file.
40042         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
40043         (gl_DIRNAME): Use it.
40044         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
40045         Mention new module.
40046         * modules/dirname-tests (Depends-on): Add progname.
40047         * tests/test-dirname.c (program_name): Delete.
40048
40049         mkdir: make safe for libraries
40050         * modules/mkdir (Depends-on): Drop xalloc.
40051         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
40052         exit.
40053
40054         tests: avoid some compiler warnings
40055         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
40056         literals.
40057         * tests/test-memchr.c (main): Avoid type mismatch.
40058         * tests/test-arpa_inet.c (main): Avoid unused parameters.
40059         * tests/test-base64.c (main): Likewise.
40060         * tests/test-getdelim.c (main): Likewise.
40061         * tests/test-gethostname.c (main): Likewise.
40062         * tests/test-getline.c (main): Likewise.
40063         * tests/test-netinet_in.c (main): Likewise.
40064         * tests/test-select.c (open_server_socket, main): Likewise.
40065         * tests/test-select-stdin.c (main): Likewise.
40066         * tests/test-sockets.c (main): Likewise.
40067         * tests/test-strsignal.c (main): Likewise.
40068         * tests/test-sys_select.c (main): Likewise.
40069         * tests/test-sys_socket.c (main): Likewise.
40070         * tests/test-u64.c (main): Likewise.
40071         * tests/test-xfprintf-posix.c (main): Likewise.
40072         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
40073
40074         sockets: avoid compiler warning
40075         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
40076
40077         maint: detect usage(1) and other suspicious exits
40078         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
40079
40080 2009-10-29  Jim Meyering  <meyering@redhat.com>
40081
40082         timespec: long-to-int truncation could make timespec_cmp malfunction
40083         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
40084         a multiple of 2^32 nanoseconds as no difference.
40085
40086 2009-10-28  Jim Meyering  <meyering@redhat.com>
40087
40088         fprintftime: wrap macro code argument in "do {...} while(0)"
40089         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
40090         cpy macro must be a statement that can be followed by a semicolon.
40091         Now that the else clause contains a comment and is hence longer
40092         than one line, I require curly braces.  That in turn requires
40093         that we wrap this code block in the standard do...while(0).
40094
40095         fprintftime: remove stray semicolon from previous change
40096         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
40097
40098         fprintftime: avoid a warning about ignored fwrite return value
40099         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
40100         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
40101         that is unsafe.
40102         * modules/fprintftime (Depends-on): Add ignore-value.
40103
40104         exclude: avoid an unwarranted warning
40105         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
40106
40107 2009-10-27  Eric Blake  <ebb9@byu.net>
40108
40109         fseek: avoid compilation failure when fflush is replaced
40110         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
40111         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
40112         module is in use.
40113         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
40114         module is not in use; since REPLACE_FSEEK worked otherwise.
40115         (GNULIB_FTELLO): Likewise for ftell.
40116         Reported by Ian Beckwith and others.
40117
40118 2009-10-27  Bruno Haible  <bruno@clisp.org>
40119
40120         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
40121         Reported by Jim Meyering.
40122
40123 2009-10-27  Jim Meyering  <jim@meyering.net>
40124             Bruno Haible  <bruno@clisp.org>
40125
40126         Avoid warning despite dropping the return value of fwrite.
40127         * lib/unicodeio.c: Include ignore-value.h.
40128         (fwrite_success_callback): Explicitly ignore fwrite's return value.
40129         * modules/unicodeio (Depends-on): Add ignore-value.
40130
40131 2009-10-26  Eric Blake  <ebb9@byu.net>
40132
40133         areadlinkat: fix fallback path
40134         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
40135         pointer and zero.
40136
40137 2009-10-22  Pádraig Brady  <P@draigBrady.com>
40138
40139         Use a better IO block size for modern systems
40140         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
40141         * lib/md2.c: Likewise.
40142         * lib/md4.c: Likewise.
40143         * lib/md5.c: Likewise.
40144         * lib/sha1.c: Likewise.
40145         * lib/sha256.c: Likewise.
40146         * lib/sha512.c: Likewise.
40147
40148 2009-10-22  Eric Blake  <ebb9@byu.net>
40149
40150         tests: avoid several compiler warnings
40151         * tests/test-getcwd.c (main): Avoid buffer underflow.
40152         * tests/test-getdate.c (main): String literals are not safe with
40153         putenv, so use setenv.  Declare unused argument.
40154         * modules/getdate-tests (Depends-on): Add setenv.
40155         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
40156         problems with string literals in char *.
40157         * tests/test-hash.c (main): Avoid shadowing declaration.
40158         (insert_new): Treat string literals as char const *.
40159         * tests/test-getopt.h (test_getopt): Likewise.
40160         (getopt_loop): Alter types to minimize casting elsewhere.
40161         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
40162         (test_getopt_long_posix): Likewise.
40163         (do_getopt_long): Add wrapper to minimize casting.
40164         * tests/test-atexit.c (clear_temp_file): Use void.
40165         * tests/test-areadlink-with-size.c (main): Declare unused
40166         arguments.
40167         * tests/test-areadlink.c (main): Likewise.
40168         * tests/test-areadlinkat-with-size.c (main): Likewise.
40169         * tests/test-areadlinkat.c (main): Likewise.
40170         * tests/test-canonicalize-lgpl.c (main): Likewise.
40171         * tests/test-canonicalize.c (main): Likewise.
40172         * tests/test-dirent-safer.c (main): Likewise.
40173         * tests/test-dirname.c (main): Likewise.
40174         * tests/test-dup2.c (main): Likewise.
40175         * tests/test-fchdir.c (main): Likewise.
40176         * tests/test-fcntl-h.c (main): Likewise.
40177         * tests/test-fcntl-safer.c (main): Likewise.
40178         * tests/test-fdopendir.c (main): Likewise.
40179         * tests/test-fdutimensat.c (main): Likewise.
40180         * tests/test-fflush.c (main): Likewise.
40181         * tests/test-filenamecat.c (main): Likewise.
40182         * tests/test-filevercmp.c (main): Likewise.
40183         * tests/test-fopen-safer.c (main): Likewise.
40184         * tests/test-fopen.c (main): Likewise.
40185         * tests/test-fpending.c (main): Likewise.
40186         * tests/test-fpurge.c (main): Likewise.
40187         * tests/test-freading.c (main): Likewise.
40188         * tests/test-fstatat.c (main): Likewise.
40189         * tests/test-fsync.c (main): Likewise.
40190         * tests/test-futimens.c (main): Likewise.
40191         * tests/test-getndelim2.c (main): Likewise.
40192         * tests/test-gettimeofday.c (main): Likewise.
40193         * tests/test-getopt.c (main): Likewise.
40194         * tests/test-i-ring.c (main): Likewise.
40195         * tests/test-inttypes.c (main): Likewise.
40196         * tests/test-link.c (main): Likewise.
40197         * tests/test-lstat.c (main): Likewise.
40198         * tests/test-math.c (main): Likewise.
40199         * tests/test-md5.c (main): Likewise.
40200         * tests/test-memchr2.c (main): Likewise.
40201         * tests/test-memrchr.c (main): Likewise.
40202         * tests/test-mkdir.c (main): Likewise.
40203         * tests/test-mkdirat.c (main): Likewise.
40204         * tests/test-mkfifoat.c (main): Likewise.
40205         * tests/test-open.c (main): Likewise.
40206         * tests/test-openat-safer.c (main): Likewise.
40207         * tests/test-openat.c (main): Likewise.
40208         * tests/test-quotearg.c (main): Likewise.
40209         * tests/test-rawmemchr.c (main): Likewise.
40210         * tests/test-readlink.c (main): Likewise.
40211         * tests/test-remove.c (main): Likewise.
40212         * tests/test-rename.c (main): Likewise.
40213         * tests/test-renameat.c (main): Likewise.
40214         * tests/test-rmdir.c (main): Likewise.
40215         * tests/test-sha1.c (main): Likewise.
40216         * tests/test-signal.c (main): Likewise.
40217         * tests/test-sigaction.c (main): Likewise.
40218         * tests/test-stat.c (main): Likewise.
40219         * tests/test-stat-time.c (main): Likewise.
40220         * tests/test-stddef.c (main): Likewise.
40221         * tests/test-stdint.c (main): Likewise.
40222         * tests/test-stdio.c (main): Likewise.
40223         * tests/test-stdlib.c (main): Likewise.
40224         * tests/test-strchrnul.c (main): Likewise.
40225         * tests/test-strerror.c (main): Likewise.
40226         * tests/test-string.c (main): Likewise.
40227         * tests/test-strtod.c (main): Likewise.
40228         * tests/test-strverscmp.c (main): Likewise.
40229         * tests/test-symlink.c (main): Likewise.
40230         * tests/test-symlinkat.c (main): Likewise.
40231         * tests/test-sys_stat.c (main): Likewise.
40232         * tests/test-sys_time.c (main): Likewise.
40233         * tests/test-time.c (main): Likewise.
40234         * tests/test-unistd.c (main): Likewise.
40235         * tests/test-unlink.c (main): Likewise.
40236         * tests/test-unlinkat.c (main): Likewise.
40237         * tests/test-utimens.c (main): Likewise.
40238         * tests/test-utimensat.c (main): Likewise.
40239         * tests/test-version-etc.c (main): Likewise.
40240         * tests/test-wchar.c (main): Likewise.
40241         * tests/test-wctype.c (main): Likewise.
40242         * tests/test-xprintf-posix.c (main): Likewise.
40243         * tests/test-posixtm.c (main): Likewise.
40244         (STREQ): Delete unused macro.
40245         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
40246         shadowed variables.
40247         * tests/test-memchr.c (main): Likewise.
40248
40249 2009-10-21  Eric Blake  <ebb9@byu.net>
40250
40251         areadlinkat: avoid failure on older glibc
40252         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
40253         rather than mis-comparing 0 against FUNC_RESULT of char*.
40254
40255 2009-10-21  Bruno Haible  <bruno@clisp.org>
40256
40257         * modules/stpncpy (License): Relicense under LGPLv2+.
40258         Reported by David Lutterkort <lutter@redhat.com>.
40259
40260 2009-10-20  Eric Blake  <ebb9@byu.net>
40261
40262         utimensat: work around Solaris 9 bug
40263         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
40264         has trailing slash bugs.
40265         * tests/test-lutimens.h (test_lutimens): Enhance test.
40266         * tests/test-utimens.h (test_utimens): Likewise.
40267         * doc/posix-functions/utime.texi (utime): Enhance documentation.
40268         * doc/posix-functions/utimes.texi (utimes): Likewise.
40269         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
40270         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
40271         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
40272         * doc/posix-functions/futimens.texi (futimens): Likewise.
40273
40274         fdutimensat: new module
40275         * modules/fdutimensat: New file.
40276         * lib/fdutimensat.c (fdutimensat): Likewise.
40277         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
40278         * MODULES.html.sh (File system functions): Mention module.
40279         * modules/fdutimensat-tests: New test.
40280         * tests/test-fdutimensat.c: Likewise.
40281
40282         doc: regenerate INSTALL
40283         * doc/INSTALL: Reflect recent autoconf update.
40284         * doc/INSTALL.ISO: Likewise.
40285         * doc/INSTALL.UTF-8: Likewise.
40286
40287 2009-10-20  Pádraig Brady  <P@draigBrady.com>
40288
40289         acl: warn if ACL support is not detected
40290         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
40291
40292 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
40293
40294         * lib/nproc.h: Add extern "C" block for C++.
40295
40296 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
40297             Bruno Haible  <bruno@clisp.org>
40298
40299         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
40300         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
40301         * doc/posix-functions/isalpha.texi: Likewise.
40302         * doc/posix-functions/isblank.texi: Likewise.
40303         * doc/posix-functions/iscntrl.texi: Likewise.
40304         * doc/posix-functions/isdigit.texi: Likewise.
40305         * doc/posix-functions/isgraph.texi: Likewise.
40306         * doc/posix-functions/islower.texi: Likewise.
40307         * doc/posix-functions/isprint.texi: Likewise.
40308         * doc/posix-functions/ispunct.texi: Likewise.
40309         * doc/posix-functions/isspace.texi: Likewise.
40310         * doc/posix-functions/isupper.texi: Likewise.
40311         * doc/posix-functions/isxdigit.texi: Likewise.
40312
40313 2009-10-18  Bruno Haible  <bruno@clisp.org>
40314
40315         Tests for module 'isblank'.
40316         * modules/isblank-tests: New file.
40317         * tests/test-isblank.c: New file.
40318
40319         New module 'isblank'.
40320         * lib/isblank.c: New file.
40321         * m4/isblank.m4: New file.
40322         * modules/isblank: New file.
40323         * doc/posix-functions/isblank.texi: Mention the new module.
40324
40325 2009-10-18  Bruno Haible  <bruno@clisp.org>
40326
40327         New module 'ctype'.
40328         * lib/ctype.in.h: New file.
40329         * m4/ctype.m4: New file.
40330         * modules/ctype: New file.
40331         * doc/posix-headers/ctype.texi: Mention the new module.
40332
40333 2009-10-18  Jim Meyering  <meyering@redhat.com>
40334
40335         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
40336         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
40337         right after its initialization, rather than farther down.
40338         Keeping these in close proximity makes it easier to ensure
40339         that each such variable is initialized.  E.g.,
40340
40341             LIB_CLOCK_GETTIME=
40342             AC_SUBST([LIB_CLOCK_GETTIME])
40343
40344         This change also increments these serial numbers.
40345         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
40346         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
40347         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
40348
40349 2009-10-18  Bruno Haible  <bruno@clisp.org>
40350
40351         Don't let environment variables perturb build.
40352         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
40353         (gl_PREREQ_GETHRXTIME): ... not here.
40354
40355 2009-10-18  Bruno Haible  <bruno@clisp.org>
40356
40357         Avoid symlink attack in localcharset module.
40358         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
40359         (O_NOFOLLOW): Define fallback.
40360         (get_charset_aliases): Don't open the file if it is a symbolic link.
40361         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
40362         gl_FCNTL_H.
40363         (gl_FCNTL_H): Require it.
40364         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
40365         * modules/localcharset (Files): Add m4/fcntl_h.m4.
40366         Reported by Fergal Glynn <fglynn@veracode.com>.
40367
40368 2009-10-18  Bruno Haible  <bruno@clisp.org>
40369
40370         Implement nproc for mingw.
40371         * lib/nproc.c: Include <windows.h>
40372         (num_processors): On native Windows platforms, try GetSystemInfo.
40373
40374 2009-10-18  Bruno Haible  <bruno@clisp.org>
40375
40376         Implement nproc for IRIX.
40377         * lib/nproc.c: Include <sys/sysmp.h>.
40378         (num_processors): On IRIX systems, try sysmp.
40379         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
40380
40381 2009-10-18  Bruno Haible  <bruno@clisp.org>
40382
40383         Implement nproc for HP-UX.
40384         * lib/nproc.c: Include <sys/pstat.h>
40385         (num_processors): On HP-UX systems, try pstat_getdynamic.
40386         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
40387         pstat_getdynamic.
40388
40389 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
40390             Bruno Haible  <bruno@clisp.org>
40391
40392         Implement nproc for NetBSD, OpenBSD.
40393         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
40394         (ARRAY_SIZE): New macro.
40395         (num_processors): On BSD systems, try sysctl of HW_NCPU.
40396         * m4/nproc.m4: New file.
40397         * modules/nproc (Files): Add m4/nproc.m4.
40398         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
40399         (Makefile.am): Instead, augment lib_SOURCES.
40400
40401 2009-10-18  Bruno Haible  <bruno@clisp.org>
40402
40403         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
40404         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
40405         sys/param.h.
40406
40407 2009-10-16  Eric Blake  <ebb9@byu.net>
40408
40409         utimensat: new module
40410         * modules/utimensat: New file.
40411         * lib/utimensat.c (utimensat): Likewise.
40412         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
40413         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
40414         so we can work around Linux bugs.
40415         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
40416         * modules/sys_stat (Makefile.am): Substitute them.
40417         * lib/sys_stat.in.h (utimensat): Declare it.
40418         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
40419         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
40420         * modules/utimensat-tests: New test.
40421         * tests/test-utimensat.c: Likewise.
40422
40423         utimens: let lutimens work on non-symlinks
40424         * lib/utimens.c (lutimens): Fall back to utimens rather than
40425         failing with ENOSYS, when file is not a symlink.
40426         (utimens): Reduce redirection.
40427         * tests/test-lutimens.h (test_lutimens): Update test to cover
40428         non-symlinks.
40429         * tests/test-utimens.h (test_utimens): Update test to cover
40430         symlinks.
40431         * tests/test-utimens.c (main): Update caller.
40432
40433         utimens: cache whether utimensat syscall works
40434         * lib/utimens.c (utimensat_works_really): New cache variable.
40435         (fdutimens, lutimens): Use it to avoid failing syscall.
40436
40437         test-stat-time, test-utimens: improve portability
40438         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
40439         ext4 on alpha, and for cygwin.
40440         * tests/test-utimens-common.h: New file.
40441         (nap): Factor delays into single function.
40442         * tests/test-lutimens.h (test_lutimens): Use new header.
40443         * tests/test-futimens.h (test_futimens): Likewise.
40444         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
40445         timestamps to occur from same machine, as was done previously for
40446         test_utimens.
40447         * modules/utimens-tests (Files): Ship new file.
40448         * modules/futimens-tests (Files): Likewise.
40449         Reported in part by Jim Meyering.
40450
40451         sys_stat: sort replacement declarations
40452         * lib/sys_stat.in.h: Sort declarations.
40453         * lib/futimens.c (futimens): Fix typo.
40454
40455 2009-10-15  Jim Meyering  <meyering@redhat.com>
40456
40457         don't let environment settings perturb build
40458         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
40459         could cause a configure-time and/or build-time malfunction.
40460         Typically, a configure-time function-in-library test is performed
40461         via code like this:
40462
40463           LIB_VAR=
40464           AC_SUBST([LIB_VAR])
40465           prefix_saved_LIBS=$LIBS
40466             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
40467                        [test "$ac_cv_search_FUNC" = "none required" ||
40468                         LIB_VAR=$ac_cv_search_FUNC])
40469           LIBS=$prefix_saved_LIBS
40470
40471         However, in each of the files affected by this change, the LIB_VAR=
40472         initialization was omitted.  Thus, when set in the environment, its
40473         value would propagate into generated Makefiles when FUNC is not found
40474         in LIB_NAME.
40475         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
40476         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
40477         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
40478
40479 2009-10-14  Eric Blake  <ebb9@byu.net>
40480
40481         fchdir: avoid infinite recursion in mingw
40482         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
40483         recursing.
40484
40485         test-stat-time: port to mingw
40486         * tests/test-stat-time.c (force_unlink): Return a value.
40487         (test_ctime) [W32]: Fix compilation error.
40488         (nap): Don't call usleep with too large an argument.  Use
40489         force_unlink.
40490         * doc/pastposix-functions/usleep.texi (usleep): Document the
40491         portability issue.
40492
40493 2009-10-13  Jim Meyering  <meyering@redhat.com>
40494
40495         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
40496         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
40497         * modules/pipe-filter-ii: Likewise.
40498         * modules/sys_socket-tests: Likewise.
40499         * modules/tsearch-tests: Likewise.
40500         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
40501         (check): Depend on it.
40502
40503 2009-10-12  Eric Blake  <ebb9@byu.net>
40504
40505         utimens-tests: port to NFS file systems
40506         * tests/test-utimens.h (test_utimens): Refactor utimecmp
40507         comparisons to avoid spurious failures from timestamp drift
40508         between NFS machines.
40509
40510 2009-10-12  Eric Blake  <ebb9@byu.net>
40511
40512         stat-time-tests: minor cleanups
40513         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
40514         * tests/test-stat-time.c (nap): Separate assignment from call.
40515         Suggested by Paolo Bonzini and Bruno Haible.
40516
40517         sys_stat: guarantee struct timespec
40518         * lib/sys_stat.in.h (includes): Always include <time.h>
40519         * modules/sys_stat (Depends-on): Add time.
40520         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
40521         mode_t permission values.
40522         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
40523         get at subsecond timestamps.
40524
40525 2009-10-10  Eric Blake  <ebb9@byu.net>
40526
40527         futimens: new module
40528         * modules/futimens: New file.
40529         * lib/futimens.c (futimens): Likewise.
40530         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
40531         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
40532         we can work around Linux bugs.
40533         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
40534         * modules/sys_stat (Makefile.am): Substitute them.
40535         * lib/sys_stat.in.h (futimens): Declare it.
40536         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
40537         * doc/posix-functions/futimens.texi (futimens): Likewise.
40538         * modules/futimens-tests: New test.
40539         * tests/test-futimens.c: Likewise.
40540
40541         utimens: introduce fdutimens
40542         * lib/utimens.h (fdutimens): New prototype.
40543         * lib/utimens.c (gl_futimens): Move guts...
40544         (fdutimens): ...to new interface.
40545         * tests/test-utimens.c (do_fdutimens): Use it.
40546
40547         utimens: add UTIME_NOW and UTIME_OMIT support
40548         * lib/utimens.c (validate_timespec, update_timespec): New helper
40549         functions.
40550         (gl_futimens, lutimens): Use them.
40551         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
40552         stdbool, sys_stat.
40553         (Link): Mention resulting library dependency.
40554         * modules/utimecmp (Link): Likewise.
40555         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
40556         (Makefile.am): Pick up library dependency.
40557         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
40558         definition.
40559         * tests/test-sys_stat.c: Test the definitions.
40560         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
40561         * NEWS: Document library dependency.
40562
40563         utimecmp: support symlink timestamps
40564         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
40565         hashing when possible.  Use pathconf when available.
40566         (SYSCALL_RESOLUTION): Recognize tighter resolution.
40567         * modules/utimecmp (Depends-on): Add lstat.
40568
40569         utimens: add lutimens interface
40570         * lib/utimens.c (lutimens): New function.
40571         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
40572         * lib/utimens.h (lutimens): Declare new interface.
40573         * tests/test-utimens.c (main): Enhance test.
40574         * tests/test-lutimens.h (test_lutimens): New file.
40575         * modules/utimens-tests (Files): Distribute it.
40576         (Depends-on): Add symlink.
40577         (configure.ac): Check for usleep.
40578
40579         utimens: validate futimens usage
40580         * lib/utimens.c (gl_futimens): Require valid fd up front, using
40581         fewer syscalls on failure later on.  Avoid compiler warning on
40582         mingw.
40583         * modules/utimens (Depends-on): Add dup2.
40584
40585         utimens: add test
40586         * modules/utimens-tests: New test.
40587         * tests/test-utimens.h: New file.
40588         * tests/test-futimens.h: Likewise.
40589         * tests/test-utimens.c: Likewise.
40590
40591         doc: mention timestamp portability issues
40592         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
40593         instead.
40594         * doc/posix-functions/utime.texi (utime): Likewise.
40595         * doc/posix-functions/utimes.texi (utimes): Likewise.
40596         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
40597         instead.
40598         * doc/posix-functions/futimens.texi (futimens): Mention utimens
40599         module.
40600         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
40601         Mention weakness with symlink timestamps.
40602         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
40603         to utimensat/futimens instead.
40604         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
40605
40606         test-dup2: enhance test
40607         * tests/test-dup2.c (main): Also check AT_FDCWD.
40608
40609         test-stat-time: avoid more spurious failures
40610         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
40611         xfs; and avoid race if the two timestamps cross quantization edge.
40612
40613         relocatable: prefer 'file system' over 'filesystem'
40614         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
40615         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
40616         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
40617         * doc/relocatable.texi (Enabling Relocatability): Likewise.
40618         * lib/relocatable.c (compute_curr_prefix): Likewise.
40619
40620 2009-10-10  Jim Meyering  <meyering@redhat.com>
40621
40622         stat-time-tests: check for the usleep function
40623         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
40624
40625 2009-10-10  Bruno Haible  <bruno@clisp.org>
40626
40627         * modules/xnanosleep: Put the Link section after the Include section.
40628
40629 2009-10-09  Eric Blake  <ebb9@byu.net>
40630
40631         dup2: work around FreeBSD 6.1 bug
40632         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
40633         * doc/posix-functions/dup2.texi (dup2): Document it.
40634         Reported by Nelson H. F. Beebe and Jim Meyering.
40635
40636         test-stat-time: port to buggy NFS clients
40637         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
40638         (test_ctime): Also skip test if mtime and ctime are skewed.
40639
40640         maint: prefer 'file system' over 'filesystem'
40641         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
40642         * doc/posix-functions/lstat.texi (lstat): Likewise.
40643         * lib/file-has-acl.c (file_has_acl): Likewise.
40644         * lib/fwriteerror.c [TEST]: Likewise.
40645         * tests/test-areadlink.h (test_areadlink): Likewise.
40646         * tests/test-areadlinkat-with-size.c (main): Likewise.
40647         * tests/test-areadlinkat.c (main): Likewise.
40648         * tests/test-canonicalize-lgpl.c (main): Likewise.
40649         * tests/test-canonicalize.c (main): Likewise.
40650         * tests/test-fstatat.c (main): Likewise.
40651         * tests/test-linkat.c (main): Likewise.
40652         * tests/test-lstat.h (test_lstat_func): Likewise.
40653         * tests/test-mkdir.h (test_mkdir): Likewise.
40654         * tests/test-readlink.h (test_readlink): Likewise.
40655         * tests/test-remove.c (main): Likewise.
40656         * tests/test-rename.h (test_rename): Likewise.
40657         * tests/test-renameat.c (main): Likewise.
40658         * tests/test-rmdir.h (test_rmdir_func): Likewise.
40659         * tests/test-symlink.h (test_symlink): Likewise.
40660         * tests/test-symlinkat.c (main): Likewise.
40661         * tests/test-unlink.h (test_unlink_func): Likewise.
40662         * tests/test-unlinkat.c (main): Likewise.
40663
40664         maint: make realtime library usage explicit
40665         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
40666         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
40667         * modules/settime (Link): Likewise.
40668         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
40669
40670         test-stat-time: speed up execution
40671         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
40672         warning on mingw.
40673         (nap): New helper function.
40674         (prepare_test): Use it to reduce sleep time.
40675         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
40676         execution.
40677         * modules/stat-time-tests (configure.ac): Check for usleep.
40678
40679 2009-10-09  Jim Meyering  <meyering@redhat.com>
40680
40681         selinux-h: always use getfilecon wrappers
40682         * lib/getfilecon.c: New file.
40683         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
40684         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
40685         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
40686         (fgetfilecon): Provide a stub.
40687         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
40688         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
40689         file unconditionally.
40690         When <selinux/selinux.h> is found, arrange to use wrappers.
40691         * modules/selinux-h (Files): Add getfilecon.c.
40692         (Makefile.am): Substitute include-next-related bits
40693         into the now-always-generated selinux/selinux.h file.
40694         * doc/glibc-functions/lgetfilecon.texi: New file.
40695         * doc/glibc-functions/fgetfilecon.texi: New file.
40696         * doc/glibc-functions/getfilecon.texi: New file.
40697         * doc/glibc-functions/getfilecon-desc.texi: New file.
40698         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
40699         which to pull in the new files.
40700         * MODULES.html.sh (Misc): Add selinux-h.
40701
40702 2009-10-08  Jim Meyering  <meyering@redhat.com>
40703
40704         unistd: fix comment typo
40705         * lib/unistd.in.h (euidaccess): Fix a comment typo.
40706
40707 2009-10-08  Eric Blake  <ebb9@byu.net>
40708
40709         areadlink: use SIZE_MAX consistently
40710         * modules/areadlink (Depends-on): Add stdint.
40711         * modules/areadlink-with-size (Depends-on): Likewise.
40712         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
40713         gives NULL; drop sys/types, since unistd gives size_t; and add
40714         stdint for SIZE_MAX.
40715         (SIZE_MAX): Rely on headers.
40716         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
40717         and add stdint.
40718         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
40719         (SIZE_MAX): Likewise.
40720         (INITIAL_BUF_SIZE): Turn into enum.
40721         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
40722
40723 2009-10-08  Jim Meyering  <meyering@redhat.com>
40724
40725         areadlinkat: avoid compilation failure
40726         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
40727         Fix typo in comment.
40728
40729 2009-10-07  Eric Blake  <ebb9@byu.net>
40730
40731         areadlinkat-with-size: new module
40732         * modules/areadlinkat-with-size: New module.
40733         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
40734         * lib/areadlink.h (areadlinkat): Declare it.
40735         * MODULES.html.sh (File system functions): Mention it.
40736         * modules/areadlinkat-with-size-tests: New test.
40737         * tests/test-areadlinkat-with-size.c: New file.
40738
40739         xreadlinkat: new module
40740         * modules/xreadlinkat: New module.
40741         * lib/xreadlinkat.c (xreadlinkat): New file.
40742         * lib/xreadlink.h (xreadlinkat): Declare it.
40743         * MODULES.html.sh (File system functions): Mention it.
40744
40745         areadlinkat: new module
40746         * lib/at-func.c (FUNC_FAIL): New define.
40747         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
40748         * modules/areadlinkat: New module.
40749         * lib/linkat.c (areadlinkat): Move...
40750         * lib/areadlinkat.c (areadlinkat): ...to new file.
40751         * lib/areadlink.h (areadlinkat): Declare it.
40752         * modules/linkat (Depends-on): Add areadlinkat.
40753         * MODULES.html.sh (File system functions): Mention it.
40754         * modules/areadlinkat-tests: New test.
40755         * tests/test-areadlinkat.c: New file.
40756
40757         areadlink, areadlink-with-size: add tests
40758         * modules/areadlink-tests: New test.
40759         * modules/areadlink-with-size-tests: Likewise.
40760         * tests/test-areadlink.h: New file.
40761         * tests/test-areadlink.c: Likewise.
40762         * tests/test-areadlink-with-size.c: Likewise.
40763
40764         maint: minor cleanups
40765         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
40766         _UNUSED_PARAMETER_ instead.
40767         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
40768         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
40769         * modules/linkat-tests (Files): Distribute test-link.h.
40770
40771         openat, utimens: whitespace cleanup
40772         * lib/openat.c: Prefer space throughout, rather than mix of 8
40773         spaces vs. tabs.
40774         * lib/at-func.c: Likewise.
40775         * lib/utimens.c: Likewise.
40776
40777         openat: avoid using wrong fd
40778         * lib/openat.c (openat_permissive): Reject user's fd if saving the
40779         working directory chooses same fd.
40780         * lib/at-func.c (AT_FUNC_NAME): Likewise.
40781
40782         mkdir, mkdirat: fix cygwin 1.5.x bug
40783         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
40784         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
40785         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
40786         bug.
40787         (gl_PREREQ_MKDIR): Delete unused macro.
40788         * modules/mkdir (Files): Track file rename.
40789         (configure.ac): Update macro name.
40790         * modules/openat (Depends-on): Add mkdir.
40791         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
40792
40793         mkdir, mkdirat: add tests
40794         * modules/mkdir-tests: New test.
40795         * tests/test-mkdir.h: New file.
40796         * tests/test-mkdir.c: Likewise.
40797         * tests/test-mkdirat.c: Likewise.
40798         * modules/openat-tests (Files): Add new files.
40799         (Makefile.am): Run new test.
40800
40801 2009-10-06  Eric Blake  <ebb9@byu.net>
40802
40803         doc: tweak *at function documentation
40804         * doc/posix-functions/faccessat.texi (faccessat): Mention
40805         known issue with replacement.
40806         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
40807         * doc/posix-functions/linkat.texi (linkat): Likewise.
40808         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
40809         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
40810         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
40811         * doc/posix-functions/renameat.texi (renameat): Likewise.
40812         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
40813
40814         openat: fix GNU/Hurd bug in unlinkat
40815         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
40816         broken.
40817         * doc/posix-functions/unlink.texi (unlink): Document this.
40818         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
40819
40820         fdopendir: fix GNU/Hurd bug
40821         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
40822         allowing non-directory fds.
40823         * lib/fdopendir.c (rpl_fdopendir): Work around it.
40824         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
40825         * modules/dirent (Makefile.am): Substitute it.
40826         * lib/dirent.in.h (fdopendir): Declare replacement.
40827         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
40828         * tests/test-fdopendir.c (main): Test something other than
40829         /dev/null, since on Hurd that behaves like a directory.
40830
40831         test-symlink: port to GNU/Hurd
40832         * tests/test-symlink.h (test_symlink): Relax expected errno.
40833
40834         doc: tweak more cygwin information
40835         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
40836         now compatible with glibc.
40837         * doc/posix-functions/getopt.texi (getopt): Likewise.
40838
40839         getopt-gnu: add another test
40840         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
40841         guarantee behavior relied on by m4.
40842         * tests/test-getopt.c (main): Use it.
40843         * modules/getopt-posix-tests (Depends-on): Add setenv.
40844         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
40845
40846         getopt: fix compilation on darwin
40847         * lib/getopt.in.h (includes): Leave breadcrumbs during system
40848         include.
40849         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
40850         Reported by Ludovic Courtès.
40851
40852 2009-10-06  Bruno Haible  <bruno@clisp.org>
40853
40854         * modules/size_max (Description): Discourage its use.
40855         Reported by Simon Josefsson.
40856
40857 2009-10-06  Jim Meyering  <meyering@redhat.com>
40858
40859         linkat: avoid compilation failure
40860         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
40861
40862 2009-10-05  Eric Blake  <ebb9@byu.net>
40863
40864         linkat: support Linux 2.6.17
40865         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
40866         linkat on Linux, but allow cache variable override.
40867         * lib/linkat.c (rpl_linkat): Define override.
40868         * modules/linkat (Depends-on): Add symlinkat.
40869         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
40870         * modules/unistd (Makefile.am): Substitute it.
40871         * lib/unistd.in.h (linkat): Declare replacement.
40872         Reported by Pádraig Brady.
40873
40874         quotearg: port test to systems with C.UTF-8 locale
40875         * tests/test-quotearg.c (struct result_strings): Add another
40876         member, differentiating between C.ASCII and C.UTF-8 handling.
40877         (compare_strings): Add parameter.
40878         (main): Adjust all callers.
40879
40880         getopt: avoid clash with FreeBSD _getopt_internal
40881         * lib/getopt.in.h (_getopt_internal): Override the name.
40882         * lib/getopt_int.h (includes): Pick up any overrides.
40883         Reported by Reuben Thomas.
40884
40885         hash: allow C89 compilation
40886         * lib/hash.c (check_tuning): Move declaration before statement.
40887         Reported by Reuben Thomas.
40888
40889 2009-10-05  Karl Berry  <karl@gnu.org>
40890
40891         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
40892
40893 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
40894             Bruno Haible  <bruno@clisp.org>
40895
40896         * lib/uname.c (uname): Use a table-driven algorithm to compute
40897         Windows NT versions.
40898
40899 2009-10-04  Bruno Haible  <bruno@clisp.org>
40900
40901         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
40902         program_invocation_short_name.
40903         * modules/progname (configure.ac): Test for presence of
40904         program_invocation_short_name.
40905         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
40906
40907 2009-10-04  Bruno Haible  <bruno@clisp.org>
40908
40909         * lib/progname.c (set_program_name): Fix comment.
40910         Reported by Jim Meyering.
40911
40912 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
40913             Bruno Haible  <bruno@clisp.org>
40914
40915         * lib/uname.c: Include <string.h>.
40916         (uname): Do only one call to GetVersionEx in the common case.
40917
40918 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
40919             Bruno Haible  <bruno@clisp.org>
40920
40921         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
40922         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
40923         (uname): Add support for Windows CE and various non-x86 CPU types.
40924
40925 2009-10-03  Bruno Haible  <bruno@clisp.org>
40926
40927         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
40928         invocation to tests/configure.ac.
40929         Reported by Ian Beckwith <ianb@erislabs.net>.
40930
40931 2009-10-02  Eric Blake  <ebb9@byu.net>
40932
40933         fchdir: avoid compiler warning
40934         * lib/fchdir.c (canonicalize_file_name)
40935         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
40936
40937         test-open: support mingw errno values
40938         * tests/test-open.h (test_open): Relax test.
40939         * tests/test-fopen.h (test_fopen): Likewise.
40940         * tests/test-openat-safer.c (main): Likewise.
40941
40942         open: fix opening directory on mingw
40943         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
40944
40945         test-open: on GNU/Hurd, /dev/null is a directory
40946         * tests/test-fopen.h (main): Rename...
40947         (test_fopen): ...to this.  Use a guaranteed non-directory when
40948         confirming open behavior on trailing slash.
40949         * tests/test-openat-safer.c (main): Likewise.
40950         * tests/test-open.h (main): Likewise....
40951         (test_open): ...to this.
40952         * tests/test-fopen.c (main): Adjust caller.
40953         * tests/test-fopen-safer.c (main): Likewise.
40954         * tests/test-open.c (main): Likewise.
40955         * tests/test-fcntl-safer.c (main): Likewise.
40956         Reported by Samuel Thibault.
40957
40958         rename, fchdir: don't ignore chdir failure
40959         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
40960         * lib/rename.c (rpl_rename) [W32]: Likewise.
40961         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
40962         an empty destination directory if source cannot be renamed,
40963         although there is still possibility for failure.
40964         * doc/posix-functions/rename.texi (rename): Document the race.
40965         Reported by Jim Meyering.
40966
40967         maint: cleanup whitespace in recent commits
40968         * lib/rename.c (rpl_rename): Remove tabs.
40969         * tests/test-link.h (test_link): Likewise.
40970         * lib/fchdir.c (get_name): Likewise.
40971         Reported by Jim Meyering.
40972
40973 2009-10-02  Ben Pfaff  <blp@gnu.org>
40974
40975         relocatable-prog-wrapper: Add missing dependency on
40976         double-slash-root.
40977         * modules/relocatable-prog-wrapper: Add dependency.
40978         Reported by Ian Beckwith <ianb@erislabs.net>.
40979
40980 2009-10-02  Eric Blake  <ebb9@byu.net>
40981
40982         renameat: fix Solaris bugs
40983         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
40984         needed fixing.
40985         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
40986         * modules/stdio (Makefile.am): Substitute it.
40987         * lib/stdio.in.h (renameat): Declare replacement.
40988         * lib/renameat.c (rpl_renameat): Implement fix.
40989
40990         renameat: new module
40991         * modules/renameat: New file.
40992         * lib/renameat.c (renameat): Likewise.
40993         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
40994         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
40995         * modules/stdio (Makefile.am): Substitute them.
40996         * lib/stdio.in.h (renameat): Declare it.
40997         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
40998         * doc/posix-functions/renameat.texi (renameat): Likewise.
40999         * modules/renameat-tests: New test.
41000         * tests/test-renameat.c: Likewise.
41001
41002         rename: fix mingw bugs
41003         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
41004         directory overwrite bugs.
41005
41006         rename: fix another cygwin 1.5 bug
41007         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
41008         checks.
41009         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
41010         unnecessary cygwin workarounds.  Also work around bug with moving
41011         full directory onto an empty one.
41012         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
41013
41014         rename-dest-slash: merge into rename module
41015         * modules/rename-dest-slash (Status): Mark obsolete.
41016         (Depends-on): Add rename.
41017         (Files): Let rename do it all.
41018         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
41019         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
41020         * m4/rename-dest-slash.m4: ...so this file can be deleted.
41021         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
41022         * lib/rename.c (rpl_rename): Update comments.
41023
41024         rename: fix cygwin 1.5.x bugs
41025         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
41026         * lib/rename.c (rpl_rename): Work around them.
41027         * modules/rename (Depends-on): Add same-inode.
41028
41029         rename: fix Solaris 10 bug
41030         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
41031         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
41032         was the only bug.
41033
41034         rename: fix Solaris 9 bug
41035         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
41036         on non-directory.  Avoid calling exit.
41037         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
41038         strdup.
41039         * modules/rename-tests (Depends-on): Drop lstat.
41040         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
41041         (gl_PREREQ_RENAME): Delete unused macro.
41042
41043         rename-dest-slash: fix NetBSD bug
41044         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
41045         links.
41046         * modules/rename-dest-slash (Depends-on): Add same-inode.
41047
41048         rename-tests: new test, exposes several platform bugs
41049         * modules/rename-tests: New file.
41050         * tests/test-rename.h: Likewise.
41051         * tests/test-rename.c: Likewise.
41052         * doc/posix-functions/rename.texi (rename): Improve documentation,
41053         including bugs that will eventually be fixed in gnulib.
41054
41055 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
41056
41057         * lib/uname.c: Include <stdlib.h>
41058         (uname): Assume version info is available.
41059
41060 2009-10-02  Jim Meyering  <meyering@redhat.com>
41061
41062         gnu-web-doc-update: correct --help output
41063         * build-aux/gnu-web-doc-update: Make --help output relevant.
41064
41065         gnu-web-doc-update: add standard options
41066         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
41067
41068         gnu-web-doc-update: New module.
41069         Use this script to automatically update the on-line web documentation
41070         for your GNU project at http://www.gnu.org/software/$pkg/manual/
41071         * modules/gnu-web-doc-update: New file, from coreutils.
41072         * build-aux/gnu-web-doc-update: New script.
41073
41074 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
41075
41076         link: LoadLibrary is not needed.
41077         * lib/link.c: Use GetModuleHandle.
41078
41079 2009-10-01  Eric Blake  <ebb9@byu.net>
41080
41081         getopt: bump serial number
41082         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
41083         change.
41084
41085         tests: tighten link, rmdir, and remove tests
41086         * tests/test-link.h (includes): No need to use <config.h> here.
41087         Clean up if directory hard link was created, otherwise test for
41088         trailing '.'.
41089         * tests/test-linkat.c (main): Simplify.
41090         * tests/test-remove.c (main): Enhance test for trailing '.'.
41091         * tests/test-rmdir.h (test_rmdir_func): Likewise.
41092
41093 2009-10-01  Jim Meyering  <meyering@redhat.com>
41094
41095         maint.mk: requiring "make major" was annoying, for a "minor" release.
41096         What is intended is "stable", to contrast with alpha and beta,
41097         so require "make stable", not "make major".
41098         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
41099         (get_tool_versions): Likewise.
41100         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
41101
41102 2009-09-30  Ben Pfaff  <blp@gnu.org>
41103
41104         Fix broken build of replacement for Windows tmpfile().
41105         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
41106         flags argument added along with the 'mkostemp' module.
41107
41108 2009-09-28  Bruno Haible  <bruno@clisp.org>
41109
41110         Avoid identifier clash with POSIX function 'remove' defined as a macro.
41111         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
41112         to 'remove_elt'.
41113         (gl_list_remove): Update.
41114         * lib/gl_list.c (gl_list_remove): Update.
41115         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
41116         to 'remove_elt'.
41117         (gl_oset_remove): Update.
41118         * lib/gl_list.c (gl_oset_remove): Update.
41119         Reported by Eric Blake.
41120
41121 2009-09-28  Eric Blake  <ebb9@byu.net>
41122
41123         doc: mention yet more cygwin 1.7 status
41124         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
41125         cygwin.
41126         * doc/glibc-functions/execvpe.texi (execvpe): New file.
41127         * doc/gnulib.texi (Glibc unistd.h): Mention it.
41128
41129         argp: fix test failure
41130         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
41131         that are not upper-case.  Pass correct range to tolower.
41132
41133 2009-09-27  Jim Meyering  <meyering@redhat.com>
41134
41135         test-yesno: work around sparc-dash here-document infelicity
41136         Without this change, the literal \177 byte in a here document
41137         would make dash 0.5.5.1-3 access uninitialized memory.
41138         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
41139         Instead, use a marker, "@", and filter through tr to create the desired
41140         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
41141
41142 2009-09-27  Bruno Haible  <bruno@clisp.org>
41143
41144         Disable untested support for new flavours of ACLs on AIX.
41145         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
41146         progress.
41147         * lib/set-mode-acl.c (qset_acl): Likewise.
41148
41149 2008-12-07  Bruno Haible  <bruno@clisp.org>
41150
41151         Add support for new flavours of ACLs on AIX. (Untested.)
41152         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
41153         (file_has_acl): Add support for newer AIX.
41154         * lib/set-mode-acl.c (qset_acl): Likewise.
41155         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
41156         Rainer Tammer <tammer@tammer.net>.
41157
41158 2009-09-26  Eric Blake  <ebb9@byu.net>
41159
41160         argp: fix compilation of getopt
41161         * lib/getopt.in.h (includes): Use different guard than glibc.
41162         Reported by Sergey Poznyakoff.
41163
41164         doc: mention more cygwin 1.7 status
41165         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
41166         bug.
41167         * doc/posix-functions/execl.texi (execl): Likewise.
41168         * doc/posix-functions/execle.texi (execle): Likewise.
41169         * doc/posix-functions/execlp.texi (execlp): Likewise.
41170         * doc/posix-functions/execv.texi (execv): Likewise.
41171         * doc/posix-functions/execve.texi (execve): Likewise.
41172         * doc/posix-functions/execvp.texi (execvp): Likewise.
41173         * doc/glibc-functions/canonicalize_file_name.texi
41174         (canonicalize_file_name): Cygwin 1.7 now provides this.
41175         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
41176         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
41177         on AT_SYMLINK_NOFOLLOW.
41178
41179 2009-09-24  Eric Blake  <ebb9@byu.net>
41180
41181         test-linkat: make test more robust
41182         * tests/test-linkat.c (main): Avoid collision with EEXIST.
41183
41184         getopt: fix inclusion guards for cygwin
41185         * modules/getopt-posix (Depends-on): Add include-next.
41186         (Makefile.am): Substitute more items in replacement header.
41187         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
41188         <getopt.h>.
41189         * lib/getopt.in.h (includes): Use split inclusion guard, and
41190         prefer <getopt.h> over include <unistd.h> when one is present.
41191         (option): Also override name of 'struct option'.
41192
41193         same-inode: revert prior change; it is not yet ready
41194         * NEWS: Undo mention of this change.
41195         * lib/same-inode.h (same-inode.h): Undo tri-state change.
41196         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
41197         * lib/cycle-check.c (cycle_check): Likewise.
41198         * lib/same.c (same_name): Likewise.
41199         * lib/at-func2.c (at_func2): Likewise.
41200
41201 2009-09-23  Eric Blake  <ebb9@byu.net>
41202
41203         linkat: new module
41204         * modules/linkat: New file.
41205         * lib/at-func2.c (at_func2): Likewise.
41206         * lib/linkat.c (linkat): Likewise.
41207         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
41208         * lib/openat-priv.h (at_func2): Add declaration.
41209         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
41210         * modules/unistd (Makefile.am): Substitute them.
41211         * lib/unistd.in.h (linkat): Declare it.
41212         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
41213         * doc/posix-functions/linkat.texi (linkat): Likewise.
41214         * doc/posix-functions/link.texi (link): Tweak wording.
41215         * tests/test-link.c (main): Move guts...
41216         * tests/test-link.h (test_link): ...into new file.
41217         * modules/linkat-tests: New test.
41218         * tests/test-linkat.c: Likewise.
41219         * modules/link-tests (Files): Ship new file.
41220         (Depends-on): Add stdbool.
41221
41222         dirname: add library-safe mdir_name
41223         * lib/dirname.h (mdir_name): New prototype.
41224         * lib/dirname.c (dir_name): Move guts...
41225         (mdir_name): ...to new function that avoids xalloc_die.
41226
41227         fchdir: another mingw fix
41228         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
41229         * lib/fchdir.c (get_name): New helper method; skips canonicalize
41230         on mingw (where it has not yet been ported), and make it optional
41231         elsewhere.
41232         (_gl_register_fd): Use it.
41233
41234         same-inode: make SAME_INODE tri-state, to port to mingw
41235         * NEWS: Mention this change.
41236         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
41237         st_ino always being 0.
41238         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
41239         * lib/cycle-check.c (cycle_check): Likewise.
41240         * lib/same.c (same_name): Likewise.
41241
41242         lstat: avoid mingw compilation error
41243         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
41244         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
41245         lstat ourselves.
41246         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
41247         was adequate.
41248         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
41249         the checks for lstat.
41250         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
41251
41252         link: fix test failure on Solaris 9
41253         * lib/link.c (rpl_link): Don't assume link will catch bogus
41254         trailing slash on source.
41255
41256         test-symlinkat: enhance test
41257         * tests/test-readlink.c (main): Move guts...
41258         * tests/test-readlink.h (test_readlink): ...into new file.
41259         * tests/test-symlink.c (main): Move guts...
41260         * tests/test-symlink.h (test_symlink): ...into new file.
41261         * tests/test-symlinkat.c (main): Use new files for further
41262         coverage.
41263         (do_symlink, do_readlink): New helper functions.
41264         * modules/symlink-tests (Files): Ship new file.
41265         (Depends-on): Add stdbool.
41266         * modules/readlink-tests (Files): Ship new file.
41267         (Depends-on): Add stdbool.
41268         * modules/symlinkat-tests (Files): Use new files.
41269
41270 2009-09-23  Eric Blake  <ebb9@byu.net>
41271
41272         readlink: document portability issue with symlink length
41273         * doc/posix-functions/lstat.texi (lstat): Mention that some file
41274         systems have bogus st_size on symlinks, and mention the
41275         areadlink-with-size module.
41276         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
41277         * doc/posix-functions/readlink.texi (readlink): Mention the
41278         areadlink module, and ERANGE failure.
41279         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
41280         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
41281
41282         readlink: fix Solaris 9 bug with trailing slash
41283         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
41284         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
41285         * doc/posix-functions/readlink.texi (readlink): Document this.
41286         * modules/readlink-tests: New test.
41287         * tests/test-readlink.c: Likewise.
41288
41289         readlink: fix cygwin 1.5.x bug with return type
41290         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
41291         * lib/unistd.in.h (readlink): Use ssize_t.
41292         * lib/readlink.c (readlink): Likewise.
41293         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
41294         * modules/unistd (Makefile.am): Substitute it.
41295         * lib/unistd.in.h (readlink): Declare replacement.
41296         * doc/posix-functions/readlink.texi (readlink): Document this.
41297
41298         symlink: use throughout gnulib
41299         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
41300         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
41301         symlink is not used.
41302         * modules/symlinkat (Depends-on): Add symlink.
41303         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
41304         * modules/canonicalize-tests (Depends-on): Likewise.
41305         * modules/lstat-tests (Depends-on): Likewise.
41306         * modules/openat-tests (Depends-on): Likewise.
41307         * modules/remove-tests (Depends-on): Likewise.
41308         * modules/rmdir-tests (Depends-on): Likewise.
41309         * modules/unlink-tests (Depends-on): Likewise.
41310         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
41311         * tests/test-canonicalize.c (symlink): Likewise.
41312         * tests/test-fstatat.c (symlink): Likewise.
41313         * tests/test-lstat.c (symlink): Likewise.
41314         * tests/test-remove.c (symlink): Likewise.
41315         * tests/test-rmdir.c (symlink): Likewise.
41316         * tests/test-unlink.c (symlink): Likewise.
41317         * tests/test-unlinkat.c (symlink): Likewise.
41318
41319         symlink: new module, for Solaris 9 bug
41320         * modules/symlink: New file.
41321         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
41322         * lib/symlink.c: Likewise.
41323         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
41324         * modules/unistd (Makefile.am): Substitute them.
41325         * lib/unistd.in.h (symlink): Declare replacement.
41326         * MODULES.html.sh (File system functions): Mention it.
41327         * doc/posix-functions/symlink.texi (symlink): Likewise.
41328         * modules/symlink-tests: New test.
41329         * tests/test-symlink.c: Likewise.
41330
41331 2009-09-23  Bruno Haible  <bruno@clisp.org>
41332
41333         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
41334         when needed.
41335         Test case: gnulib-tool --import --with-tests atexit inttypes.
41336         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
41337
41338 2009-09-23  Bruno Haible  <bruno@clisp.org>
41339
41340         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
41341         subcommand, not in a subshell.
41342
41343 2009-09-22  Eric Blake  <ebb9@byu.net>
41344
41345         unistd: sort replacement declarations
41346         * lib/unistd.in.h: Sort declarations.
41347
41348         open, openat: minor optimization
41349         * lib/open.c (open): If open succeeded, len is non-zero.
41350         * lib/openat.c (rpl_openat): Likewise.
41351
41352         link-follow: ensure correct result
41353         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
41354         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
41355         distinguish between possible failures.
41356
41357 2009-09-21  Eric Blake  <ebb9@byu.net>
41358
41359         fts: avoid compiler warning
41360         * lib/fts.c (dirent_inode_sort_may_be_useful)
41361         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
41362
41363 2009-09-19  Bruno Haible  <bruno@clisp.org>
41364
41365         * lib/progreloc.c (canonicalize_file_name): New declaration.
41366
41367 2009-09-19  Eric Blake  <ebb9@byu.net>
41368
41369         link: fix quoting
41370         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
41371
41372         openat: fix openat bugs on Solaris 9
41373         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
41374         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
41375         * modules/openat (Depends-on): Add open.
41376         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
41377         * modules/fcntl-h (Makefile.am): Substitute it.
41378         * lib/fcntl.in.h (openat): Declare replacement.
41379         * doc/posix-functions/openat.texi (openat): Document this.
41380
41381         openat: move fstatat and unlinkat into correct files
41382         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
41383         compiled.
41384         * lib/openat.c (fstatat, unlinkat): Move...
41385         * lib/fstatat.c (fstatat): ...into correct files.
41386         * lib/unlinkat.c (unlinkat): Likewise.
41387
41388         openat: fix unlinkat bugs on Solaris 9
41389         * lib/unlinkat.c (unlinkat): New file.
41390         * modules/openat (Depends-on): Add unlink.
41391         (Files): Distribute it.
41392         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
41393         trailing slash behavior is broken.
41394         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
41395         * modules/unistd (Makefile.am): Substitute it.
41396         * lib/unistd.in.h (unlinkat): Declare replacement.
41397         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
41398
41399         openat: fix fstatat bugs on Solaris 9
41400         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
41401         stat.
41402         * doc/posix-functions/fstatat.texi (fstatat): Document this.
41403
41404         test-unlinkat: enhance test, to expose Solaris 9 bug
41405         * tests/test-unlink.c (main): Factor guts...
41406         * tests/test-unlink.h (test_rmdir_func): ...into new file.
41407         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
41408         * tests/test-rmdir.c (main): Adjust caller.
41409         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
41410         (unlinker): New helper function.
41411         (rmdirat): Enhance check.
41412         * modules/rmdir-tests (Depends-on): Add stdbool.
41413         * modules/unlink-tests (Depends-on): Likewise.
41414         (Files): Add test-unlink.h.
41415         * modules/openat-tests (Files): Likewise.
41416         (Depends-on): Add unlinkdir.
41417
41418         test-fstatat: new test, to expose Solaris 9 bugs
41419         * tests/test-stat.c (main): Factor guts...
41420         * tests/test-stat.h (test_stat_func): ...into new file.
41421         * tests/test-lstat.c (main): Factor guts...
41422         * tests/test-lstat.h (test_lstat_func): ...into new file.
41423         * tests/test-fstatat.c: New file.
41424         * modules/stat-tests (Files): Add test-stat.h.
41425         * modules/lstat-tests (Files): Add test-lstat.h.
41426         (Depends-on): Add stdbool.
41427         * modules/openat-tests (Depends-on): Add pathmax.
41428         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
41429         (Makefile.am): Run new test.
41430
41431         remove: new module, for mingw and Solaris 9 bugs
41432         * modules/remove: New file.
41433         * lib/remove.c: Likewise.
41434         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
41435         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
41436         * modules/stdio (Makefile.am): Use them.
41437         * lib/stdio.in.h (remove): Declare replacement.
41438         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
41439         * doc/posix-functions/remove.texi (remove): Likewise.
41440         * modules/remove-tests: New test.
41441         * tests/test-remove.c: Likewise.
41442
41443         unlink: new module, for Solaris 9 bug
41444         * modules/unlink: New file.
41445         * lib/unlink.c: Likewise.
41446         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
41447         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
41448         * modules/unistd (Makefile.am): Use them.
41449         * lib/unistd.in.h (stat): Declare replacement.
41450         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
41451         * doc/posix-functions/unlink.texi (unlink): Likewise.
41452         * modules/unlink-tests: New test.
41453         * tests/test-unlink.c: Likewise.
41454
41455         lstat: fix Solaris 9 bug
41456         * lib/lstat.c (lstat): Also check for trailing slash on
41457         non-symlink, non-directories.  Use stat module to simplify logic.
41458         * doc/posix-functions/lstat.texi (lstat): Document it.
41459         * modules/lstat-tests (Depends-on): Add errno, same-inode.
41460         (configure.ac): Check for symlink.
41461         * tests/test-lstat.c (main): Add more tests.
41462
41463         stat: add as dependency to other modules
41464         * modules/chown (Depends-on): Add stat.
41465         * modules/euidaccess (Depends-on): Likewise.
41466         * modules/fchdir (Depends-on): Likewise.
41467         * modules/isdir (Depends-on): Likewise.
41468         * modules/link (Depends-on): Likewise.
41469         * modules/lstat (Depends-on): Likewise.
41470         * modules/mkdir-p (Depends-on): Likewise.
41471         * modules/modechange (Depends-on): Likewise.
41472         * modules/open (Depends-on): Likewise.
41473         * modules/readlink (Depends-on): Likewise.
41474         * modules/same (Depends-on): Likewise.
41475
41476         stat: fix Solaris 9 bug
41477         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
41478         slash.
41479         * lib/stat.c (rpl_stat): Work around it.
41480         * doc/posix-functions/stat.texi (stat): Update documentation.
41481
41482         stat: new module, for mingw bug
41483         * modules/stat: New file.
41484         * lib/stat.c: Likewise.
41485         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
41486         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
41487         * modules/sys_stat (Makefile.am): Use them.
41488         * lib/sys_stat.in.h (stat): Declare replacement.
41489         * lib/openat.c (fstatat): Deal with lstat and stat being function
41490         macros.
41491         * modules/openat (Depends-on): Add inline.
41492         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
41493         * doc/posix-functions/stat.texi (stat): Likewise.
41494         * modules/stat-tests: New test.
41495         * tests/test-stat.c: Likewise.
41496
41497 2009-09-19  Jim Meyering  <meyering@redhat.com>
41498
41499         syntax-check: detect unnecessary inclusion of canonicalize.h
41500         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
41501
41502 2009-09-19  Eric Blake  <ebb9@byu.net>
41503
41504         canonicalize-lgpl: adjust clients to use correct header
41505         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
41506         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
41507         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
41508         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
41509         * lib/progreloc.c (includes): Likewise.
41510
41511 2009-09-19  Jim Meyering  <meyering@redhat.com>
41512
41513         test-posixtm.c: correct a comment
41514         * tests/test-posixtm.c: Correct first-line comment.
41515         Spotted by Eric Blake.
41516
41517 2009-09-16  Jim Meyering  <meyering@redhat.com>
41518
41519         posixtm-tests: make T const-correct; add a test case
41520         * tests/test-posixtm.c (T): Declare const.
41521         Add a test for -(2^31+1).
41522         Remove useless can-succeed-only-in-2002 test.
41523
41524         posixtm-tests: adjust the sole failing test
41525         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
41526         expected output matches what mktime now produces.  Cross-checked via
41527         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
41528
41529         posixtm: move #ifdef'd tests into a new module
41530         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
41531         * tests/test-posixtm.c: ... this new file.
41532         * modules/posixtm-tests: New module.
41533
41534 2009-09-19  Eric Blake  <ebb9@byu.net>
41535
41536         openat: simplify use of at-func.c
41537         * lib/at-func.c (includes): Include prerequisites here, to
41538         simplify requirements on client files.
41539         * lib/openat-priv.h: Add double-inclusion guard.
41540         * lib/faccessat.c (includes): Simplify.
41541         * lib/fchmodat.c (includes): Likewise.
41542         * lib/fchownat.c (includes): Likewise.
41543         * lib/mkdirat.c (includes): Likewise.
41544         * lib/mkfifoat.c (includes): Likewise.
41545         * lib/symlinkat.c (includes): Likewise.
41546
41547         openat: allow return of fd 0
41548         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
41549         * modules/save-cwd (Depends-on): Replace fcntl-safer with
41550         unistd-safer.
41551         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
41552         <fcntl.h>; this module does not leak fds.
41553         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
41554         must be allowed to return 0, leaving openat_safer to add the
41555         safety.
41556         (openat_permissive): Avoid writing to just-opened fd 2 if
41557         restoring the current directory fails.
41558         * lib/openat-die.c (openat_restore_fail): Add comment.
41559         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
41560         (save_cwd): Guarantee safe fd, but without use of open_safer.
41561         * tests/test-openat.c: New test.
41562         * modules/openat-tests (Files, Makefile.am): Distribute and build
41563         new file.
41564
41565         relocatable-prog-wrapper: fix build
41566         * modules/relocatable-prog-wrapper (Files): Update name of
41567         canonicalize m4 file, broken on 2009-09-17.
41568         Reported by emad hajjar <aleppos@hotmail.com>.
41569
41570 2009-09-19  Bruno Haible  <bruno@clisp.org>
41571
41572         * lib/safe-alloc.h: Use the standard header with GPL copyright.
41573         * lib/safe-alloc.c: Likewise.
41574         Reported by Ian Beckwith <ianb@erislabs.net>.
41575
41576 2009-09-18  Bruno Haible  <bruno@clisp.org>
41577
41578         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
41579         Reported by <erobles@sensacd.com.mx>.
41580
41581 2009-09-17  Eric Blake  <ebb9@byu.net>
41582
41583         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
41584         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
41585         slashes when checking if last component is missing.
41586         * tests/test-canonicalize.c (main): Test this.
41587
41588         canonicalize, canonicalize-lgpl: honor // if distinct from /
41589         * modules/canonicalize (Files): Add double-slash-root.m4.
41590         * modules/canonicalize-lgpl (Files): Likewise.
41591         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
41592         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
41593         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
41594         fallback definition.
41595         (canonicalize_filename_mode): Use it to protect //.
41596         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
41597         (__realpath): Likewise.
41598         * tests/test-canonicalize.c (main): Test this.
41599         * tests/test-canonicalize-lgpl.c (main): Likewise.
41600         * modules/canonicalize-tests (Depends-on): Add same-inode.
41601         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
41602
41603         canonicalize-lgpl: fix glibc bug with trailing slash
41604         * m4/canonicalize-lgpl.m4: Move contents...
41605         * m4/canonicalize.m4: ...here.
41606         (gl_CANONICALIZE_LGPL): Factor realpath check...
41607         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
41608         glibc 2.3.5 bug, fixed 2005-04-27.
41609         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
41610         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
41611         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
41612         * modules/canonicalize-lgpl (Files): Manage file rename.
41613         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
41614         * modules/stdlib (Makefile.am): Substitute witness.
41615         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
41616         is needed.
41617         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
41618         replacement is required.
41619         * lib/canonicalize.c (canonicalize_file_name): Likewise.
41620         * doc/glibc-functions/canonicalize_file_name.texi
41621         (canonicalize_file_name): Document this.
41622         * doc/posix-functions/realpath.texi (realpath): Likewise.
41623
41624         canonicalize-lgpl: reject non-directory with trailing slash
41625         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
41626         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
41627         catches failures in glibc 2.3.5.
41628         * tests/test-canonicalize.c (main): Likewise.
41629
41630         canonicalize-lgpl: use native realpath if it works
41631         * lib/canonicalize-lgpl.c (realpath): Guard with
41632         FUNC_REALPATH_WORKS.
41633         * lib/stdlib.in.h (realpath): Make declaration optional based on
41634         HAVE_REALPATH.
41635         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
41636         native realpath works.
41637         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
41638         * modules/stdlib (Makefile.am): Substitute witness.
41639
41640         canonicalize, canonicalize-lgpl: use <stdlib.h>
41641         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
41642         (Include): Mention <stdlib.h>.
41643         (configure.ac): Mention functions we provide.
41644         * modules/canonicalize (configure.ac): Likewise.
41645         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
41646         realpath if canonicalize_file_name is missing.
41647         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
41648         * modules/stdlib (Makefile.am): Substitute witnesses.
41649         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
41650         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
41651         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
41652         * NEWS: Document this.
41653         * doc/glibc-functions/canonicalize_file_name.texi
41654         (canonicalize_file_name): Likewise.
41655         * doc/posix-functions/realpath.texi (realpath): Likewise.
41656         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
41657
41658         test-canonicalize: consolidate into single C program
41659         * tests/test-canonicalize.sh: Delete; move setup into...
41660         * tests/test-canonicalize.c (main): ...the program, making it
41661         easier to run in debugger.  Add some tests.
41662         * modules/canonicalize-tests (Files): Remove unused file.
41663         (Depends-on): Add progname.
41664         (configure.ac, Makefile.am): Simplify.
41665
41666         test-canonicalize-lgpl: consolidate into single C program
41667         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
41668         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
41669         easier to run in debugger.  Add some tests.
41670         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
41671         (configure.ac, Makefile.am): Simplify.
41672
41673         canonicalize: avoid resolvepath
41674         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
41675         unnecessary checks.
41676         * lib/canonicalize.c (includes): Simplify.
41677         (canonicalize_file_name): Drop resolvepath implementation.
41678         * modules/canonicalize (Depends-on): Drop filenamecat.
41679
41680         canonicalize: don't lose errno
41681         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
41682         over calls to free.
41683
41684         canonicalize: simplify errno handling
41685         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
41686         assignment.
41687
41688         canonicalize, canonicalize-lgpl: update module dependencies
41689         * modules/canonicalize (Depends-on): Add extensions, lstat,
41690         pathmax, stdlib.
41691         (Files): Drop pathmax.h.
41692         (configure.ac): Adjust macro name.
41693         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
41694         lstat, stdlib, sys_stat.
41695         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
41696         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
41697         extensions.
41698         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
41699         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
41700         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
41701         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
41702         declaration, if available.
41703         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
41704         we can rely on the readlink module.
41705         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
41706         (includes): Use <unistd.h> unconditionally.
41707
41708 2009-09-17  Eric Blake  <ebb9@byu.net>
41709
41710         maint: make Include sections of modules consistent
41711         * modules/alloca: Use only header name; no need to list #include.
41712         * modules/alloca-opt: Likewise.
41713         * modules/arpa_inet: Likewise.
41714         * modules/canon-host: Likewise.
41715         * modules/configmake: Likewise.
41716         * modules/dirent: Likewise.
41717         * modules/eealloc: Likewise.
41718         * modules/environ: Likewise.
41719         * modules/fchdir: Likewise.
41720         * modules/fcntl: Likewise.
41721         * modules/fcntl-h: Likewise.
41722         * modules/gethrxtime: Likewise.
41723         * modules/gettime: Likewise.
41724         * modules/ignore-value: Likewise.
41725         * modules/inet_ntop: Likewise.
41726         * modules/inet_pton: Likewise.
41727         * modules/inttypes: Likewise.
41728         * modules/isnand-nolibm: Likewise.
41729         * modules/isnanf-nolibm: Likewise.
41730         * modules/mbchar: Likewise.
41731         * modules/mbfile: Likewise.
41732         * modules/mbiter: Likewise.
41733         * modules/mbuiter: Likewise.
41734         * modules/netdb: Likewise.
41735         * modules/netinet_in: Likewise.
41736         * modules/nproc: Likewise.
41737         * modules/pagealign_alloc: Likewise.
41738         * modules/poll: Likewise.
41739         * modules/printf-frexp: Likewise.
41740         * modules/pthread: Likewise.
41741         * modules/putenv: Likewise.
41742         * modules/random_r: Likewise.
41743         * modules/relocatable-prog: Likewise.
41744         * modules/search: Likewise.
41745         * modules/select: Likewise.
41746         * modules/selinux-h: Likewise.
41747         * modules/settime: Likewise.
41748         * modules/signal: Likewise.
41749         * modules/size_max: Likewise.
41750         * modules/socklen: Likewise.
41751         * modules/ssize_t: Likewise.
41752         * modules/stdarg: Likewise.
41753         * modules/stdbool: Likewise.
41754         * modules/stddef: Likewise.
41755         * modules/stdint: Likewise.
41756         * modules/stdio: Likewise.
41757         * modules/stdlib: Likewise.
41758         * modules/string: Likewise.
41759         * modules/strings: Likewise.
41760         * modules/sys_file: Likewise.
41761         * modules/sys_ioctl: Likewise.
41762         * modules/sys_select: Likewise.
41763         * modules/sys_socket: Likewise.
41764         * modules/sys_stat: Likewise.
41765         * modules/sys_time: Likewise.
41766         * modules/sys_times: Likewise.
41767         * modules/sys_utsname: Likewise.
41768         * modules/sys_wait: Likewise.
41769         * modules/sysexits: Likewise.
41770         * modules/time: Likewise.
41771         * modules/times: Likewise.
41772         * modules/tmpfile: Likewise.
41773         * modules/trim: Likewise.
41774         * modules/unistd: Likewise.
41775         * modules/wchar: Likewise.
41776         * modules/wctype: Likewise.
41777
41778 2009-09-17  Bruno Haible  <bruno@clisp.org>
41779
41780         Make getdate.y compile on QNX and NetBSD 5 / i386.
41781         * m4/getdate.m4 (gl_GETDATE): Conditionally define
41782         TIME_T_FITS_IN_LONG_INT.
41783         * lib/getdate.y (long_time_t): New type.
41784         (relative_time): Change type of 'seconds' field to long_time_t.
41785         (get_date): Update types of local variables. Check against overflow
41786         during conversion from long_time_t to time_t.
41787         Reported by Matt Kraai <kraai@ftbfs.org>
41788         and Hasso Tepper <hasso@netbsd.org>.
41789
41790 2009-09-17  Bruno Haible  <bruno@clisp.org>
41791
41792         * modules/COPYING: Update copyright years.
41793         * modules/README: Likeiwse.
41794         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
41795         Reported by Ian Beckwith <ianb@erislabs.net>.
41796
41797 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
41798
41799         * users.txt: Update references for gnuit package.
41800
41801 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
41802
41803         * m4/getdelim.m4: Fix typo in copyright line.
41804
41805 2009-09-17  Bruno Haible  <bruno@clisp.org>
41806
41807         * lib/atoll.c: Use the standard header with GPL copyright.
41808         * lib/argz.in.h: Likewise.
41809         * lib/glob.c: Likewise.
41810         * lib/glob-libc.h: Likewise.
41811         * lib/random_r.c: Likewise.
41812         * lib/siglist.h: Likewise.
41813         * lib/strsignal.c: Likewise.
41814         Reported by Ian Beckwith <ianb@erislabs.net>.
41815
41816 2009-09-17  Eric Blake  <ebb9@byu.net>
41817
41818         rmdir: ensure correct dependency order
41819         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
41820
41821 2009-09-17  Bruno Haible  <bruno@clisp.org>
41822
41823         Disable assertion that fails on NetBSD 5 / i386.
41824         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
41825         Reported by Sam Steingold <sds@gnu.org>
41826         and Hasso Tepper <hasso@netbsd.org>.
41827
41828 2009-09-16  Eric Blake  <ebb9@byu.net>
41829
41830         unlinkdir: port to mingw
41831         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
41832         on which no one can unlink a directory.
41833
41834         stdlib: sort witness names
41835         * modules/stdlib (Makefile.am): Sort replacements.
41836         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
41837         * lib/stdlib.in.h: Likewise.
41838
41839         parse-duration-tests: avoid link failure
41840         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
41841         LIBINTL.
41842         Reported by Tom G. Christensen.
41843
41844         openat-tests: ensure unlinkat behaves like rmdir
41845         * tests/test-rmdir.c (main): Factor guts...
41846         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
41847         * modules/rmdir-tests (Files): Ship new file.
41848         * modules/openat-tests: New test.
41849         * tests/test-unlinkat.c: Likewise.
41850
41851         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
41852         * modules/rmdir-errno (Status, Notice): Now obsolete.
41853
41854         rmdir: work around cygwin 1.5.x and mingw bugs
41855         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
41856         * lib/rmdir.c (rmdir): Work around it.
41857         * modules/rmdir (Status, Notice): No longer obsolete.
41858         (Files): Add dos.m4.
41859         (Depends-on): Add unistd.
41860         (configure.ac): Set witnesses.
41861         (License): Relax to LGPLv2+.
41862         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
41863         * modules/unistd (Makefile.am): Substitute witnesses.
41864         * lib/unistd.in.h (rmdir): Declare replacement.
41865         * doc/posix-functions/rmdir.texi (rmdir): Document this.
41866         * modules/rmdir-tests: New tests.
41867         * tests/test-rmdir.c: Likewise.
41868
41869 2009-09-15  Eric Blake  <ebb9@byu.net>
41870
41871         fchdir: improve use of replacement functions
41872         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
41873         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
41874         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
41875         REPLACE_CLOSEDIR.
41876         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
41877         * modules/sys_stat (Makefile.am): Substitute correct witness.
41878         * modules/dirent (Makefile.am): Likewise.
41879         * modules/unistd (Makefile.am): Likewise.
41880         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
41881         * lib/unistd.in.h (dup): Likewise.
41882         * lib/sys_stat.in.h (fstat): Likewise.
41883
41884         maint: ignore gnulib-tool temp files
41885         * .gitignore: Ignore files created during gnulib-tool --test.
41886
41887 2009-09-13  Jim Meyering  <meyering@redhat.com>
41888
41889         posixtm: don't reject a time that specify "60" as the number of seconds
41890         * lib/posixtm.c (posixtime): The code to reject invalid dates
41891         would also reject a time specified with the .60 suffix.
41892         But POSIX allows that, in order to accommodate leap seconds.
41893         So don't reject it.
41894         (main): Adjust tests accordingly.
41895         * modules/posixtm (Depends-on): Add stpcpy.
41896
41897 2009-09-11  Jim Meyering  <meyering@redhat.com>
41898
41899         announce-gen: include [$release_type] in emitted Subject:
41900         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
41901         e.g., [stable] in the emitted Subject: line.
41902
41903 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41904
41905         Remove obsolete macros from several modules.
41906         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
41907         obsolete Autoconf macros with their modern counterparts.
41908         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
41909         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
41910         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
41911         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
41912         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
41913         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
41914         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
41915         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
41916         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
41917         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
41918         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
41919         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
41920         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
41921         * m4/sockets.m4 (gl_SOCKETS): Likewise.
41922         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
41923         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
41924         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
41925         * m4/time_r.m4 (gl_TIME_R): Likewise.
41926         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
41927         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
41928         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
41929
41930         Fix copyright header in build-aux scripts.
41931         * build-aux/git-version-gen: Fix copyright header to match GPLv3
41932         recommendation.
41933         * build-aux/ncftpput-ftp: Likewise.
41934         * build-aux/update-copyright: Likewise.
41935
41936 2009-09-09  Eric Blake  <ebb9@byu.net>
41937
41938         test-link: allow Linux choice of errno
41939         * tests/test-link.c (main): Relax test for alternate error.
41940
41941         strndup: fix improper m4 caching
41942         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
41943         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
41944         (gl_PREREQ_STRNDUP): Delete.
41945         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
41946         * modules/string (Makefile.am): Substitute it.
41947         * lib/string.in.h (strndup): Modernize prototype.
41948
41949         getcwd: port to mingw
41950         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
41951         different from the POSIX assumptions made throughout the getcwd
41952         module; fortunately, the mingw getcwd does not need replacement.
41953         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
41954         * modules/getcwd-tests: New test.
41955         * tests/test-getcwd.c: Likewise.
41956
41957         link: fix platform bugs
41958         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
41959         * lib/link.c (link): Work around them.  Fix related mingw bug.
41960         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
41961         * modules/unistd (Makefile.am): Substitute it.
41962         * lib/unistd.in.h (link): Declare replacement.
41963         * doc/posix-functions/link.texi (link): Document this.
41964         * modules/link (Depends-on): Add strdup-posix, sys_stat.
41965
41966         test-link: consolidate into single C program, test more cases
41967         * tests/test-link.sh: Delete.
41968         * tests/test-link.c: Test more error conditions.  Exposes bugs on
41969         at least Cygwin and Solaris.
41970         * modules/link-tests (Files): Remove unused file.
41971         (Depends-on): Add errno, sys_stat.
41972         (Makefile.am): Simplify.
41973
41974 2009-09-08  Bruno Haible  <bruno@clisp.org>
41975
41976         Work around towlower, towupper bug on mingw.
41977         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
41978         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
41979         * doc/posix-functions/towlower.texi: Mention the mingw bug.
41980         * doc/posix-functions/towupper.texi: Likewise.
41981         Reported by Eric Blake.
41982
41983 2009-09-08  Jim Meyering  <meyering@redhat.com>
41984
41985         build: don't try to run autoheader if we don't use it
41986         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
41987         is not used in configure.ac.
41988
41989 2009-09-08  Eric Blake  <ebb9@byu.net>
41990
41991         euidaccess: fix compilation error
41992         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
41993
41994         rawmemchr: relax license
41995         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
41996         okay.
41997         Reported by Jim Meyering.
41998
41999         mkfifoat: new module
42000         * modules/mkfifoat: New file.
42001         * lib/mkfifoat.c: Likewise.
42002         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
42003         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
42004         * modules/sys_stat (Makefile.am): Use them.
42005         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
42006         * MODULES.html.sh (File system functions): Mention module.
42007         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
42008         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
42009         * modules/mkfifoat-tests: New test.
42010         * tests/test-mkfifoat.c: Likewise.
42011
42012         strchrnul: relax license
42013         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
42014         okay.
42015         Reported by Jim Meyering.
42016
42017 2009-09-08  Eric Blake  <ebb9@byu.net>
42018
42019         fstatat: fix compilation on Solaris
42020         * lib/fstatat.c (includes): Add fcntl.h.
42021         Reported by Pádraig Brady.
42022
42023 2009-09-07  Eric Blake  <ebb9@byu.net>
42024
42025         rename: modernize replacement
42026         * modules/rename (Depends-on): Add stdio.
42027         (configure.ac): Declare witness.
42028         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
42029         stdio take care of replacement.
42030         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
42031         * modules/stdio (Makefile.am): Substitute them.
42032         * lib/stdio.in.h (rename): Declare replacement.
42033         * lib/rename.c (includes): Allow cross-compilation to non-windows
42034         machines.
42035         * doc/posix-functions/rename.texi (rename): Improve
42036         documentation.
42037
42038         stdio: sort witness names
42039         * modules/stdio (Makefile.am): Sort replacements.
42040         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
42041         * lib/stdio.in.h: Likewise.
42042
42043         getcwd: minor cleanups
42044         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
42045         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
42046
42047         openat: provide more convenience names
42048         * modules/faccessat (configure.ac): Add C witness.
42049         * lib/unistd.in.h (readlinkat): Fix typo.
42050         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
42051         convenience wrappers.
42052         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
42053         wrappers in syntax checks.
42054
42055 2009-09-06  Eric Blake  <ebb9@byu.net>
42056
42057         doc: fix comments in recent patches
42058         * lib/faccessat.c: Mention correct function.
42059         * lib/fchmodat.c: Likewise.
42060         * lib/fchownat.c: Likewise.
42061         * lib/symlinkat.c: Likewise.
42062         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
42063         constants.
42064
42065         faccessat, symlinkat: continue cleanup of previous patch
42066         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
42067         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
42068         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
42069         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
42070         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
42071         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
42072         set.
42073
42074 2009-09-06  Bruno Haible  <bruno@clisp.org>
42075
42076         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
42077         (fstatat): Declare if GNULIB_FSTATAT is set.
42078         (mkdirat): Declare if GNULIB_MKDIRAT is set.
42079         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
42080         (unlinkat): Declare if GNULIB_UNLINKAT is set.
42081         * modules/fcntl-h (Files): Remove m4/openat.m4.
42082         * modules/sys_stat (Files): Remove m4/openat.m4.
42083         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
42084         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
42085         * modules/unistd (Files): Remove m4/openat.m4.
42086         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
42087         GNULIB_OPENAT.
42088         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
42089         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
42090         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
42091         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
42092         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
42093         gl_OPENAT_DEFAULTS.
42094         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
42095         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
42096         Don't require gl_OPENAT_DEFAULTS.
42097         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
42098         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
42099         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
42100         (gl_OPENAT_DEFAULTS): Remove macro.
42101
42102 2009-09-06  Bruno Haible  <bruno@clisp.org>
42103
42104         * modules/openat (configure.ac): Remove unneeded witness.
42105
42106 2009-09-06  Bruno Haible  <bruno@clisp.org>
42107
42108         Set errno to ENOSYS when a function is entirely unsupported.
42109         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
42110         EOPNOTSUPP.
42111         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
42112         * modules/chown (Depends-on): Remove errno.
42113
42114 2009-09-06  Bruno Haible  <bruno@clisp.org>
42115
42116         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
42117
42118 2009-09-06  Bruno Haible  <bruno@clisp.org>
42119
42120         * lib/sys_stat.in.h: Fix preprocessor command indentation.
42121
42122 2009-09-06  Ben Pfaff  <blp@gnu.org>
42123             Bruno Haible  <bruno@clisp.org>
42124
42125         Work around a glibc bug in strtok_r.
42126         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
42127         Undefine if UNDEFINE_STRTOK_R is set.
42128         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
42129         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
42130         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
42131         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
42132         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
42133         UNDEFINE_STRTOK_R.
42134         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
42135
42136 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
42137
42138         exclude: minor fix
42139         * lib/exclude.c: Include wctype.h
42140
42141 2009-09-06  Akim Demaille  <demaille@gostai.com>
42142
42143         bootstrap: improve error message
42144         * build-aux/bootstrap (find_tool): Upon failure, report the list
42145         of candidates.
42146         Honor the initial value of the envvar.
42147
42148 2009-09-05  Eric Blake  <ebb9@byu.net>
42149
42150         symlinkat: new module
42151         * modules/symlinkat: New file.
42152         * lib/symlinkat.c: Likewise.
42153         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
42154         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
42155         * modules/unistd (Makefile.am): Use them.
42156         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
42157         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
42158         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
42159         * MODULES.html.sh (File system functions): Mention module.
42160         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
42161         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
42162         * modules/symlinkat-tests: New test.
42163         * tests/test-symlinkat.c: Likewise.
42164
42165         test-openat-safer: add more checks
42166         * tests/test-openat-safer.c (main): Check more code paths.
42167
42168 2009-09-05  Jim Meyering  <meyering@redhat.com>
42169
42170         syntax-check: detect unnecessary inclusion of openat.h
42171         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
42172
42173 2009-09-05  Bruno Haible  <bruno@clisp.org>
42174
42175         Support towlower, towupper.
42176         * doc/posix-functions/towlower.texi: Mention module wctype.
42177         * doc/posix-functions/towupper.texi: Likewise.
42178         * lib/wctype.in.h (towlower, towupper): New functions.
42179         * tests/test-wctype.c: Include stdio.h, stdlib.h.
42180         (ASSERT): New macro.
42181         (e): New variable.
42182         (main): Test also towlower, towupper. Test WEOF argument.
42183         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
42184
42185 2009-09-05  Bruno Haible  <bruno@clisp.org>
42186
42187         Fix conversion behaviour when the input is invalid.
42188         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
42189         mark occurring in first pass of indirect conversion.
42190         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
42191         input.
42192         Found by clang's static analyzer.
42193
42194 2009-09-05  Bruno Haible  <bruno@clisp.org>
42195
42196         * tests/test-striconveh.c (main): Test indirect conversion on platforms
42197         where direct conversion is possible.
42198
42199 2009-09-04  Eric Blake  <ebb9@byu.net>
42200
42201         openat: fail with ENOENT on empty name
42202         * lib/openat-proc.c (openat_proc_name): Special-case the empty
42203         buffer.
42204
42205         link-follow: fix logic bug in prior patch
42206         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
42207         reversed sense of yes and no in prior patch.  Avoid confusing
42208         compilation failure with desired semantics.
42209
42210         link-follow: accommodate mingw and cross-compilation
42211         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
42212         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
42213         cross-compilation results to -1, to make linkat easier to
42214         implement when cross-compiling.  Trivially support mingw.
42215         * modules/link-follow (configure.ac): Call new name.
42216         * NEWS: Mention this.
42217
42218 2009-09-03  Eric Blake  <ebb9@byu.net>
42219
42220         faccessat: compile replacement
42221         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
42222         needed.
42223
42224         fts: fix compilation error
42225         * lib/fts.c (includes): Re-add "openat.h", for
42226         openat_needs_fchdir.
42227
42228         faccessat: new module
42229         * modules/faccessat: New file.
42230         * lib/faccessat.c: Likewise.
42231         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
42232         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
42233         * modules/unistd (Makefile.am): Use it.
42234         * lib/unistd.in.h (faccessat): Declare it.
42235         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
42236         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
42237         * MODULES.html.sh (File system functions): Mention it.
42238         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
42239         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
42240
42241         euidaccess: prefer POSIX over non-standard implementation
42242         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
42243         * lib/euidaccess.c (euidaccess): Use it if available.
42244
42245         openat: make template easier to use
42246         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
42247         AT_FUNC_F2 to be undefined.
42248         (VALIDATE_FLAG): New macro; use it to reject bad flags.
42249         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
42250         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
42251         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
42252         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
42253         Likewise.
42254         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
42255         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
42256         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
42257         Likewise.
42258
42259         openat: declare in POSIX headers
42260         * NEWS: Mention this.
42261         * modules/openat (configure.ac): Declare witnesses.
42262         (Depends-on): Add fcntl-h, sys_stat, unistd.
42263         (Include): Mention correct headers.
42264         * modules/fcntl-h (Depends-on): Add link-warning.
42265         (Files): Add openat.m4.
42266         (Makefile.am): Substitute witnesses.
42267         * modules/sys_stat (Files, Makefile.am): Likewise.
42268         * modules/unistd (Files, Makefile.am): Likewise.
42269         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
42270         (gl_OPENAT_DEFAULTS): New macro.
42271         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
42272         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
42273         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
42274         (SYS_STAT_H): Remove unused variable.
42275         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
42276         * lib/fcntl--.h (includes): Remove unneeded header.
42277         * lib/openat-safer.c (includes): Likewise.
42278         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
42279         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
42280         appropriate headers.
42281         (__OPENAT_PREFIX): Delete.
42282         * lib/fcntl.in.h (openat): Provide declaration.
42283         (AT_FDCWD): Fix Solaris bug.
42284         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
42285         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
42286         * lib/fchmodat.c (includes):  Adjust to find declaration.
42287         * lib/fchownat.c (includes): Likewise.
42288         * lib/mkdirat.c (includes): Likewise.
42289         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
42290         still visible.
42291
42292 2009-09-02  Eric Blake  <ebb9@byu.net>
42293
42294         errno: use consistently
42295         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
42296         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
42297         * lib/canonicalize.c (ELOOP): Likewise.
42298         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
42299         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
42300         * lib/lchown.c (EOPNOTSUPP): Likewise.
42301         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
42302         * lib/savewd.c (ESTALE): Likewise.
42303         * lib/settime.c (ENOSYS): Likewise.
42304         * lib/utimens.c (ENOSYS): Likewise.
42305         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
42306         * lib/chdir-safer.c (ELOOP): Likewise.
42307         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
42308         * modules/c-stack (Depends-on): Add errno.
42309         * modules/canonicalize (Depends-on): Likewise.
42310         * modules/chdir-safer (Depends-on): Likewise.
42311         * modules/fdopendir (Depends-on): Likewise.
42312         * modules/inet_ntop (Depends-on): Likewise.
42313         * modules/inet_pton (Depends-on): Likewise.
42314         * modules/lchown (Depends-on): Likewise.
42315         * modules/openat (Depends-on): Likewise.
42316         * modules/savewd (Depends-on): Likewise.
42317         * modules/settime (Depends-on): Likewise.
42318         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
42319
42320         fts: avoid leaking fds
42321         * modules/fts (Depends-on): Add cloexec.
42322         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
42323         flag.
42324
42325         fts: make directory fds more robust
42326         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
42327         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
42328
42329         backupfile, chdir-long, fts, savedir: make safer
42330         * lib/backupfile.c (includes): Use "dirent--.h", since
42331         numbered_backup can write to stderr during readdir.
42332         * lib/savedir.c (includes): Likewise.
42333         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
42334         emulation can write to stderr on failure.
42335         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
42336         * lib/getcwd.c: Document why opendir_safer is unused.
42337         * lib/glob.c: Likewise.
42338         * lib/scandir.c: Likewise.
42339         * lib/openat-proc.c: Likewise, for open_safer.
42340         * modules/backupfile (Depends-on): Add dirent-safer.
42341         * modules/savedir (Depends-on): Likewise.
42342         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
42343         * modules/chdir-long (Depends-on): Add openat-safer.
42344
42345         openat-safer: new module
42346         * modules/openat-safer: New file.
42347         * lib/openat-safer.c: Likewise.
42348         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
42349         * lib/fcntl-safer.h (openat_safer): Declare.
42350         * lib/fcntl--.h (openat): Override.
42351         * MODULES.html.sh (File descriptor based I/O): Mention it.
42352         * lib/openat.h: Add double-inclusion guards.
42353         * lib/openat.c (includes): Only include "fcntl-safer.h", not
42354         "fcntl--.h", so we can implement openat.
42355         * modules/openat-safer-tests: New test.
42356         * tests/test-openat-safer.c: New file.
42357
42358         dirent-safer: new module
42359         * modules/dirent-safer: New file.
42360         * lib/dirent--.h: Likewise.
42361         * lib/dirent-safer.h: Likewise.
42362         * lib/opendir-safer.c: Likewise.
42363         * m4/dirent-safer.m4: Likewise.
42364         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
42365         * modules/dirent-safer-tests: New test.
42366         * tests/test-dirent-safer.c: New file.
42367         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
42368
42369         fdopendir: optimize on mingw
42370         * lib/unistd.in.h (_gl_directory_name): New prototype.
42371         * lib/fchdir.c (_gl_directory_name): Implement it.
42372         (fchdir): Use it to simplify implementation.
42373         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
42374         fchdir, when available, to avoid calling [f]chdir().
42375
42376         fdopendir: split into its own module
42377         * lib/openat.c (fdopendir): Move...
42378         * lib/fdopendir.c: ...into new file.
42379         * modules/fdopendir: New module.
42380         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
42381         * modules/openat (Depends-on): Add fdopendir.
42382         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
42383         fdopendir here.
42384         * modules/savedir (Depends-on): Only need fdopendir, not full
42385         openat.
42386         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
42387         * lib/openat.h (fdopendir): Drop prototype.
42388         * lib/dirent.in.h (fdopendir): Provide prototype.
42389         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
42390         * modules/dirent (Makefile.am): Substitute them.
42391         * MODULES.html.sh (File system functions): Mention it.
42392         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
42393         * modules/fdopendir-tests: New file.
42394         * tests/test-fdopendir.c: Likewise.
42395
42396         fchdir: use more consistent macro convention
42397         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
42398         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
42399         REPLACE_FCHDIR, rather than relying on config.h macros.
42400         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
42401         inside a single make-time REPLACE_FCHDIR block, rather than using
42402         the config.h FCHDIR_REPLACEMENT.
42403         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
42404         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
42405         Manage fstat replacement.
42406         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
42407         REPLACE_FCHDIR.
42408         * modules/sys_stat (Files): Add m4/unistd_h.m4.
42409         (Makefile.am): Substitute REPLACE_FCHDIR.
42410         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
42411         FCHDIR_REPLACEMENT.
42412         * lib/dup-safer.c (dup_safer): Likewise.
42413         * lib/dup2.c (rpl_dup2): Likewise.
42414         * lib/dup3.c (rpl_dup3): Likewise.
42415         * lib/open.c (rpl_open): Likewise.
42416
42417         fchdir: simplify error handling, and support dup3
42418         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
42419         stdbool, malloc-posix, realloc-posix.
42420         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
42421         (ensure_dirs_slot): Return false on allocation failure.
42422         (rpl_dup2): Delete.
42423         (_gl_register_dup): New function.
42424         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
42425         (_gl_register_fd): Close fd on allocation failure.
42426         * lib/fcntl.in.h (_gl_register_fd): Update signature.
42427         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
42428         prototype.
42429         (rpl_dup2_fchdir): Delete prototype.
42430         * lib/open.c (open): Update caller.
42431         * lib/dup2.c (dup2): Track fchdir metadata.
42432         * lib/dup3.c (dup3): Likewise.
42433         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
42434         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
42435
42436 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42437
42438         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
42439         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
42440         don't pass arguments to AC_OUTPUT.
42441
42442 2009-09-02  Bruno Haible  <bruno@clisp.org>
42443
42444         * modules/mkdtemp (License): Relicense under LGPLv2+.
42445         Reported by Paolo Bonzini.
42446
42447 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42448
42449         Replace uses of obsolete autoconf macros in Jim's modules.
42450         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
42451         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
42452         can evoke a warning from autoconf when run with -Wobsolete
42453         enabled.  They were declared obsolete for good reasons (see
42454         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
42455         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
42456         should not continue using the deprecated macros.
42457         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
42458         obsolete Autoconf macros with modern counterparts.
42459         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
42460         * m4/dos.m4 (gl_AC_DOS): Likewise.
42461         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
42462         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
42463         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
42464         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
42465         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
42466         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
42467         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
42468         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
42469         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
42470         Likewise.
42471         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
42472         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
42473         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
42474         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
42475         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
42476         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
42477
42478 2009-09-01  Eric Blake  <ebb9@byu.net>
42479
42480         fchdir: fix off-by-one bug in previous patch
42481         * lib/fchdir.c (rpl_fstat): Use correct bounds.
42482         (_gl_unregister_fd): Delete useless if.
42483
42484 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
42485
42486         maint.mk: sort the list of syntax-check rules
42487         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
42488         easier to get a sense of progress when the rules are run sequentially
42489         and take a long time.
42490
42491 2009-09-01  Simon Josefsson  <simon@josefsson.org>
42492
42493         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
42494         * modules/netinet_in: Likewise.
42495         * modules/sys_file: Likewise.
42496         * modules/sys_ioctl: Likewise.
42497         * modules/sys_select: Likewise.
42498         * modules/sys_socket: Likewise.
42499         * modules/sys_stat: Likewise.
42500         * modules/sys_time: Likewise.
42501         * modules/sys_times: Likewise.
42502         * modules/sys_utsname: Likewise.
42503         * modules/sys_wait: Likewise.
42504
42505 2009-09-01  Jim Meyering  <meyering@redhat.com>
42506
42507         fts: help ensure that return values are not ignored
42508         * lib/fts_.h (__GNUC_PREREQ): Define.
42509         (__attribute_warn_unused_result__): Define.
42510         (fts_children, fts_close, fts_open, fts_read): Declare with
42511         __attribute_warn_unused_result__.
42512
42513         fts: fts_close now fails also when closing a dir file descriptor fails
42514         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
42515         and propagate to caller, along with errno.
42516
42517         announce-gen: correct formatting in --help output
42518         * build-aux/announce-gen (usage): Move the one-line description in
42519         --help output "up", to where it belongs, just after Usage:.
42520
42521 2009-08-31  Eric Blake  <ebb9@byu.net>
42522
42523         fchdir: port to mingw
42524         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
42525         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
42526         opened, then use a substitute.
42527         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
42528         replacement.
42529         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
42530         (_gl_register_fd): No need to check stat if open already filters
42531         all directories.
42532         (fchdir): Fix error condition to match POSIX.
42533         * modules/fchdir (Depends-on): Add sys_stat.
42534         * doc/posix-functions/open.texi (open): Document the limitation.
42535         * modules/fchdir-tests: New file.
42536         * tests/test-fchdir.c: Likewise.
42537
42538         canonicalize: allow cross-testing from cygwin to mingw
42539         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
42540         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
42541         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
42542         Likewise.
42543         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
42544         target does not support symlinks.
42545         * tests/test-canonicalize-lgpl.sh: Likewise.
42546
42547         chown: avoid compilation warning on mingw
42548         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
42549         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
42550         mingw.
42551         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
42552         * modules/chown (Depends-on): Add errno.
42553
42554 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
42555
42556         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
42557         command.
42558
42559 2009-08-31  Jim Meyering  <meyering@redhat.com>
42560
42561         canonicalize: remove useless initialization
42562         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
42563         initialization of local, "end".
42564
42565 2009-08-30  Bruno Haible  <bruno@clisp.org>
42566
42567         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
42568         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
42569         ENOSYS.
42570
42571 2009-08-30  Bruno Haible  <bruno@clisp.org>
42572
42573         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
42574         /usr/xpg4/bin/tr when it exists.
42575         * tests/test-pipe-filter-gi1.sh: Likewise.
42576
42577 2009-08-30  Bruno Haible  <bruno@clisp.org>
42578
42579         Work around deficient /usr/bin/id program on Solaris.
42580         * tests/test-file-has-acl.sh (ID): New variable.
42581         * tests/test-set-mode-acl.sh (ID): Likewise.
42582         * tests/test-copy-acl.sh (ID): Likewise.
42583         * tests/test-copy-file.sh (ID): Likewise.
42584
42585 2009-08-30  Bruno Haible  <bruno@clisp.org>
42586
42587         New module 'xstriconveh'.
42588         * lib/xstriconveh.h: New file.
42589         * lib/xstriconveh.c: New file.
42590         * modules/xstriconveh: New file.
42591
42592 2009-08-30  Bruno Haible  <bruno@clisp.org>
42593
42594         Make it easier to use mem_cd_iconveh.
42595         * lib/striconveh.h (iconveh_t): New type.
42596         (iconveh_open, iconveh_close): New declarations.
42597         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
42598         with a single 'const iconveh_t *' argument.
42599         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
42600         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
42601         with a single 'const iconveh_t *' argument.
42602         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
42603         * tests/test-striconveh.c (main): Update.
42604         * NEWS: Mention the change.
42605
42606 2009-08-30  Bruno Haible  <bruno@clisp.org>
42607
42608         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
42609         problem.
42610
42611 2009-08-30  Bruno Haible  <bruno@clisp.org>
42612
42613         Work around iconv_open problem on Solaris.
42614         * lib/iconv_open-solaris.gperf: New file.
42615         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
42616         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
42617         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
42618         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
42619         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
42620         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
42621
42622 2009-08-29  Jim Meyering  <meyering@redhat.com>
42623
42624         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
42625         * top/maint.mk (cvs-check): Remove target; it was just an alias
42626         to the better-named vc-diff-check.
42627         (maintainer-distcheck): Remove rule.  It was used only from
42628         the (alpha/beta/major) target, and all of its commands but one
42629         were coreutils-specific.
42630         (vc-dist): Remove rule.
42631         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
42632         Run vc-diff-check, not vc-dist.
42633         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
42634
42635 2009-08-27  Bruno Haible  <bruno@clisp.org>
42636
42637         * tests/test-bitrotate.c (main): Remove test that uses a shift count
42638         of 0.
42639
42640 2009-08-27  Bruno Haible  <bruno@clisp.org>
42641
42642         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
42643         compilers.
42644         * doc/func.texi: Document the SunPRO C bug.
42645
42646 2009-08-27  Bruno Haible  <bruno@clisp.org>
42647
42648         Fix link error on Solaris.
42649         * tests/test-parse-duration.c (xstrdup): Remove function.
42650
42651 2009-08-26  Pádraig Brady  <P@draigbrady.com>
42652
42653         ignore-value: handle pointer types, too
42654         * lib/ignore-value.h (__attribute__): Remove definition.
42655         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
42656         of a more concise and more-often effective "(void) i" statement.
42657         (ignore_ptr): New function to suppress warnings from functions that
42658         return pointers, and to make it explicit that one function doesn't
42659         handle all cases.
42660
42661 2009-08-25  Bruno Haible  <bruno@clisp.org>
42662
42663         dup2: work around a Linux bug.
42664         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
42665         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
42666         * doc/posix-functions/dup2.texi: Mention the Linux bug.
42667         Reported by Simon Josefsson.
42668
42669 2009-08-25  Jim Meyering  <meyering@redhat.com>
42670
42671         libguestfs uses gnulib
42672         * users.txt: Add libguestfs.
42673
42674 2009-08-24  Eric Blake  <ebb9@byu.net>
42675
42676         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
42677         * lib/pipe2.c (includes): Add binary-io.h.
42678         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
42679
42680 2009-08-24  Bruno Haible  <bruno@clisp.org>
42681
42682         Tolerate declared but missing accept4 syscall.
42683         * lib/accept4.c (accept4): Invoke original accept4 function first, if
42684         available.
42685         * lib/sys_socket.in.h (accept4): If the function is already present,
42686         override it.
42687         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
42688         * modules/accept4 (Makefile.am): Compile accept4.c always.
42689         Reported by Paolo Bonzini and Eric Blake.
42690
42691 2009-08-23  Bruno Haible  <bruno@clisp.org>
42692
42693         New module 'accept4'.
42694         * lib/sys_socket.in.h (accept4): New declaration.
42695         * lib/accept4.c: New file.
42696         * m4/accept4.m4: New file.
42697         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
42698         GNULIB_ACCEPT4, HAVE_ACCEPT4.
42699         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
42700         HAVE_ACCEPT4.
42701         * modules/accept4: New file.
42702         * doc/glibc-functions/accept4.texi: Mention the new module.
42703
42704 2009-08-24  Jim Meyering  <meyering@redhat.com>
42705
42706         progname: also set global program_invocation_name, when possible
42707         Before this change, a libtool-enabled program that calls glibc's
42708         error function would report the program name as
42709         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
42710         * modules/progname (configure.ac): Check for a declaration of
42711         program_invocation_name.
42712         * lib/progname.c:  Include <errno.h>.
42713         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
42714         Set program_invocation_name.
42715
42716 2009-08-23  Bruno Haible  <bruno@clisp.org>
42717
42718         * lib/dup3.c: Include <string.h>.
42719
42720 2009-08-23  Bruno Haible  <bruno@clisp.org>
42721
42722         * lib/dup3.c (dup3): Test only once whether the system actually exists.
42723         * lib/pipe2.c (pipe2): Likewise.
42724         Suggested by Eric Blake.
42725
42726 2009-08-23  Bruno Haible  <bruno@clisp.org>
42727
42728         Tolerate declared but missing dup3 syscall.
42729         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
42730         * lib/unistd.in.h (dup3): If the function is already present,
42731         override it.
42732         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
42733         * modules/dup3 (Makefile.am): Compile dup3.c always.
42734         Reported by Paolo Bonzini.
42735
42736 2009-08-23  Bruno Haible  <bruno@clisp.org>
42737
42738         Tolerate declared but missing pipe2 syscall.
42739         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
42740         available.
42741         * lib/unistd.in.h (pipe2): If the function is already present,
42742         override it.
42743         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
42744         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
42745         Reported by Paolo Bonzini.
42746
42747 2009-08-23  Bruno Haible  <bruno@clisp.org>
42748
42749         * lib/pipe2.c (pipe2): Move #ifs inside function.
42750
42751 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
42752
42753         quotearg: document limitations of quote_these_too
42754         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
42755         those limitations are created.
42756         * lib/quotearg.h (set_char_quoting): Document that digits and
42757         letters that are special after backslash are not permitted.
42758         (quotearg_char): Cross-reference set_char_quoting documentation.
42759
42760 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
42761
42762         quotearg: implement custom_quoting_style
42763         * lib/quotearg.c: (struct quoting_options): Add left_quote and
42764         right_quote fields.
42765         (set_custom_quoting): New public function.
42766         (quotearg_buffer_restyled): Add left_quote and right_quote
42767         arguments, handle them very much like locale quoting, and update
42768         all uses.
42769         (quotearg_n_custom): New public function.
42770         (quotearg_n_custom_mem): New public function.
42771         (quotearg_custom): New public function.
42772         (quotearg_custom_mem): New public function.
42773         * lib/quotearg.h: Prototype and document new public functions.
42774         (enum quoting_style): For escape_quoting_style and
42775         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
42776         ignored even though they're otherwise like c_quoting_style.
42777         Add custom_quoting_style member and document with comparison to
42778         clocale_quoting_style.
42779         * tests/test-quotearg.c (custom_quotes): New array.
42780         (custom_results): New array.
42781         (main): Extend to test custom quoting.
42782
42783 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
42784
42785         quotearg: fix right quote escaping when it's in quote_these_too
42786         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
42787         quote, be sure to prepend only one backslash.
42788         * tests/test-quotearg.c (use_quote_double_quotes): New function.
42789         (main): Test it.
42790
42791 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
42792
42793         quotearg-tests: test escaping of embedded locale quotes
42794         * tests/test-quotearg.c (struct result_strings): Add member for
42795         new input.
42796         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
42797         (inputs): Add new input.
42798         (results_g): Add expected results.
42799         (flag_results): Likewise.
42800         (locale_results): Likewise.
42801         (compare_strings): Check those.
42802
42803 2009-08-23  Bruno Haible  <bruno@clisp.org>
42804
42805         Tests for module 'dup3'.
42806         * modules/dup3-tests: New file.
42807         * tests/test-dup3.c: New file.
42808
42809         New module 'dup3'.
42810         * lib/unistd.in.h (dup3): New declaration.
42811         * lib/dup3.c: New file.
42812         * m4/dup3.m4: New file.
42813         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
42814         HAVE_DUP3.
42815         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
42816         * modules/dup3: New file.
42817         * doc/glibc-functions/dup3.texi: Mention the new module.
42818
42819 2009-08-23  Bruno Haible  <bruno@clisp.org>
42820
42821         Tweak the dup2 test.
42822         * tests/test-dup2.c (main): Create the test file empty. Verify that an
42823         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
42824         the test file is still empty. Fix argument order of lseek.
42825
42826 2009-08-23  Bruno Haible  <bruno@clisp.org>
42827
42828         Avoid test link errors when the modules getopt-gnu, gettext are used.
42829         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
42830         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
42831
42832 2009-08-23  Bruno Haible  <bruno@clisp.org>
42833
42834         Fix getdtablesize() on mingw.
42835         * lib/getdtablesize.c (getdtablesize): Implement differently.
42836         * lib/unistd.in.h (getdtablesize): Improve comment.
42837
42838 2009-08-23  Bruno Haible  <bruno@clisp.org>
42839
42840         New module 'mkostemp'.
42841         Based on Ulrich Drepper's 2007-08-10 change in glibc.
42842         * lib/stdlib.in.h (mksotemp): New declaration.
42843         * lib/mkostemp.c: New file, from glibc with modifications.
42844         * lib/tempname.h (GT_FILE): Remove outdated comment.
42845         (gen_tempname): Add flags argument.
42846         * lib/tempname.c (__GT_BIGFILE): Remove macro.
42847         (__GT_FILE): Map to 1.
42848         (small_open, large_open): Remove macros.
42849         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
42850         * lib/mkstemp.c (mkstemp): Update.
42851         * lib/mkdtemp.c (mkdtemp): Likewise.
42852         * m4/mkostemp.m4: New file.
42853         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
42854         HAVE_MKOSTEMP.
42855         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
42856         HAVE_MKOSTEMP.
42857         * modules/mkostemp: New file, based on modules/mkstemp.
42858         * doc/glibc-functions/mkostemp.texi: Mention the new module.
42859         * NEWS: Mention the change.
42860
42861 2009-08-23  Bruno Haible  <bruno@clisp.org>
42862
42863         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
42864         Reported by Eric Blake.
42865
42866 2009-08-23  Bruno Haible  <bruno@clisp.org>
42867
42868         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
42869         Reported by Eric Blake.
42870
42871 2009-08-23  Bruno Haible  <bruno@clisp.org>
42872
42873         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
42874         * modules/pipe2 (Depends-on): Likewise.
42875
42876 2009-08-23  Eric Blake  <ebb9@byu.net>
42877
42878         fcntl-h: add O_TTY_INIT support
42879         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
42880         * tests/test-fcntl-h.c (o): Test it.
42881         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
42882
42883         fcntl-h: rename from fcntl, in preparation for fcntl(2)
42884         * modules/fcntl: Move <fcntl.h> header replacement...
42885         * modules/fcntl-h: ...to new name, so as not to collide with
42886         like-named function.
42887         * tests/test-fcntl.c: Rename...
42888         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
42889         * modules/fcntl-tests: Rename...
42890         * modules/fcntl-h-tests: ...to this.  Update test file name.
42891         * modules/chdir-long (Depends-on): Update clients.
42892         * modules/chdir-safer (Depends-on): Likewise.
42893         * modules/fcntl-safer (Depends-on): Likewise.
42894         * modules/fts (Depends-on): Likewise.
42895         * modules/mkancesdirs (Depends-on): Likewise.
42896         * modules/mkdir-p (Depends-on): Likewise.
42897         * modules/open (Depends-on): Likewise.
42898         * modules/savewd (Depends-on): Likewise.
42899         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
42900         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
42901
42902 2009-08-22  Bruno Haible  <bruno@clisp.org>
42903
42904         * modules/binary-io (License): Relicense under LGPL.
42905         * modules/pipe2 (License): Likewise.
42906
42907 2009-08-22  Bruno Haible  <bruno@clisp.org>
42908
42909         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
42910         return value.
42911         * lib/pipe-filter-gi.c (filter_init): Likewise.
42912         Reported by Eric Blake.
42913
42914 2009-08-22  Bruno Haible  <bruno@clisp.org>
42915
42916         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
42917         * modules/pipe (Depends-on): Add pipe2.
42918
42919 2009-08-22  Bruno Haible  <bruno@clisp.org>
42920
42921         Tests for module 'pipe2'.
42922         * modules/pipe2-tests: New file.
42923         * tests/test-pipe2.c: New file.
42924
42925         New module 'pipe2'.
42926         * lib/unistd.in.h (pipe2): New declaration.
42927         * lib/pipe2.c: New file.
42928         * m4/pipe2.m4: New file.
42929         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
42930         HAVE_PIPE2.
42931         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
42932         * modules/pipe2: New file.
42933         * doc/glibc-functions/pipe2.texi: Mention the new module.
42934
42935 2009-08-22  Bruno Haible  <bruno@clisp.org>
42936
42937         Reference some new glibc functions.
42938         * doc/glibc-functions/accept4.texi: New file.
42939         * doc/glibc-functions/dup3.texi: New file.
42940         * doc/glibc-functions/mkostemp.texi: New file.
42941         * doc/glibc-functions/pipe2.texi: New file.
42942         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
42943         (Glibc sys/socket.h): Refer to accept4.
42944         (Glibc unistd.h): Refer to dup3, pipe2.
42945         Reported by Eric Blake.
42946
42947 2009-08-22  Jim Meyering  <meyering@redhat.com>
42948             Bruno Haible  <bruno@clisp.org>
42949
42950         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
42951         This makes it so packages using automake-1.11's silent-rules option
42952         can print e.g., a single "GEN    configmake.h" line, rather than
42953         the 30+ statements that perform the job.  If you want to see the
42954         actual commands, you can still run "make V=1".
42955         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
42956         so that make output is abbreviated when those variables are defined
42957         appropriately.
42958         * modules/argz: Likewise.
42959         * modules/arpa_inet: Likewise.
42960         * modules/byteswap: Likewise.
42961         * modules/configmake: Likewise.
42962         * modules/dirent: Likewise.
42963         * modules/errno: Likewise.
42964         * modules/fcntl: Likewise.
42965         * modules/float: Likewise.
42966         * modules/fnmatch: Likewise.
42967         * modules/getopt-posix: Likewise.
42968         * modules/glob: Likewise.
42969         * modules/iconv_open: Likewise.
42970         * modules/inttypes: Likewise.
42971         * modules/localcharset: Likewise.
42972         * modules/locale: Likewise.
42973         * modules/math: Likewise.
42974         * modules/netdb: Likewise.
42975         * modules/netinet_in: Likewise.
42976         * modules/poll: Likewise.
42977         * modules/posix_spawnp-tests: Likewise.
42978         * modules/sched: Likewise.
42979         * modules/search: Likewise.
42980         * modules/selinux-h: Likewise.
42981         * modules/signal: Likewise.
42982         * modules/spawn: Likewise.
42983         * modules/stdarg: Likewise.
42984         * modules/stdbool: Likewise.
42985         * modules/stddef: Likewise.
42986         * modules/stdint: Likewise.
42987         * modules/stdio: Likewise.
42988         * modules/stdlib: Likewise.
42989         * modules/string: Likewise.
42990         * modules/strings: Likewise.
42991         * modules/sys_file: Likewise.
42992         * modules/sys_ioctl: Likewise.
42993         * modules/sys_select: Likewise.
42994         * modules/sys_socket: Likewise.
42995         * modules/sys_stat: Likewise.
42996         * modules/sys_time: Likewise.
42997         * modules/sys_times: Likewise.
42998         * modules/sys_utsname: Likewise.
42999         * modules/sys_wait: Likewise.
43000         * modules/sysexits: Likewise.
43001         * modules/time: Likewise.
43002         * modules/unistd: Likewise.
43003         * modules/wchar: Likewise.
43004         * modules/wctype: Likewise.
43005
43006 2009-08-22  Jim Meyering  <meyering@redhat.com>
43007
43008         announce-gen: detect write failure
43009         * build-aux/announce-gen: Add Coda at end.
43010         Remove equivalent-but-more-verbose block at top.
43011
43012 2009-08-19  Akim Demaille  <demaille@gostai.com>
43013
43014         bootstrap: --help to stdout.
43015         * bootstrap (usage): Don't send --help to stderr.
43016         Use a here doc instead of a long string.
43017
43018 2009-08-21  Eric Blake  <ebb9@byu.net>
43019
43020         test-popen-safer: split from test-popen
43021         * tests/test-popen.c (main): Move...
43022         * tests/test-popen.h: ...into new file.
43023         * tests/test-popen-safer2.c: New file.
43024         * modules/popen-tests (Files): Add test-popen.h.
43025         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
43026         Suggested by Bruno Haible.
43027
43028         test-fcntl-safer: split from test-open
43029         * tests/test-open.c (main): Move...
43030         * tests/test-open.h: ...into new file.
43031         * tests/test-fcntl-safer.c: New file.
43032         * modules/open-tests (Files): Add test-open.h.
43033         * modules/fcntl-safer-tests: New file.
43034         Suggested by Bruno Haible.
43035
43036         test-fopen-safer: split from test-fopen
43037         * tests/test-fopen.c (main): Move...
43038         * tests/test-fopen.h: ...into new file.
43039         * tests/test-fopen-safer.c: New file.
43040         * modules/fopen-tests (Files): Add test-fopen.h.
43041         * modules/fopen-safer-tests: New file.
43042         Suggested by Bruno Haible.
43043
43044 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
43045
43046         popen-safer: test O_CLOEXEC at run-time.
43047         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
43048
43049 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
43050
43051         fcntl: move more flags to the header
43052         * lib/cloexec.c: Do not define FD_CLOEXEC here.
43053         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
43054         * lib/fcntl.in.h: Do both things here.
43055
43056 2009-08-21  Jim Meyering  <meyering@redhat.com>
43057
43058         consistently remove $@-t before redirecting to it
43059         * modules/argz: Remove $@-t and $@ before redirecting to the former.
43060         * modules/alloca-opt: Likewise.
43061         * modules/byteswap: Likewise.
43062         * modules/fnmatch: Likewise.
43063         * modules/getopt-posix: Likewise.
43064         * modules/glob: Likewise.
43065         * modules/poll: Likewise.
43066         * modules/posix_spawnp-tests: Likewise.
43067         * modules/sys_socket: Likewise.
43068         * modules/sysexits: Likewise.
43069
43070 2009-08-21  Eric Blake  <ebb9@byu.net>
43071
43072         popen: simplify access to original popen
43073         * lib/popen.c (rpl_popen): No need to worry about popen being a
43074         macro.
43075         Reported by Bruno Haible.
43076
43077 2009-08-20  Eric Blake  <ebb9@byu.net>
43078
43079         build: avoid some compiler warnings
43080         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
43081         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
43082         type.
43083         (new_exclude_segment, excluded_file_pattern_p)
43084         (excluded_file_name_p): Reduce scope.
43085         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
43086         old-style declaration.
43087
43088 2009-08-20  Simon Josefsson  <simon@josefsson.org>
43089
43090         * tests/test-exclude1.sh: Handle Windows EOL.
43091         * tests/test-exclude2.sh: Likewise.
43092         * tests/test-exclude3.sh: Likewise.
43093         * tests/test-exclude4.sh: Likewise.
43094         * tests/test-exclude5.sh: Likewise.
43095         * tests/test-exclude6.sh: Likewise.
43096         * tests/test-exclude7.sh: Likewise.
43097
43098 2009-08-19  Akim Demaille  <demaille@gostai.com>
43099
43100         bootstrap: find sha1sum when named gsha1sum.
43101         * bootstrap (find_tool): New.
43102         ($SHA1SUM): New.
43103         Use it.
43104
43105 2009-08-20  Jim Meyering  <meyering@redhat.com>
43106
43107         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
43108         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
43109         expression that converts "." in a file name to "\." in the resulting
43110         regexp.  Start with a dummy statement, so that prior shell variable
43111         definitions are expanded portably.  Reported by Simon Josefsson.
43112
43113 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
43114
43115         Fix polling for writeability of a screen buffer.
43116         * lib/poll.c: Distinguish input and screen buffers for the
43117         Win32 implementation.
43118         * lib/select.c: Likewise.
43119
43120 2009-08-19  Eric Blake  <ebb9@byu.net>
43121
43122         popen-safer: prevent popen from clobbering std descriptors
43123         * modules/popen-safer: New file.
43124         * lib/popen-safer.c: Likewise.
43125         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
43126         * lib/stdio--.h (popen): Provide override.
43127         * lib/stdio-safer.h (popen_safer): Provide declaration.
43128         * tests/test-popen.c (includes): Partially test this.
43129         * modules/popen-safer-tests: New file, for more tests.
43130         * tests/test-popen-safer.c: Likewise.
43131         * MODULES.html.sh (file stream based Input/Output): Mention it.
43132
43133         tests: test some of the *-safer modules
43134         * modules/fopen-safer (Depends-on): Add fopen.
43135         * modules/fcntl-safer (Depends-on): Add fcntl.
43136         * modules/stdlib-safer (Depends-on): Add stdlib.
43137         (configure.ac): Set indicator.
43138         * modules/unistd-safer (configure.ac): Likewise.
43139         * modules/tmpfile-safer (configure.ac): Likewise.
43140         (Depends-on): Add tmpfile.
43141         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
43142         active.
43143         * tests/test-fopen.c (includes): Test safer versions when they are
43144         in use.
43145         * tests/test-open.c (includes): Likewise.
43146
43147         popen: fix cygwin 1.5 bug when stdin closed
43148         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
43149         * modules/popen: New file.
43150         * modules/popen-tests: Likewise.
43151         * tests/test-popen.c: Likewise.
43152         * m4/popen.m4: Likewise.
43153         * lib/popen.c: Likewise.
43154         * lib/stdio.in.h (popen): New declaration.
43155         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
43156         * modules/stdio (Makefile.am): Likewise.
43157         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
43158
43159 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
43160
43161         maint.mk: give full control over update-copyright exclusions
43162         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
43163         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
43164         (update-copyright): Don't force inclusion of top-level
43165         ChangeLog.  Don't force exclusion of all COPYING files, but make
43166         them the default exclusion instead.
43167
43168 2009-08-16  Bruno Haible  <bruno@clisp.org>
43169
43170         Fix test failures on Solaris 10.
43171         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
43172         tests when Solaris iconv() is used.
43173         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
43174         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
43175         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
43176         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
43177         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
43178
43179 2009-08-16  Bruno Haible  <bruno@clisp.org>
43180
43181         Fix test failures on Solaris 10.
43182         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
43183         'tr' program and pass it as first argument.
43184         * tests/test-pipe-filter-gi1.sh: Likewise.
43185         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
43186         program as first argument.
43187         * tests/test-pipe-filter-gi1.c (main): Likewise.
43188
43189 2009-08-16  Eric Blake  <ebb9@byu.net>
43190
43191         fpurge: fix previous commits
43192         * modules/fpurge (Makefile.am): Make replacement conditional,
43193         partially reverting 2007-04-29 change; missed in previous
43194         attempt.
43195         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
43196         is missing.
43197
43198 2009-08-16  Bruno Haible  <bruno@clisp.org>
43199
43200         Clarify fpurge's effect on the file position.
43201         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
43202         * tests/test-fpurge.c (main): Make a second pass for checking the file
43203         position.
43204
43205 2009-08-16  Bruno Haible  <bruno@clisp.org>
43206
43207         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
43208         declaration of fpurge is missing.
43209         * tests/test-fpurge.c (main): Check that the file has not more contents
43210         than expected. Close the file before removing it.
43211
43212 2009-08-15  Eric Blake  <ebb9@byu.net>
43213
43214         fpurge: don't wrap working cygwin implementation
43215         * lib/fpurge.c (fpurge): Fix comment typo.
43216         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
43217         1.7 to avoid replacement.
43218         * tests/test-fpurge.c (main): Enhance test.
43219
43220 2009-08-15  Eric Blake  <ebb9@byu.net>
43221         and Jim Meyering  <meyering@redhat.com>
43222
43223         test-update-copyright: skip if perl is insufficient
43224         * tests/test-update-copyright.sh: Failure to run maintainer tool
43225         should not cause testsuite failure on cygwin 1.5.
43226
43227 2009-08-14  Eric Blake  <ebb9@byu.net>
43228
43229         doc: mention more functions added in cygwin 1.7.0
43230         * doc/posix-headers/limits.texi (limits.h): Update for recent
43231         cygwin additions.
43232         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
43233         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
43234         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
43235         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
43236         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
43237
43238 2009-08-14  Eric Blake  <ebb9@byu.net>
43239
43240         maint.mk: simplify update-copyright rule
43241         * top/maint.mk (update-copyright-local): Delete, and document how
43242         to do it in cfg.mk instead.
43243         (update-copyright-exclude-regexp): Delete, and document how to do
43244         it in .x-update-copyright instead.
43245         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
43246         exclude ChangeLog.
43247
43248 2009-08-14  Bruno Haible  <bruno@clisp.org>
43249
43250         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
43251
43252 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
43253
43254         maint.mk: support update-copyright-env
43255         * top/maint.mk (update-copyright-env): Define place-holder.
43256         (update-copyright): Expand $(update-copyright-env) before
43257         invoking update-copyright.
43258
43259 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
43260
43261         update-copyright: implement forced reformatting
43262         * build-aux/update-copyright: Implement and document
43263         UPDATE_COPYRIGHT_FORCE.
43264         * tests/test-update-copyright.sh: Test it.
43265
43266 2009-08-14  Eric Blake  <ebb9@byu.net>
43267         and Bruno Haible  <bruno@clisp.org>
43268
43269         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
43270         * tests/test-locale.c: Revert previous patch related to NULL.
43271         * tests/test-stdio.c: Likewise.
43272         * tests/test-stdlib.c: Likewise.
43273         * tests/test-string.c: Likewise.
43274         * tests/test-unistd.c: Likewise.
43275         * modules/time-tests (Depends-on): Add verify.
43276         * modules/wchar-tests (Depends-on): Likewise.
43277         * tests/test-time.c: Test for NULL compliance.
43278         * tests/test-wchar.c: Likewise.
43279         * modules/locale (Depends-on): Add stddef.
43280         * modules/stdio (Depends-on): Likewise.
43281         * modules/stdlib (Depends-on): Likewise.
43282         * modules/string (Depends-on): Likewise.
43283         * modules/time (Depends-on): Likewise.
43284         * modules/unistd (Depends-on): Likewise.
43285         * modules/wchar (Depends-on): Likewise.
43286         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
43287         * lib/stdlib.in.h (includes): Likewise.
43288         * lib/string.in.h (includes): Likewise.
43289         * lib/time.in.h (includes): Likewise.
43290         * lib/unistd.in.h (includes): Likewise.
43291         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
43292         replaced.
43293         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
43294         * m4/stddef_h.m4: New file.
43295         * modules/stddef: Likewise.
43296         * lib/stddef.in.h: Likewise.
43297         * modules/stddef-tests: Likewise.
43298         * tests/test-stddef.c: Likewise.
43299         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
43300         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
43301         * doc/posix-headers/locale.texi (locale.h): Likewise.
43302         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
43303         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
43304         * doc/posix-headers/string.texi (string.h): Likewise.
43305         * doc/posix-headers/time.texi (time.h): Likewise.
43306         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
43307         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
43308
43309 2009-08-14  Eric Blake  <ebb9@byu.net>
43310
43311         doc: improve git diff of texinfo files
43312         * .gitattributes: Add rule for *.texi files, with hint on how to
43313         use it.
43314         Copied from m4, and based on a report by Bruno Haible.
43315
43316 2009-08-14  Bruno Haible  <bruno@clisp.org>
43317
43318         Disable multithread support by default on Cygwin 1.5.x for real.
43319         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
43320
43321 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
43322
43323         update-copyright: much ado about intervals
43324         * build-aux/update-copyright: Implement and document
43325         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
43326         of copyright year intervals.
43327         Also, document UPDATE_COPYRIGHT_YEAR.
43328         * tests/test-update-copyright.sh: Test it.
43329
43330         update-copyright: convert 2-digit to 4-digit years
43331         * build-aux/update-copyright: Implement and document.
43332         * tests/test-update-copyright.sh: Update.
43333
43334 2009-08-14  Jim Meyering  <meyering@redhat.com>
43335
43336         test-exclude: avoid coreutils "make check" failure
43337         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
43338         just as in test-argmatch.c.
43339
43340 2009-08-13  Eric Blake  <ebb9@byu.net>
43341
43342         test-dup2: fix bad assumption
43343         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
43344         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
43345
43346         test-version-etc: fix CRLF portability issue
43347         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
43348         recognize \r.
43349         * tests/test-argp-version-etc-1.sh: Likewise.
43350
43351         getopt: update client modules
43352         * modules/argp (Depends-on): Use getopt-gnu.
43353         * modules/git-merge-changelog (Depends-on): Likewise.
43354         * modules/long-options (Depends-on): Likewise.
43355         * modules/xstrtol (Depends-on): Likewise.
43356
43357 2009-08-13  Simon Josefsson  <simon@josefsson.org>
43358
43359         * tests/test-version-etc.sh: Don't fail on different
43360         project/version.  Don't fail on CRLF differences.  Rewrite to use
43361         multiple -e instead of multiple sed forks, suggested by Eric Blake
43362         <ebb9@byu.net>.
43363         * tests/test-argp-version-etc-1.sh: Likewise.
43364
43365 2009-08-13  Simon Josefsson  <simon@josefsson.org>
43366
43367         * tests/test-version-etc.sh: Don't fail on different
43368         project/version.
43369
43370 2009-08-12  Bruno Haible  <bruno@clisp.org>
43371
43372         Tests for modules 'getopt-posix', 'getopt-gnu'.
43373         * modules/getopt-posix-tests: New file.
43374         * tests/test-getopt.c: New file.
43375         * tests/test-getopt.h: New file.
43376         * tests/test-getopt_long.h: New file.
43377
43378         New modules 'getopt-posix', 'getopt-gnu'.
43379         * modules/getopt-gnu: New file, renamed from modules/getopt.
43380         * modules/getopt-posix: New file.
43381         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
43382         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
43383         (gl_GETOPT): Remove macro.
43384         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
43385         Disable the test against BSD systems that declare optreset. Test
43386         against mingw bug. Test against lack of support of optional arguments
43387         on many platforms.
43388         * doc/glibc-headers/getopt.texi: Update module name and list of
43389         relevant platforms.
43390         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
43391         'getopt-gnu' and more portability problems.
43392         * NEWS: Mention the changes.
43393
43394 2009-08-12  Bruno Haible  <bruno@clisp.org>
43395
43396         Ensure that optarg etc. get declared by <unistd.h>.
43397         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
43398         AC_USE_SYSTEM_EXTENSIONS.
43399         * modules/getopt (Depends-on): Add 'extensions'.
43400
43401 2009-08-12  Bruno Haible  <bruno@clisp.org>
43402
43403         Avoid test link errors.
43404         * modules/pipe-filter-ii-tests (Makefile.am): Define
43405         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
43406         * modules/pipe-filter-gi-tests (Makefile.am): Define
43407         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
43408         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
43409
43410 2009-08-12  Bruno Haible  <bruno@clisp.org>
43411
43412         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
43413         gl_GETOPT_SUBSTITUTE before.
43414         (gl_GETOPT): Use it.
43415         * m4/argp.m4 (gl_ARGP): Update.
43416         Reported by Sergey Poznyakoff.
43417
43418         * m4/getopt.m4: Reorder macros.
43419         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
43420         (gl_GETOPT_SUBSTITUTE): Remove macro.
43421
43422 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
43423
43424         Minor improvement in gitlog-to-changelog
43425
43426         * build-aux/gitlog-to-changelog: New option `--format' makes
43427         output format string configurable.
43428
43429 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
43430
43431         Optimize exclude: use hash tables for non-wildcard patterns.
43432
43433         * lib/exclude.c: Include hash.h and mbuiter.h
43434         (struct exclude_pattern, exclude_segment): New data types.
43435         (struct exclude): Rewrite.
43436         (fnmatch_pattern_has_wildcards): New function.
43437         (new_exclude_segment, free_exclude_segment): New functions.
43438         (excluded_file_pattern_p, excluded_file_name_p): New functions.
43439         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
43440         * lib/exclude.h (is_fnmatch_pattern): New prototype.
43441         * modules/exclude: Depend on hash and mbuiter.
43442
43443         * modules/exclude-tests: New file.
43444         * tests/test-exclude.c: New file.
43445         * tests/test-exclude1.sh: New file.
43446         * tests/test-exclude2.sh: New file.
43447         * tests/test-exclude3.sh: New file.
43448         * tests/test-exclude4.sh: New file.
43449         * tests/test-exclude5.sh: New file.
43450         * tests/test-exclude6.sh: New file.
43451         * tests/test-exclude7.sh: New file.
43452
43453 2009-08-12  Bruno Haible  <bruno@clisp.org>
43454
43455         Ensure that getopt() gets declared by <unistd.h>.
43456         * lib/unistd.in.h: Conditionally include getopt.h.
43457         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
43458         Set GNULIB_UNISTD_H_GETOPT.
43459         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
43460         GNULIB_UNISTD_H_GETOPT.
43461         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
43462
43463 2009-08-12  Bruno Haible  <bruno@clisp.org>
43464
43465         Clarify logic.
43466         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
43467         gl_replace_getopt instead of GETOPT_H.
43468
43469 2009-08-12  Bruno Haible  <bruno@clisp.org>
43470
43471         * m4/getopt.m4: Add comments.
43472
43473 2009-08-12  Bruno Haible  <bruno@clisp.org>
43474
43475         Disable multithread support by default on Cygwin 1.5.x.
43476         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
43477         set gl_use_threads=no if not specified otherwise.
43478
43479 2009-08-11  Bruno Haible  <bruno@clisp.org>
43480
43481         Avoid compilation error on NetBSD 5.0.
43482         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
43483         * tests/test-stdio.c: Likewise.
43484         * tests/test-stdlib.c: Likewise.
43485         * tests/test-string.c: Likewise.
43486         * tests/test-unistd.c: Likewise.
43487         Reported by Greg Troxel <gdt@ir.bbn.com>
43488         at <https://savannah.gnu.org/support/?106973>.
43489
43490 2009-08-11  Bruno Haible  <bruno@clisp.org>
43491
43492         * modules/dup2-tests (Depends-on): Remove close.
43493
43494         Undo 2009-07-19 commit.
43495         * modules/acl-tests (Depends-on): Remove close.
43496         * modules/binary-io-tests (Depends-on): Likewise.
43497         * modules/closein-tests (Depends-on): Likewise.
43498         * modules/flock-tests (Depends-on): Likewise.
43499         * modules/fsync-tests (Depends-on): Likewise.
43500         * modules/lseek-tests (Depends-on): Likewise.
43501         * modules/pipe-tests (Depends-on): Likewise.
43502         * modules/posix_spawn-tests (Depends-on): Likewise.
43503         * modules/posix_spawnp-tests (Depends-on): Likewise.
43504         * modules/stat-time-tests (Depends-on): Likewise.
43505         * modules/yesno-tests (Depends-on): Likewise.
43506
43507 2009-08-10  Bruno Haible  <bruno@clisp.org>
43508
43509         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
43510
43511 2009-08-10  Bruno Haible  <bruno@clisp.org>
43512
43513         Fix a gcc warning.
43514         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
43515
43516 2009-08-10  Bruno Haible  <bruno@clisp.org>
43517
43518         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
43519         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
43520         not only the first time.
43521         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
43522         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
43523         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
43524         is 1, not only the the first time.
43525
43526 2009-08-10  Bruno Haible  <bruno@clisp.org>
43527
43528         Make it possible to use module 'gethostname' without module 'close'.
43529         * lib/unistd.in.h (close): Evoke a link error only if
43530         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
43531         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
43532         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
43533         * modules/unistd (Makefile.am): Substitute
43534         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
43535         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
43536         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
43537         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
43538         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
43539         * modules/sys_ioctl (Makefile.am): Substitute
43540         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
43541         * modules/socket (configure.ac): On native Windows, set
43542         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
43543         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
43544         Reported by Sam Steingold <sds@gnu.org>.
43545
43546 2009-08-10  Bruno Haible  <bruno@clisp.org>
43547
43548         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
43549         * modules/ioctl (configure.ac): Likewise.
43550
43551 2009-08-10  Bruno Haible  <bruno@clisp.org>
43552
43553         Avoid collision between gnulib wrapper and libintl wrapper.
43554         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
43555         already defined in intl/printf.c.
43556         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
43557         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
43558
43559 2009-08-09  Bruno Haible  <bruno@clisp.org>
43560
43561         Make <sys/select.h> really self-contained, also on Solaris 10.
43562         * lib/sys_select.in.h: Include <string.h>.
43563         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
43564         Solaris 10 problem.
43565         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
43566         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
43567         Reported by Jim Meyering.
43568
43569 2009-08-09  Bruno Haible  <bruno@clisp.org>
43570
43571         Avoid warnings from 'aclocal' that are due to a use of macro name
43572         AM_XGETTEXT_OPTION that is not defined in automake.
43573         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
43574         automake.
43575         * modules/error (configure.ac): Likewise.
43576         * modules/propername (configure.ac): Likewise.
43577         * modules/vasprintf (configure.ac): Likewise.
43578         * modules/verror (configure.ac): Likewise.
43579         * modules/xprintf (configure.ac): Likewise.
43580         * modules/xvasprintf (configure.ac): Likewise.
43581
43582 2009-08-08  Bruno Haible  <bruno@clisp.org>
43583
43584         Avoid compilation error in C++ mode.
43585         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
43586         Reported by Sam Steingold <sds@gnu.org>.
43587
43588 2009-08-08  Bruno Haible  <bruno@clisp.org>
43589
43590         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
43591         for the various Unix platforms.
43592         * doc/posix-headers/limits.texi: Update platforms list regarding
43593         HOST_NAME_MAX.
43594         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
43595
43596 2009-08-07  Jim Meyering  <meyering@redhat.com>
43597
43598         selinux-at: fix typo in a comment
43599         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
43600         Spotted by Paolo Bonzini.
43601
43602         selinux-at: remove redundant m4 code, add documentation
43603         * modules/selinux-at (configure.ac): Remove redundant code.
43604         LIB_SELINUX is already set via the dependent module, selinux-h.
43605         (Include): Add quotes around selinux-at.h.
43606         * lib/selinux-at.h: Add documentation.
43607         Reported by Bruno Haible in
43608         http://marc.info/?l=gnulib-bug&m=124958988300749
43609
43610 2009-08-07  Bruno Haible  <bruno@clisp.org>
43611
43612         Avoid link error on MacOS X 10.3 and 10.4.
43613         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
43614         on non-ELF systems.
43615         * lib/argp-pv.c (argp_program_version): Likewise.
43616         Reported by Simon Josefsson.
43617
43618 2009-08-07  Simon Josefsson  <simon@josefsson.org>
43619
43620         * tests/test-version-etc.sh: Use $EXEEXT.
43621
43622 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
43623
43624         update-copyright: update documentation to point to maint.mk
43625         * build-aux/update-copyright: Here.
43626
43627 2009-08-06  Jim Meyering  <meyering@redhat.com>
43628
43629         maint.mk: support update-copyright-local
43630         * top/maint.mk (update-copyright-local): Define place-holder.
43631         (update-copyright): Depend on $(update-copyright-local).
43632
43633 2009-08-06  Jim Meyering  <meyering@redhat.com>
43634
43635         selinux-at: new module
43636         Initially written for coreutils, this module will soon be
43637         used by findutils, too.
43638         * MODULES.html.sh [Misc]: Add selinux-at.
43639         * lib/selinux-at.h: New file, from coreutils.
43640         * lib/selinux-at.c: Likewise.
43641         * modules/selinux-at: Likewise.
43642         (License): Change from LGPL to GPL, since it depends
43643         on the GPL'd openat module.
43644
43645         doc: update README
43646         * README: Remove references to cogito.
43647         Remove cvs-repo-updating instructions from 2007.
43648         Don't imply that CVS is better if you have limited disk space.
43649
43650 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
43651
43652         update-copyright: support C-style comments
43653         * build-aux/update-copyright: Implement and document.
43654         * tests/test-update-copyright.sh: Test.
43655
43656 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
43657
43658         update-copyright: support omitted "(C)"
43659         * build-aux/update-copyright: Implement and document.  Also,
43660         allow variable whitespace before "(C)".
43661         * tests/test-update-copyright.sh: Test.
43662
43663 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
43664
43665         update-copyright: don't trip on non-FSF copyright statements
43666         * build-aux/update-copyright: Fix so that the first correctly
43667         formatted FSF copyright statement is recognized no matter what
43668         appears before it.  Update documentation.
43669         * tests/test-update-copyright.sh: Test that.
43670
43671 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
43672
43673         update-copyright: clean up code a little
43674         * build-aux/update-copyright: Append "_re" to the name of any
43675         variable holding a regular expression.
43676         Replace "old" and "new" with "stmt" in variable names.
43677         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
43678         handled correctly.
43679         Format code more consistently.
43680
43681 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
43682
43683         update-copyright-tests: improve portability
43684         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
43685         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
43686
43687 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
43688
43689         update-copyright: support @copyright{} and &copy;
43690         * build-aux/update-copyright: Implement and document.
43691         * tests/test-update-copyright.sh: Test.
43692
43693 2009-08-04  Jim Meyering  <meyering@redhat.com>
43694
43695         update-copyright-tests: correctly test EOL=\r\n handling
43696         * tests/test-update-copyright.sh: Put \r at the end of some lines
43697         for the dos-eol tests.  Based on a patch by Joel E. Denny.
43698
43699         maint.mk: make update-copyright exclusion list more configurable
43700         * top/maint.mk (update-copyright): Default to excluding COPYING,
43701         but allow an override, in case someone does want to update that file.
43702
43703         maint.mk: don't update copyright date in COPYING
43704         * top/maint.mk (update-copyright): Exclude COPYING.
43705
43706         maint.mk: add a copyright-updating rule
43707         * top/maint.mk (update-copyright): New rule.
43708         Derived from coreutils/Makefile.am.
43709
43710         update-copyright: rename some variables
43711         * build-aux/update-copyright: Rename a few variables for clarity.
43712         Tweak syntax.  List Joel E. Denny as coauthor.
43713
43714 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
43715
43716         update-copyright: fix bug for 2-digit last year and add tests
43717         * build-aux/update-copyright: Fix bug.
43718         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
43719         specified.
43720         * modules/update-copyright-tests: New
43721         * tests/test-update-copyright.sh: New.
43722
43723 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
43724
43725         update-copyright: handle leading tabs in line prefix
43726         * build-aux/update-copyright: Count leading tabs as 8 spaces
43727         when computing margin.  This helps with the formatting of
43728         ChangeLogs, for example.
43729         Fix documentation a little.
43730
43731 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
43732
43733         update-copyright: support EOL=\r\n
43734         * build-aux/update-copyright: Implement that.
43735
43736 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
43737
43738         update-copyright: automatically format copyright statements
43739         * build-aux/update-copyright: Implement that.
43740         Also, be a little more predictable and safer by always failing
43741         when the full copyright format is not perfectly recognized as an
43742         unbroken whole.  Discussed at
43743         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
43744         Rewrite documentation.
43745
43746 2009-08-03  Bruno Haible  <bruno@clisp.org>
43747
43748         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
43749
43750 2009-08-02  Bruno Haible  <bruno@clisp.org>
43751
43752         Tests for module 'uname'.
43753         * modules/uname-tests: New file.
43754         * tests/test-uname.c: New file.
43755
43756         New module 'uname'.
43757         * lib/uname.c: New file.
43758         * m4/uname.m4: New file.
43759         * modules/uname: New file.
43760         * doc/posix-functions/uname.texi: Mention the new module.
43761
43762 2009-08-02  Bruno Haible  <bruno@clisp.org>
43763
43764         Tests for module 'sys_utsname'.
43765         * modules/sys_utsname-tests: New file.
43766         * tests/test-sys_utsname.c: New file.
43767
43768         New module 'sys_utsname'.
43769         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
43770         * m4/sys_utsname_h.m4: New file.
43771         * modules/sys_utsname: New file.
43772         * doc/posix-headers/sys_utsname.texi: Mention the new module.
43773
43774 2009-08-02  Bruno Haible  <bruno@clisp.org>
43775
43776         Implicitly initialize the sockets library.
43777         * lib/gethostname.c: Include sockets.h.
43778         (rpl_gethostname): Invoke gl_sockets_startup.
43779         * lib/socket.c: Include sockets.h.
43780         (rpl_socket): Invoke gl_sockets_startup.
43781         * modules/gethostname (Depends-on): Add sockets.
43782         * modules/socket (Depends-on): Likewise.
43783         * tests/test-poll.c: Don't include sockets.h.
43784         (main): Don't invoke gl_sockets_startup.
43785         * tests/test-select.c: Don't include sockets.h.
43786         (main): Don't invoke gl_sockets_startup.
43787
43788 2009-08-02  Bruno Haible  <bruno@clisp.org>
43789
43790         Allow multiple calls to gl_sockets_startup.
43791         * lib/sockets.c (initialized_sockets_version): New variable.
43792         (gl_sockets_startup): Do nothing if already called for this or a higher
43793         version.
43794         (gl_sockets_cleanup): Reset initialized_sockets_version.
43795
43796 2009-08-03  Simon Josefsson  <simon@josefsson.org>
43797
43798         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
43799         different project/version.
43800
43801 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
43802             Bruno Haible  <bruno@clisp.org>
43803
43804         Tests for module 'pipe-filter-gi'.
43805         * modules/pipe-filter-gi-tests: New file.
43806         * tests/test-pipe-filter-gi1.sh: New file.
43807         * tests/test-pipe-filter-gi1.c: New file.
43808         * tests/test-pipe-filter-gi2.sh: New file.
43809         * tests/test-pipe-filter-gi2-main.c: New file.
43810         * tests/test-pipe-filter-gi2-child.c: New file.
43811
43812         New module 'pipe-filter-gi'.
43813         * lib/pipe-filter-gi.c: New file.
43814         * modules/pipe-filter-gi: New file.
43815
43816 2009-08-02  Bruno Haible  <bruno@clisp.org>
43817             Paolo Bonzini  <bonzini@gnu.org>
43818
43819         Tests for module 'pipe-filter-ii'.
43820         * modules/pipe-filter-ii-tests: New file.
43821         * tests/test-pipe-filter-ii1.sh: New file.
43822         * tests/test-pipe-filter-ii1.c: New file.
43823         * tests/test-pipe-filter-ii2.sh: New file.
43824         * tests/test-pipe-filter-ii2-main.c: New file.
43825         * tests/test-pipe-filter-ii2-child.c: New file.
43826
43827         New module 'pipe-filter-ii'.
43828         * lib/pipe-filter.h: New file.
43829         * lib/pipe-filter-ii.c: New file.
43830         * lib/pipe-filter-aux.h: New file.
43831         * modules/pipe-filter-ii: New file.
43832
43833 2009-08-02  Simon Josefsson  <simon@josefsson.org>
43834
43835         * lib/gc-libgcrypt.c: Change copyright to FSF.
43836         * lib/gc-gnulib.c: Likewise.
43837
43838 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
43839
43840         * lib/gethostname.c: Include limits.h.
43841
43842 2009-08-02  Simon Josefsson  <simon@josefsson.org>
43843             Bruno Haible  <bruno@clisp.org>
43844
43845         Ensure HOST_NAME_MAX as part of the gethostname module.
43846         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
43847         define also HOST_NAME_MAX.
43848         * tests/test-gethostname.c: Include <limits.h>.
43849         (main): Check also HOST_NAME_MAX.
43850         * doc/posix-headers/limits.texi: Document the mingw problem.
43851
43852 2009-08-02  Bruno Haible  <bruno@clisp.org>
43853
43854         * lib/gethostname.c (gethostname): Fix handling of large len argument.
43855         Add comments.
43856
43857 2009-03-31  Simon Josefsson  <simon@josefsson.org>
43858
43859         * lib/gethostname.c: Add Windows wrapper.
43860         * m4/gethostname.m4: Look for gethostname in -lws2_32.
43861         * modules/gethostname: Depend on sys_socket & errno, for also
43862         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
43863         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
43864
43865 2009-07-31  Jim Meyering  <meyering@redhat.com>
43866
43867         getloadavg: fix symbol name in comment
43868         * lib/getloadavg.c: Correct a typo I introduced when adding
43869         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
43870         Matt Kraai spotted the problem.
43871
43872 2009-07-29  Matt Kraai  <mkraai@beckman.com>
43873
43874         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
43875         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
43876         code also if ! defined N_NAME_POINTER.
43877         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
43878         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
43879         but the n_name member is a 12-byte array.
43880
43881 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
43882
43883         update-copyright: generalize comment handling
43884         * build-aux/update-copyright: Handle copyright statements
43885         within more comment styles.
43886         Document usage.
43887         Report any file with an external copyright holder or parse failure.
43888
43889 2009-07-29  Jim Meyering  <meyering@redhat.com>
43890
43891         mktime: correct setting of REPLACE_MKTIME
43892         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
43893
43894         update-copyright: new module
43895         * modules/update-copyright: New file.
43896         * build-aux/update-copyright: New file.
43897         * MODULES.html.sh (maint+release support): Add update-copyright.
43898
43899 2009-07-27  Bruno Haible  <bruno@clisp.org>
43900
43901         Fix compilation error when <ctime> is used and mktime is replaced.
43902         * lib/time.in.h (mktime): New declaration.
43903         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
43904         REPLACE_MKTIME instead of defining mktime in config.h.
43905         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
43906         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
43907         Reported by Ross McFarland <rwmcfa1@neces.com>.
43908
43909 2009-07-27  Bruno Haible  <bruno@clisp.org>
43910
43911         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
43912         Reported by Matt Kraai <mkraai@beckman.com>.
43913
43914 2009-07-25  Jim Meyering  <meyering@redhat.com>
43915
43916         maint.mk: avoid warnings about missing files
43917         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
43918         diagnostic when .prev-version does not exist.
43919         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
43920         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
43921         nonexistent cfg.mk.
43922         Suggestions from Simon Josefsson.
43923
43924 2009-07-25  Bruno Haible  <bruno@clisp.org>
43925
43926         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
43927         defined as macros. Needed on QNX 6.4.1.
43928         Reported by Matt Kraai <mkraai@beckman.com>.
43929
43930 2009-07-23  Jim Meyering  <meyering@redhat.com>
43931
43932         maint.mk: invoke "make dist" with a working value of XZ_OPT
43933         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
43934
43935 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
43936
43937         Make fseeko.c compile on QNX.
43938         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
43939
43940 2009-07-22  Peter Simons  <simons@cryp.to>
43941
43942         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
43943         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
43944         * lib/md4.h: Likewise.
43945         * lib/md5.h: Likewise.
43946         * lib/sha1.h: Likewise.
43947         * lib/sha256.h: Likewise.
43948         * lib/sha512.h: Likewise.
43949
43950         tests-sha1: don't assign literal string to 'char *' variable
43951         * tests/test-sha1.c (main): Declare locals with "const" to match
43952         attributes of the right hand side.
43953
43954 2009-07-21  Eric Blake  <ebb9@byu.net>
43955
43956         dup2: fix more mingw problems
43957         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
43958         fd to itself.
43959         * doc/posix-functions/dup2.texi (dup2): Document the bug.
43960         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
43961         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
43962         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
43963         care of mingw bugs.
43964
43965 2009-07-21  Jim Meyering  <meyering@redhat.com>
43966
43967         vc-list-files: avoid failure when /bin/sh is dash
43968         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
43969         On some Debian based systems, /bin/sh is a symlink to dash, and running
43970         this command would omit the "/" following each 'tests' prefix:
43971           dash -x build-aux/vc-list-files -C . tests
43972         That is because bash and dash work differently:
43973           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
43974           bash ok
43975           dash odd
43976
43977 2009-07-21  Eric Blake  <ebb9@byu.net>
43978
43979         dup2-tests: test previous patch
43980         * modules/dup2-tests: New file.
43981         * tests/test-dup2.c: Likewise.
43982         * tests/test-open.c (main): Avoid unspecified behavior.
43983         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
43984         test.
43985
43986         dup2: work around mingw and cygwin 1.5 bug
43987         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
43988         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
43989         * modules/unistd (Makefile.am): Substitute it.
43990         * lib/unistd.in.h (dup2): Declare the replacement.
43991         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
43992         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
43993         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
43994         * modules/execute (Depends-on): Add dup2.
43995         * modules/fseterr (Depends-on): Likewise.
43996         * modules/pipe (Depends-on): Likewise.
43997         * modules/posix_spawn-internal (Depends-on): Likewise.
43998
43999 2009-07-21  Bruno Haible  <bruno@clisp.org>
44000
44001         * modules/.gitattributes: New file.
44002
44003 2009-07-20  Bruno Haible  <bruno@clisp.org>
44004
44005         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
44006         (main): Use it.
44007
44008 2009-07-20  Eric Blake  <ebb9@byu.net>
44009
44010         test-pipe: make a bit more robust.
44011         * tests/test-pipe.c (myerr): Allow error messages regardless of
44012         what we do to stderr.
44013         (test_pipe): Rearrange to avoid deadlock.
44014         (child_main): Try a larger read, to ensure we avoided deadlock.
44015         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
44016         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
44017         if misused.
44018
44019 2009-07-19  Jim Meyering  <meyering@redhat.com>
44020
44021         fts: avoid false-positive cycle-detection
44022         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
44023         for each new command line argument.
44024
44025 2009-07-19  Bruno Haible  <bruno@clisp.org>
44026
44027         Fix build error on mingw with the modules sys_select and unistd.
44028         * modules/acl-tests (Depends-on): Add close.
44029         * modules/binary-io-tests (Depends-on): Likewise.
44030         * modules/closein-tests (Depends-on): Likewise.
44031         * modules/flock-tests (Depends-on): Likewise.
44032         * modules/fsync-tests (Depends-on): Likewise.
44033         * modules/lseek-tests (Depends-on): Likewise.
44034         * modules/pipe-tests (Depends-on): Likewise.
44035         * modules/posix_spawn-tests (Depends-on): Likewise.
44036         * modules/posix_spawnp-tests (Depends-on): Likewise.
44037         * modules/stat-time-tests (Depends-on): Likewise.
44038         * modules/yesno-tests (Depends-on): Likewise.
44039
44040 2009-07-19  Bruno Haible  <bruno@clisp.org>
44041
44042         Unify conditionals.
44043         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
44044         macros, not at the compiler macros.
44045         * lib/pipe.c: Likewise.
44046         * lib/execute.c: Likewise.
44047         * lib/spawni.c: Likewise.
44048
44049 2009-07-19  Bruno Haible  <bruno@clisp.org>
44050
44051         Fix handling of closed stdin/stdout/stderr on mingw.
44052         * lib/w32spawn.h: Include unistd.h.
44053         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
44054         file descriptor with O_NOINHERIT flag.
44055         (fd_safer_noinherit): New function, based on fd-safer.c.
44056         (dup_safer_noinherit): New function, based on dup-safer.c.
44057         (undup_safer_noinherit): New function.
44058         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
44059         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
44060         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
44061         instead of fd_safer.
44062         * tests/test-pipe.c: Include <windows.h>.
44063         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
44064         result.
44065
44066         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
44067         from main.
44068         (test_pipe): Pass an extra argument for disambiguation.
44069         (main): Invoke parent_main or child_main.
44070
44071         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
44072         consistently.
44073
44074 2009-07-18  Eric Blake  <ebb9@byu.net>
44075
44076         test-pipe: fix mingw build
44077         * tests/test-pipe.c (main): Avoid fcntl on mingw.
44078
44079 2009-07-18  Bruno Haible  <bruno@clisp.org>
44080
44081         * modules/pipe-tests (Makefile.am): Fix typo.
44082
44083 2009-07-18  Eric Blake  <ebb9@byu.net>
44084
44085         error: fix mingw build
44086         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
44087         Reported by Bruno Haible.
44088
44089         error: avoid undefined use of stdout
44090         * lib/error.c (error, error_at_line): Check that fd 1 is open
44091         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
44092         is handling faults and the close_stdout module wants to report the
44093         detection of closed stdout as an error.
44094
44095 2009-07-17  Eric Blake  <ebb9@byu.net>
44096
44097         pipe: be robust in face of closed fds
44098         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
44099         should cause child to misbehave.
44100         * modules/pipe-tests: New module.
44101         * tests/test-pipe.c: New file.
44102         * tests/test-pipe.sh: New file.
44103         Reported by Akim Demaille.
44104
44105 2009-07-14  Bruno Haible  <bruno@clisp.org>
44106
44107         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
44108         Reported by anonymous kc.
44109
44110 2009-07-07  Jim Meyering  <meyering@redhat.com>
44111
44112         maint.mk: don't look for translatable strings in *.m4 or *.mk
44113         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
44114         when searching for translatable strings.
44115
44116 2009-07-05  Jim Meyering  <meyering@redhat.com>
44117
44118         remove superfluous parentheses in STREQ definition
44119         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
44120         * lib/getugroups.c (STREQ): Likewise.
44121         * lib/fnmatch.c (STREQ): Likewise.
44122         Spotted by Bruno Haible.
44123
44124 2009-07-04  Jim Meyering  <meyering@redhat.com>
44125
44126         argv-iter: new module
44127         * MODULES.html.sh: Add argv-iter.
44128         * lib/argv-iter.c, lib/argv-iter.h: New files.
44129         * modules/argv-iter: New file.
44130         * modules/argv-iter-tests: New file.
44131         * tests/test-argv-iter.c: Test it.
44132
44133 2009-07-04  Bruno Haible  <bruno@clisp.org>
44134
44135         Fix assertion.
44136         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
44137         contains more exact copies of a given entry than file2, leave the extra
44138         copies unpaired rather than aborting.
44139         Reported by Eric Blake.
44140
44141 2009-07-02  Bruno Haible  <bruno@clisp.org>
44142
44143         Speedup git-merge-changelog for git cherry-pick.
44144         * lib/git-merge-changelog.c (struct entries_mapping): New type.
44145         (entries_mapping_get): New function, extracted from compute_mapping.
44146         (entries_mapping_reverse_get): New function.
44147         (compute_mapping): Add a 'full' argument. Return the result in a
44148         'struct entries_mapping'.
44149         (main): Update. Access the mappings through entries_mapping_get.
44150         Reported by Eric Blake.
44151
44152 2009-07-02  Bruno Haible  <bruno@clisp.org>
44153
44154         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
44155         best_i.
44156
44157 2009-07-02  Bruno Haible  <bruno@clisp.org>
44158
44159         Speed up approximate search for matching ChangeLog entries.
44160         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
44161         argument. Call fstrcmp_bounded instead of fstrcmp.
44162         (compute_mapping, try_split_merged_entry, main): Update callers.
44163
44164 2009-07-02  Bruno Haible  <bruno@clisp.org>
44165
44166         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
44167
44168 2009-06-30  Bruno Haible  <bruno@clisp.org>
44169
44170         Reduce the number of uc_is_cased calls.
44171         * lib/unicase.h (casing_suffix_context_t): Add
44172         'first_char_except_ignorable' field.
44173         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
44174         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
44175         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
44176         Update initializer.
44177         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
44178         case-ignorable characters.
44179         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
44180         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
44181         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
44182         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
44183         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
44184
44185 2009-06-30  Bruno Haible  <bruno@clisp.org>
44186
44187         Tests for module 'unicase/ignorable'.
44188         * modules/unicase/ignorable-tests: New file.
44189         * tests/unicase/test-ignorable.c: New file, generated by
44190         gen-uni-tables.
44191
44192         Tests for module 'unicase/cased'.
44193         * modules/unicase/cased-tests: New file.
44194         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
44195         * tests/unicase/test-predicate-part1.h: New file, derived from
44196         tests/unictype/test-predicate-part1.h.
44197         * tests/unicase/test-predicate-part2.h: New file, same as
44198         tests/unictype/test-predicate-part2.h.
44199
44200         Fix evaluation of "Before C" condition of FINAL_SIGMA.
44201         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
44202         (output_casing_properties): New function.
44203         (main): Call it.
44204         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
44205         * lib/unicase/cased.c: Include unictype/bitmap.h.
44206         (uc_is_cased): Define through a bitmap lookup.
44207         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
44208         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
44209         (uc_is_case_ignorable): Define through a bitmap lookup.
44210         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
44211         lib/unictype/bitmap.h.
44212         (Depends-on): Add inline. Clean up.
44213         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
44214         lib/unictype/bitmap.h.
44215         (Depends-on): Add inline. Clean up.
44216         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
44217         recognition.
44218         * tests/unicase/test-u16-tolower.c (main): Likewise.
44219         * tests/unicase/test-u32-tolower.c (main): Likewise.
44220
44221 2009-06-30  Bruno Haible  <bruno@clisp.org>
44222
44223         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
44224         * lib/unicase/u16-casemap.c: Likewise.
44225         * lib/unicase/u32-casemap.c: Likewise.
44226
44227 2009-06-29  Bruno Haible  <bruno@clisp.org>
44228
44229         Define u32_casefold as a wrapper around u32_ct_casefold.
44230         * lib/unicase/u32-casefold.c: Update.
44231         * modules/unicase/u32-casefold (Depends-on): Add
44232         unicase/u32-ct-casefold, unicase/empty-prefix-context,
44233         unicase/empty-suffix-context. Clean up.
44234
44235         Define u16_casefold as a wrapper around u16_ct_casefold.
44236         * lib/unicase/u16-casefold.c: Update.
44237         * modules/unicase/u16-casefold (Depends-on): Add
44238         unicase/u16-ct-casefold, unicase/empty-prefix-context,
44239         unicase/empty-suffix-context. Clean up.
44240
44241         Define u8_casefold as a wrapper around u8_ct_casefold.
44242         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
44243         * lib/unicase/u8-casefold.c: Update.
44244         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
44245         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
44246
44247         Define u32_totitle as a wrapper around u32_ct_totitle.
44248         * lib/unicase/u32-totitle.c: Update.
44249         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
44250         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
44251
44252         Define u16_totitle as a wrapper around u16_ct_totitle.
44253         * lib/unicase/u16-totitle.c: Update.
44254         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
44255         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
44256
44257         Define u8_totitle as a wrapper around u8_ct_totitle.
44258         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
44259         functions.
44260         (FUNC): Delegate to U_CT_TOTITLE.
44261         * lib/unicase/u8-totitle.c: Update.
44262         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
44263         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
44264
44265         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
44266         invocation.
44267         * modules/unicase/u32-tolower (Depends-on): Add
44268         unicase/empty-prefix-context, unicase/empty-suffix-context.
44269
44270         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
44271         invocation.
44272         * modules/unicase/u16-tolower (Depends-on): Add
44273         unicase/empty-prefix-context, unicase/empty-suffix-context.
44274
44275         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
44276         * modules/unicase/u8-tolower (Depends-on): Add
44277         unicase/empty-prefix-context, unicase/empty-suffix-context.
44278
44279         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
44280         invocation.
44281         * modules/unicase/u32-toupper (Depends-on): Add
44282         unicase/empty-prefix-context, unicase/empty-suffix-context.
44283
44284         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
44285         invocation.
44286         * modules/unicase/u16-toupper (Depends-on): Add
44287         unicase/empty-prefix-context, unicase/empty-suffix-context.
44288
44289         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
44290         * modules/unicase/u8-toupper (Depends-on): Add
44291         unicase/empty-prefix-context, unicase/empty-suffix-context.
44292
44293         New module 'unicase/u32-ct-casefold'.
44294         * lib/unicase/u32-ct-casefold.c: New file.
44295         * modules/unicase/u32-ct-casefold: New file.
44296
44297         New module 'unicase/u16-ct-casefold'.
44298         * lib/unicase/u16-ct-casefold.c: New file.
44299         * modules/unicase/u16-ct-casefold: New file.
44300
44301         New module 'unicase/u8-ct-casefold'.
44302         * lib/unicase/u8-ct-casefold.c: New file.
44303         * lib/unicase/u-ct-casefold.h: New file, derived from
44304         lib/unicase/u-casefold.h.
44305         * modules/unicase/u8-ct-casefold: New file.
44306
44307         New module 'unicase/u32-ct-totitle'.
44308         * lib/unicase/u32-ct-totitle.c: New file.
44309         * modules/unicase/u32-ct-totitle: New file.
44310
44311         New module 'unicase/u16-ct-totitle'.
44312         * lib/unicase/u16-ct-totitle.c: New file.
44313         * modules/unicase/u16-ct-totitle: New file.
44314
44315         New module 'unicase/u8-ct-totitle'.
44316         * lib/unicase/u8-ct-totitle.c: New file.
44317         * lib/unicase/u-ct-totitle.h: New file, derived from
44318         lib/unicase/u-totitle.h.
44319         * modules/unicase/u8-ct-totitle: New file.
44320
44321         New module 'unicase/u32-ct-tolower'.
44322         * lib/unicase/u32-ct-tolower.c: New file.
44323         * modules/unicase/u32-ct-tolower: New file.
44324
44325         New module 'unicase/u16-ct-tolower'.
44326         * lib/unicase/u16-ct-tolower.c: New file.
44327         * modules/unicase/u16-ct-tolower: New file.
44328
44329         New module 'unicase/u8-ct-tolower'.
44330         * lib/unicase/u8-ct-tolower.c: New file.
44331         * modules/unicase/u8-ct-tolower: New file.
44332
44333         New module 'unicase/u32-ct-toupper'.
44334         * lib/unicase/u32-ct-toupper.c: New file.
44335         * modules/unicase/u32-ct-toupper: New file.
44336
44337         New module 'unicase/u16-ct-toupper'.
44338         * lib/unicase/u16-ct-toupper.c: New file.
44339         * modules/unicase/u16-ct-toupper: New file.
44340
44341         New module 'unicase/u8-ct-toupper'.
44342         * lib/unicase/u8-ct-toupper.c: New file.
44343         * modules/unicase/u8-ct-toupper: New file.
44344
44345         Add context arguments to u*_casemap functions.
44346         * lib/unicase/unicasemap.h: Include unicase.h.
44347         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
44348         suffix_context arguments.
44349         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
44350         functions.
44351         (FUNC): Add prefix_context and suffix_context arguments. Use
44352         uc_is_cased and uc_is_case_ignorable.
44353         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
44354         * lib/unicase/u16-casemap.c: Likewise.
44355         * lib/unicase/u32-casemap.c: Likewise.
44356         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
44357         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
44358         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
44359         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
44360         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
44361         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
44362
44363         New module 'unicase/u32-suffix-context'.
44364         * lib/unicase/u32-suffix-context.c: New file.
44365         * modules/unicase/u32-suffix-context: New file.
44366
44367         New module 'unicase/u16-suffix-context'.
44368         * lib/unicase/u16-suffix-context.c: New file.
44369         * modules/unicase/u16-suffix-context: New file.
44370
44371         New module 'unicase/u8-suffix-context'.
44372         * lib/unicase/u8-suffix-context.c: New file.
44373         * lib/unicase/u-suffix-context.h: New file.
44374         * modules/unicase/u8-suffix-context: New file.
44375
44376         New module 'unicase/empty-suffix-context'.
44377         * lib/unicase/empty-suffix-context.c: New file.
44378         * modules/unicase/empty-suffix-context: New file.
44379
44380         New module 'unicase/u32-prefix-context'.
44381         * lib/unicase/u32-prefix-context.c: New file.
44382         * modules/unicase/u32-prefix-context: New file.
44383
44384         New module 'unicase/u16-prefix-context'.
44385         * lib/unicase/u16-prefix-context.c: New file.
44386         * modules/unicase/u16-prefix-context: New file.
44387
44388         New module 'unicase/u8-prefix-context'.
44389         * lib/unicase/u8-prefix-context.c: New file.
44390         * lib/unicase/u-prefix-context.h: New file.
44391         * lib/unicase/context.h: New file.
44392         * modules/unicase/u8-prefix-context: New file.
44393
44394         New module 'unicase/empty-prefix-context'.
44395         * lib/unicase/empty-prefix-context.c: New file.
44396         * modules/unicase/empty-prefix-context: New file.
44397
44398         New module 'unicase/ignorable'.
44399         * lib/unicase/ignorable.c: New file.
44400         * modules/unicase/ignorable: New file.
44401
44402         New module 'unicase/cased'.
44403         * lib/unicase/caseprop.h: New file.
44404         * lib/unicase/cased.c: New file.
44405         * modules/unicase/cased: New file.
44406
44407         New functions for case mapping of substrings.
44408         * lib/unicase.h (casing_prefix_context_t): New type.
44409         (unicase_empty_prefix_context): New variable.
44410         (u8_casing_prefix_context, u16_casing_prefix_context,
44411         u32_casing_prefix_context, u8_casing_prefixes_context,
44412         u16_casing_prefixes_context, u32_casing_prefixes_context): New
44413         declarations.
44414         (casing_suffix_context_t): New type.
44415         (unicase_empty_suffix_context): New variable.
44416         (u8_casing_suffix_context, u16_casing_suffix_context,
44417         u32_casing_suffix_context, u8_casing_suffixes_context,
44418         u16_casing_suffixes_context, u32_casing_suffixes_context,
44419         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
44420         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
44421         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
44422         declarations.
44423
44424 2009-06-28  Jim Meyering  <meyering@redhat.com>
44425
44426         boostrap: indent only with spaces
44427         * build-aux/bootstrap: Indent only with spaces, never TABs.
44428
44429         bootstrap: split long lines
44430         * build-aux/bootstrap: Keep line length < 80.
44431
44432         bootstrap: sync from coreutils
44433         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
44434         just as autoreconf does.  Verify a list of prerequisite
44435         package-name,version-number pairs if defined in bootstrap.conf.
44436         Refer to README-prereq, if prerequisites are not satisfied.
44437
44438 2009-06-27  Eric Blake  <ebb9@byu.net>
44439
44440         tests: add test for bogus NULL definition
44441         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
44442         * tests/test-stdlib.c: Likewise.
44443         * tests/test-string.c: Likewise.
44444         * tests/test-locale.c: Likewise.
44445         * tests/test-unistd.c: Likewise.
44446         * modules/stdio-tests (Depends-on): Add verify.
44447         * modules/stdlib-tests (Depends-on): Likewise.
44448         * modules/string-tests (Depends-on): Likewise.
44449         * modules/locale-tests (Depends-on): Likewise.
44450         * modules/unistd-tests (Depends-on): Likewise.
44451
44452 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
44453
44454         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
44455         self-explaining comment.
44456         * m4/selinux-selinux-h: Update serial.
44457         (gl_LIBSELINUX): New macro, adding a warning for missing development
44458         packages to code extracted from...
44459         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
44460         Add warning for missing development packages here, too.
44461
44462 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
44463
44464         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
44465
44466 2009-06-25  Eric Blake  <ebb9@byu.net>
44467
44468         version-etc: fix regression
44469         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
44470         gcc.
44471         (version_etc): Use it, to catch bugs with trailing NULL.
44472         * lib/version-etc.c (version_etc_arn): Delete unused argument.
44473         (version_etc_va): Fix logic bug.
44474         * modules/version-etc-tests: Add test.
44475         * tests/test-version-etc.c: New file.
44476         * tests/test-version-etc.sh: Likewise.
44477
44478 2009-06-25  Sam Steingold  <sds@gnu.org>
44479
44480         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
44481         mbtowc declaration.
44482
44483 2009-06-25  Eric Blake  <ebb9@byu.net>
44484
44485         fpurge: migrate into <stdio.h>
44486         * lib/fpurge.h: Delete...
44487         * lib/stdio.in.h (fpurge): ...and declare here, instead.
44488         * lib/fpurge.c (fpurge): Change declaring header.
44489         * modules/fpurge (Files): Drop deleted file.
44490         (Depends-on): Add stdio.
44491         (configure.ac): Set witness.
44492         * modules/stdio (Makefile.am): Support fpurge macros.
44493         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
44494         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
44495         * lib/fflush.c: Update client.
44496         * tests/test-fpurge.c: Likewise.
44497         * NEWS: Mention the change.
44498
44499 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
44500
44501         * lib/argp-version-etc.c (program_authors): Add const
44502         qualifier.
44503         * lib/version-etc.c: Fix typos in the comments.
44504         * modules/argp-version-etc: Depends on version-etc.
44505
44506 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
44507
44508         argp-version-etc: new module.
44509
44510         * lib/argp-version-etc.c: New file.
44511         * lib/argp-version-etc.h: New file.
44512         * modules/argp-version-etc: New file.
44513         * modules/argp-version-etc-tests: New file.
44514         * tests/test-argp-version-etc.c: New test.
44515         * tests/test-argp-version-etc-1.sh: New test.
44516
44517 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
44518
44519         Provide additional interfaces and documentation for version-etc
44520         module.
44521
44522         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
44523         interfaces.
44524         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
44525         prototypes.
44526
44527 2009-06-24  Bruno Haible  <bruno@clisp.org>
44528
44529         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
44530         HAVE_LIB${NAME} macro.
44531         Reported by Sam Steingold <sds@gnu.org>.
44532
44533 2009-06-23  Simon Josefsson  <simon@josefsson.org>
44534
44535         * modules/hash-tests (test_hash_LDADD): Link to libintl when
44536         needed.
44537
44538 2009-06-21  Bruno Haible  <bruno@clisp.org>
44539
44540         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
44541         work.
44542         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
44543         together with LIB${NAME}, LTLIB${NAME}.
44544         Reported by Sam Steingold <sds@gnu.org>.
44545
44546 2009-06-20  Jim Meyering  <meyering@redhat.com>
44547
44548         tests: make sc_require_test_exit_idiom more generic
44549         * top/maint.mk (Exit_witness_file): New overridable variable.
44550         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
44551         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
44552
44553 2009-06-19  Jim Meyering  <meyering@redhat.com>
44554
44555         hash: reverse order of src/dst parameters in an internal interface
44556         * lib/hash.c (transfer_entries): Reverse order of parameters to
44557         put DST before SRC.  Adjust callers.
44558
44559         tests: test-hash: avoid wholesale duplication
44560         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
44561         Instead, use a loop and add a single conditional.
44562
44563         tests: test-hash: allow seed selection via a command line argument
44564         * tests/test-hash.c (get_seed): New function.
44565         (main): Use it.
44566
44567 2009-06-19  Eric Blake  <ebb9@byu.net>
44568
44569         hash: avoid memory leak on allocation failure
44570         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
44571         failure.  Factor repeated algorithm...
44572         (transfer_entries): ...into new helper routine.
44573         (hash_delete): React to hash_rehash return value.
44574
44575         hash: reduce memory pressure in hash_rehash no-op case
44576         * lib/hash.c (next_prime): Avoid overflow.
44577         (hash_initialize): Factor bucket size computation...
44578         (compute_bucket_size): ...into new helper function.
44579         (hash_rehash): Use new function and open coding to reduce memory
44580         pressure, and avoid a memory leak in USE_OBSTACK code.
44581         Reported by Jim Meyering.
44582
44583 2009-06-18  Eric Blake  <ebb9@byu.net>
44584
44585         hash: make rotation more obvious
44586         * modules/hash (Depends-on): Add bitrotate and stdint.
44587         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
44588         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
44589         (SIZE_MAX): Rely on headers for definition.
44590         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
44591         (raw_hasher): Use rotr_sz.
44592         Suggested by Jim Meyering.
44593
44594         hash: fix memory leak in last patch
44595         * lib/hash.c (hash_rehash): Avoid memory leak.
44596
44597         hash: avoid no-op rehashing
44598         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
44599
44600         hash: provide default callback functions
44601         * lib/hash.c (raw_hasher, raw_comparator): New functions.
44602         (hash_initialize): Use them as defaults.
44603         * tests/test-hash.c (main): Test this.
44604
44605         hash: minor optimization
44606         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
44607         when possible.
44608         (hash_initialize): Document this promise.
44609         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
44610         * tests/test-hash.c (hash_compare_strings): Test this.
44611
44612 2009-06-18  Bruno Haible  <bruno@clisp.org>
44613
44614         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
44615         going to be replaced anyway.
44616
44617 2009-06-18  Bruno Haible  <bruno@clisp.org>
44618
44619         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
44620         in one place.
44621         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
44622         be replaced anyway.
44623
44624 2009-06-18  Eric Blake  <ebb9@byu.net>
44625
44626         hash: check for resize before insertion
44627         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
44628         threshold before insertion, so that a pathological hash_rehash
44629         that fills every bucket can still trigger another rehash.
44630
44631 2009-06-18  Jim Meyering  <meyering@redhat.com>
44632
44633         hash-tests: add a loop around the small tests
44634         * tests/test-hash.c (main): Repeat small tests with selected
44635         small initial table sizes.
44636
44637 2009-06-17  Eric Blake  <ebb9@byu.net>
44638
44639         hash: minor cleanups
44640         * lib/hash.h (hash_entry): Make opaque, by moving...
44641         * lib/hash.c (hash_entry): ...here.
44642         (hash_insert): Clarify restrictions on what can be inserted.
44643         (hash_get_next): Clarify when it is safe to remove an element
44644         during traversal.
44645         (check_tuning): Skip verification when tuning is known safe.
44646         (hash_initialize): Clarify restrictions on tuning.
44647
44648 2009-06-17  Jim Meyering  <jim@meyering.net>
44649         and Eric Blake  <ebb9@byu.net>
44650
44651         hash-tests: new module
44652         * modules/hash-tests: New file.
44653         * tests/test-hash.c: New file.
44654
44655 2009-06-17  Eric Blake  <ebb9@byu.net>
44656
44657         strstr-simple: document new module
44658         * MODULES.html.sh: Document new module.
44659
44660         strstr, strcasestr: replace on platforms with broken memchr
44661         * modules/strstr: Split into...
44662         * modules/strstr-simple: ...new module that does not care about
44663         performance, but does care about glibc bug.
44664         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
44665         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
44666         if platform memchr is broken, per Debian bug 521737.
44667         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
44668         memchr.
44669         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
44670         * doc/posix-functions/strstr.texi (strstr): Document the fix.
44671         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
44672         * modules/mountlist (Depends-on): Add strstr-simple.
44673         * modules/gen-uni-tables (Depends-on): Likewise.
44674         * modules/argz (Depends-on): Add strstr.
44675
44676 2009-06-17  Bruno Haible  <bruno@clisp.org>
44677
44678         * modules/posix_spawn-internal (Depends-on): Add errno.
44679
44680 2009-06-17  Bruno Haible  <bruno@clisp.org>
44681
44682         Define missing ESTALE on Interix 3.5.
44683         * lib/errno.in.h (ESTALE): Assign a value if missing.
44684         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
44685         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
44686         missing.
44687         * doc/posix-headers/errno.texi: Mention the Interix bug.
44688         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
44689
44690 2009-06-15  Eric Blake  <ebb9@byu.net>
44691
44692         memchr, memchr2: add valgrind exception
44693         * lib/memchr.valgrind: New file.
44694         * lib/memchr2.valgrind: New file.
44695         * modules/memchr (Files): Distribute valgrind file.
44696         * modules/memchr2 (Files): Likewise.
44697
44698         docs: memchr is no longer obsolete
44699         * MODULES.html.sh: Move memchr from obsolete to string.h section.
44700         * lib/string.in.h (memchr): Simplify logic.
44701
44702 2009-06-14  Jim Meyering  <meyering@redhat.com>
44703
44704         link-follow: fix the "checking..." message to not mention trailing slash
44705         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
44706         never considered trailing slashes.
44707
44708 2009-06-14  Bruno Haible  <bruno@clisp.org>
44709
44710         * m4/memchr.m4: Mention also the bug on IA-64.
44711         * doc/posix-functions/memchr.texi: Likewise.
44712
44713 2009-06-12  Eric Blake  <ebb9@byu.net>
44714
44715         memchr: detect broken x86_64 and alpha implementations
44716         * modules/memchr-tests (Depends-on): Move mmap detection...
44717         * modules/memchr (Depends-on): ...here.
44718         (configure.ac): Set indicator.
44719         * lib/string.in.h (memchr): Declare replacement.
44720         * modules/string (Makefile.am): Trigger replacement.
44721         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
44722         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
44723         bugs.
44724         * doc/posix-functions/memchr.texi (memchr): Document the bug.
44725         * modules/getpagesize (License): Relax license.
44726
44727 2009-06-11  Bruno Haible  <bruno@clisp.org>
44728
44729         * lib/idpriv.h: Add more references.
44730
44731 2009-06-08  Bruno Haible  <bruno@clisp.org>
44732
44733         Tests for module 'idpriv-droptemp'.
44734         * modules/idpriv-droptemp-tests: New file.
44735         * tests/test-idpriv-droptemp.sh: New file.
44736         * tests/test-idpriv-droptemp.su.sh: New file.
44737         * tests/test-idpriv-droptemp.c: New file.
44738
44739         New module 'idpriv-droptemp'.
44740         * lib/idpriv-droptemp.c: New file.
44741         * modules/idpriv-droptemp: New file.
44742
44743 2009-06-08  Bruno Haible  <bruno@clisp.org>
44744
44745         Tests for module 'idpriv-drop'.
44746         * modules/idpriv-drop-tests: New file.
44747         * tests/test-idpriv-drop.sh: New file.
44748         * tests/test-idpriv-drop.su.sh: New file.
44749         * tests/test-idpriv-drop.c: New file.
44750
44751         New module 'idpriv-drop'.
44752         * lib/idpriv.h: New file.
44753         * lib-idpriv-drop.c: New file.
44754         * m4/idpriv.m4: New file.
44755         * modules/idpriv-drop: New file.
44756
44757 2009-06-08  Bruno Haible  <bruno@clisp.org>
44758
44759         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
44760         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
44761         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
44762         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
44763         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
44764         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
44765         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
44766
44767 2009-06-08  Eric Blake  <ebb9@byu.net>
44768
44769         test-strstr: use memory fence, when possible
44770         * tests/test-strstr.c (main): Use memory fence, in order to be
44771         more likely to trigger Debian bug 521737.
44772         * modules/strstr-tests (Files): Pull in additional files.
44773
44774         memchr: no longer obsolete, for wider field testing
44775         * modules/memchr (Status, Notice): Delete, this module is no
44776         longer obsolete.
44777         * modules/vasnprintf (Depends-on): Add memchr.
44778
44779 2009-06-07  Jim Meyering  <meyering@redhat.com>
44780
44781         hash: declare some functions with the warn_unused_result attribute
44782         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
44783
44784 2009-06-07  Bruno Haible  <bruno@clisp.org>
44785
44786         * tests/test-alignof.c: Don't test int64_t if it does not exist.
44787         Reported by Eric Blake.
44788
44789 2009-06-06  Eric Blake  <ebb9@byu.net>
44790
44791         test-alignof: fix typo with long double
44792         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
44793         compiler error.
44794
44795 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
44796
44797         Escape non-texinfo { and }s.
44798         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
44799         markup error.
44800
44801 2009-06-04  Jim Meyering  <meyering@redhat.com>
44802
44803         gitlog-to-changelog: don't infloop on an empty commit log
44804         * build-aux/gitlog-to-changelog: Warn about an empty log message.
44805         Reported by Boris Petersen <transacid@centerim.org>.
44806
44807 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
44808
44809         version-etc: extend for packagers
44810         Add three new configure options, intended for packagers:
44811           --with-packager="packager name"
44812           --with-packager-version="packager-specific version"
44813           --with-packager-bug-reports="packager bug reporting"
44814         An example with coreutils:
44815           $ ./configure \
44816             --with-packager=Gentoo \
44817             --with-packager-bug-report=http://bugs.gentoo.org/ \
44818             --with-packager-version="patchset 1.6"
44819           $ ./src/ls --version | head -n2
44820           ls (GNU coreutils) 7.1-dirty
44821           Packaged by Gentoo (patchset 1.6)
44822         Note that the bug reporting info via --help doesn't show up because
44823         coreutils uses its own custom emit_bug_reporting_address() implementation
44824         in src/system.h.  If it didn't, it'd look like:
44825           $ ./src/ls --help | tail -n4
44826           Report bugs to <bug-coreutils@gnu.org>.
44827           Report Gentoo bugs to <http://bugs.gentoo.org/>.
44828           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
44829           General help using GNU software: <http://www.gnu.org/gethelp/>.
44830         * lib/version-etc.c: Print new information, if provided.
44831         * m4/version-etc.m4: New file.
44832         * modules/version-etc (Files): Add m4/version-etc.m4.
44833         (configure.ac): Add gl_VERSION_ETC.
44834
44835 2009-05-31  Bruno Haible  <bruno@clisp.org>
44836
44837         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
44838         and 'int64_t'.
44839         * modules/alignof-tests (Dependencies): Add stdint.
44840         Reported by Eric Blake.
44841
44842 2009-05-31  Bruno Haible  <bruno@clisp.org>
44843
44844         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
44845         restriction due to compiler bugs.
44846         Reported by Eric Blake.
44847
44848 2009-05-31  Simon Josefsson  <simon@josefsson.org>
44849             Bruno Haible  <bruno@clisp.org>
44850
44851         Fix test-alignof failure.
44852         * lib/alignof.h (alignof_slot): New macro.
44853         (alignof_type): New macro, with the same semantics as the previous
44854         'alignof'.
44855         (alignof): Alias to alignof_slot.
44856         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
44857         check that the results are usable as constant expressions.
44858
44859 2009-05-31  Bruno Haible  <bruno@clisp.org>
44860
44861         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
44862         * tests/test-memchr.c (main): Check that memchr does not read past the
44863         first occurrence of the byte.
44864         * tests/test-strstr.c (main): Update comment.
44865         Suggested by Eric Blake.
44866
44867 2009-05-30  Bruno Haible  <bruno@clisp.org>
44868
44869         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
44870         detail how to use dumpbin.
44871         Reported by David Byron <dbyron@dbyron.com>.
44872
44873 2009-06-02  Simon Josefsson  <simon@josefsson.org>
44874
44875         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
44876
44877 2009-06-02  Simon Josefsson  <simon@josefsson.org>
44878
44879         * m4/manywarnings.m4: Add GCC 4.4 warnings.
44880
44881 2009-05-28  Bruno Haible  <bruno@clisp.org>
44882
44883         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
44884         build-aux/ files.
44885
44886 2009-05-28  Simon Josefsson  <simon@josefsson.org>
44887
44888         * gnulib-tool (func_import): Transform license on build-aux/ files too.
44889
44890 2009-05-27  Simon Josefsson  <simon@josefsson.org>
44891
44892         * gnulib-tool (sed_transform_main_lib_file)
44893         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
44894         regexps.
44895
44896 2009-05-26  Simon Josefsson  <simon@josefsson.org>
44897
44898         * tests/test-strstr.c: Add another self-test.
44899         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
44900         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
44901
44902 2009-05-23  Bruno Haible  <bruno@clisp.org>
44903
44904         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
44905         change.
44906
44907 2009-05-21  Bruno Haible  <bruno@clisp.org>
44908
44909         Simplify use of mode_t varargs.
44910         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
44911         uses 'mode_t' or 'int'.
44912         * lib/openat.c (openat): Likewise.
44913         * lib/open-safer.c (open_safer): Likewise.
44914         * m4/mode_t.m4: New file.
44915         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
44916         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
44917         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
44918         * modules/open (Files): Add m4/mode_t.m4.
44919         * modules/openat (Files): Likewise.
44920         * modules/fcntl-safer (Files): Likewise.
44921         Suggested by Eric Blake.
44922
44923 2009-05-21  Pádraig Brady  <P@draigbrady.com>
44924
44925         * doc/glibc-functions/fallocate.texi: New file.
44926         * doc/gnulib.texi: Include it.
44927
44928 2009-05-21  Eric Blake  <ebb9@byu.net>
44929             Bruno Haible  <bruno@clisp.org>
44930
44931         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
44932         invocations.
44933         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
44934
44935 2009-05-21  Eric Blake  <ebb9@byu.net>
44936             Bruno Haible  <bruno@clisp.org>
44937
44938         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
44939         include_next. Fix of 2008-11-20 commit.
44940         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
44941         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
44942         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
44943         NEXT_MATH_H.
44944         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
44945         instead of NEXT_MATH_H.
44946
44947 2009-05-21  Bruno Haible  <bruno@clisp.org>
44948
44949         Avoid redefinition warnings for SIZE_MAX.
44950         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
44951         Reported by Simon Josefsson.
44952
44953 2009-05-21  Bruno Haible  <bruno@clisp.org>
44954
44955         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
44956         AC_CACHE_VAL.
44957
44958 2009-05-20  Bruno Haible  <bruno@clisp.org>
44959
44960         Make zeroptr.h work on mingw.
44961         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
44962         mprotect.
44963         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
44964         * modules/memchr2-tests (configure.ac): Likewise.
44965         * modules/memcmp-tests (configure.ac): Likewise.
44966         * modules/memmem-tests (configure.ac): Likewise.
44967         * modules/memrchr-tests (configure.ac): Likewise.
44968         Reported by Simon Josefsson.
44969
44970 2009-05-20  Simon Josefsson  <simon@josefsson.org>
44971
44972         * tests/test-glob.c: Include string.h for strcmp prototype.
44973
44974 2009-05-20  Simon Josefsson  <simon@josefsson.org>
44975
44976         * modules/getdelim (Depends-on): Add explicit stdint, although it
44977         was implicitly already pulled in via realloc-posix.
44978         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
44979
44980 2009-05-20  Simon Josefsson  <simon@josefsson.org>
44981
44982         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
44983         G. Christensen" <tgc@jupiterrise.com>.
44984         * m4/sys_socket_h.m4: Check for sa_family_t.
44985         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
44986         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
44987         * tests/test-sys_socket.c: Check that sa_family_t works.
44988
44989 2009-05-18  Eric Blake  <ebb9@byu.net>
44990
44991         maint.mk: allow gnulib_dir in VPATH build
44992         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
44993
44994 2009-05-15  Jim Meyering  <meyering@redhat.com>
44995
44996         maint.mk: Give gnulib_dir a default definition.
44997         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
44998         Thus, most packages no longer need to specify this variable in cfg.mk
44999
45000 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
45001
45002         rename.m4: fix typos that would make non-mingw cross-configure fail
45003         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
45004
45005 2009-05-13  Eric Blake  <ebb9@byu.net>
45006
45007         mmap-anon: avoid out-of-order autoconf expansion
45008         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
45009         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
45010         * modules/memchr-tests (Depends-on): Add extensions.
45011         * modules/memchr2-tests (Depends-on): Add extensions.
45012         * modules/memcmp-tests (Depends-on): Add extensions.
45013         * modules/memmem-tests (Depends-on): Add extensions.
45014         * modules/memrchr-tests (Depends-on): Add extensions.
45015
45016 2009-05-13  Bruno Haible  <bruno@clisp.org>
45017
45018         Make some tests ISO C 99 compliant.
45019         * tests/zerosize-ptr.h: New file.
45020         * tests/test-memchr.c: Include zerosize-ptr.h.
45021         (main): Use a zero-size object pointer instead of NULL.
45022         * tests/test-memchr2.c: Include zerosize-ptr.h.
45023         (main): Use a zero-size object pointer instead of NULL.
45024         * tests/test-memcmp.c: Include zerosize-ptr.h.
45025         (main): Use a zero-size object pointer instead of NULL.
45026         * tests/test-memmem.c: Include zerosize-ptr.h.
45027         (main): Use a zero-size object pointer instead of NULL.
45028         * tests/test-memrchr.c: Include zerosize-ptr.h.
45029         (main): Use a zero-size object pointer instead of NULL.
45030         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
45031         m4/mmap-anon.m4.
45032         (Depends-on): Add getpagesize.
45033         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
45034         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
45035         m4/mmap-anon.m4.
45036         (Depends-on): Add getpagesize.
45037         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
45038         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
45039         m4/mmap-anon.m4.
45040         (Depends-on): Add getpagesize.
45041         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
45042         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
45043         m4/mmap-anon.m4.
45044         (Depends-on): Add getpagesize.
45045         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
45046         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
45047         m4/mmap-anon.m4.
45048         (Depends-on): Add getpagesize.
45049         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
45050
45051 2009-05-12  Bruno Haible  <bruno@clisp.org>
45052
45053         Tests for module 'alignof'.
45054         * modules/alignof-tests: New file.
45055         * tests/test-alignof.c: New file.
45056
45057 2009-05-12  Bruno Haible  <bruno@clisp.org>
45058
45059         Fix alignof macro.
45060         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
45061         vendor compilers that are always correct.
45062
45063 2009-05-12  Bruno Haible  <bruno@clisp.org>
45064
45065         Make the MAP_ANONYMOUS detection work on HP-UX 11.
45066         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
45067         not whether its fully works.
45068
45069 2009-05-12  Bruno Haible  <bruno@clisp.org>
45070
45071         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
45072
45073 2009-05-12  Jim Meyering  <meyering@redhat.com>
45074
45075         * top/maint.mk: Adjust backslash alignment.
45076
45077 2009-05-11  Simon Josefsson  <simon@josefsson.org>
45078
45079         * top/maint.mk: Make $(srcdir)/build-aux configurable.
45080
45081 2009-05-11  Eric Blake  <ebb9@byu.net>
45082
45083         argp: avoid undefined behavior
45084         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
45085         macros.
45086
45087 2009-05-08  Simon Josefsson  <simon@josefsson.org>
45088
45089         * tests/test-vc-list-files-git.sh: Do git config of user.email and
45090         user.name to prevent git commit from complaining.
45091
45092 2009-05-10  Bruno Haible  <bruno@clisp.org>
45093
45094         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
45095         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
45096         it rewrites every file name only once.
45097         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
45098
45099 2009-05-08  Bruno Haible  <bruno@clisp.org>
45100
45101         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
45102         instead of 'max'.
45103
45104 2009-05-08  Simon Josefsson  <simon@josefsson.org>
45105
45106         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
45107         sockaddr_storage test.
45108
45109 2009-05-07  Simon Josefsson  <simon@josefsson.org>
45110
45111         * modules/sys_socket (Makefile.am): Substitute
45112         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
45113         * m4/sys_socket_h.m4: Check for sockaddr_storage.
45114         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
45115         * tests/test-sys_socket.c: Check sockaddr_storage.
45116
45117 2009-05-08  Bruno Haible  <bruno@clisp.org>
45118
45119         New module 'alignof'.
45120         * lib/alignof.h: New file.
45121         * modules/alignof: New file.
45122
45123 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
45124             Bruno Haible  <bruno@clisp.org>
45125
45126         Fix test-file-has-acl on FreeBSD.
45127         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
45128         mask is implicitly added.
45129         * tests/test-file-has-acl.c: Include <signal.h>.
45130         (main): Terminate the test after 5 seconds.
45131         * modules/acl-tests (configure.ac): Check for alarm function.
45132
45133 2009-05-04  Bruno Haible  <bruno@clisp.org>
45134
45135         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
45136         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
45137         * modules/errno (configure.ac): Drop AC_REQUIRE.
45138         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
45139         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
45140
45141 2009-05-04  Simon Josefsson  <simon@josefsson.org>
45142
45143         * modules/glob-tests: New module.
45144         * tests/test-glob.c: Add.
45145
45146 2009-05-04  Simon Josefsson  <simon@josefsson.org>
45147
45148         * modules/fnmatch-tests: New module.
45149         * tests/test-fnmatch.c: Add.
45150
45151 2009-05-04  Eric Blake  <ebb9@byu.net>
45152
45153         maint: make the new no-submodule-changes rule VPATH-safe
45154         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
45155
45156 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
45157             Bruno Haible  <bruno@clisp.org>
45158
45159         acl: Fix infinite loop on FreeBSD.
45160         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
45161         of return value from acl_get_entry.
45162         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
45163         Likewise.
45164
45165 2009-05-03  Bruno Haible  <bruno@clisp.org>
45166
45167         * lib/acl-internal.h (acl_entries): Clarify return value.
45168         * lib/acl_entries.c (acl_entries): Likewise.
45169
45170 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
45171
45172         Bug fix in acl module.
45173         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
45174
45175 2009-05-03  Bruno Haible  <bruno@clisp.org>
45176
45177         Create gperf-generated file in the source dir, not in the build dir.
45178         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
45179         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
45180         * modules/unicase/locale-language (unicase/locale-languages.h):
45181         Likewise.
45182         * modules/unicase/special-casing (unicase/special-casing-table.h):
45183         Likewise.
45184         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
45185         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
45186         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
45187         Reported by Ralf Wildenhues.
45188
45189 2009-05-03  Bruno Haible  <bruno@clisp.org>
45190
45191         * modules/fnmatch (Description, configure.ac): Taken from
45192         fnmatch-posix.
45193         * modules/fnmatch-posix: Turn into a symbolic reference to the
45194         'fnmatch' module, and deprecate.
45195         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
45196
45197 2009-05-03  Bruno Haible  <bruno@clisp.org>
45198
45199         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
45200         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
45201         Reported by Ralf Wildenhues.
45202
45203 2009-05-04  Simon Josefsson  <simon@josefsson.org>
45204
45205         * m4/fnmatch.m4: Fix fnmatch re-define.
45206
45207 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
45208
45209         priv-set: new module and tests; adapt write-any-file
45210         * lib/priv-set.c: New file.
45211         * lib/priv-set.h: New file.
45212         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
45213         * lib/write-any-file.c: Simplify by using priv-set module.
45214         * m4/priv-set.m4: New file.
45215         * modules/priv-set: New file.
45216         * modules/unlinkdir: Add dependency on priv-set module.
45217         * modules/write-any-file: Likewise.
45218
45219         Tests for module 'priv-set'.
45220         * modules/priv-set-tests: New file.
45221         * tests/test-priv-set.c: New file.
45222
45223 2009-05-03  Jim Meyering  <meyering@redhat.com>
45224             Bruno Haible  <bruno@clisp.org>
45225
45226         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
45227         use the converted UTF-8 variant of the name instead.
45228
45229 2009-05-03  Jim Meyering  <meyering@redhat.com>
45230
45231         tests: tighten some getdate tests
45232         * tests/test-getdate.c (main): Tighten tests: require equality,
45233         not just greater than.  Set TZ envvar to UTC0.
45234
45235 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
45236
45237         getdate: correctly interpret "next monday" when run on a Monday
45238         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
45239         that e.g., "next tues" (when run on a tuesday) results in a date
45240         that is one week in the future, and not today's date.
45241         I.e., add a week when the wday is the same as the current one.
45242         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
45243         and earlier by Martin Bernreuther and Jan Minář.
45244         * tests/test-getdate.c (main): Check that "next DAY" is always in
45245         the future and that "last DAY" is always in the past.
45246
45247 2009-05-02  Jim Meyering  <meyering@redhat.com>
45248
45249         build: ensure that a release build fails when a submodule is unclean
45250         * top/maint.mk (no-submodule-changes): New rule.
45251         (alpha beta major): Depend on it.
45252
45253 2009-05-02  Bruno Haible  <bruno@clisp.org>
45254
45255         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
45256         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
45257         shell variable gl_fnmatch_required to detect which variant is
45258         requested.
45259         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
45260         gl_FUNC_FNMATCH_POSIX.
45261         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
45262         exclude fnmatch-posix.
45263
45264 2009-05-02  Bruno Haible  <bruno@clisp.org>
45265
45266         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
45267         * modules/mbsrtowcs (License): Change to LGPLv2+.
45268         * modules/strnlen1 (License): Likewise.
45269         Reported by Simon Josefsson.
45270
45271 2009-05-02  Bruno Haible  <bruno@clisp.org>
45272
45273         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
45274         "cross".
45275         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
45276         gnulib-tool was called with option --source-base=lib.
45277
45278 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45279
45280         Use automake *-local hooks without commands, for extensibility.
45281         * modules/localcharset (Makefile.am): Rename install-exec-local
45282         rule to install-exec-localcharset, and make it a prerequisite of
45283         install-exec-local.  Likewise, rename the uninstall-local rule to
45284         uninstall-localcharset, and make it a prerequisite of the former.
45285
45286 2009-05-01  Bruno Haible  <bruno@clisp.org>
45287
45288         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
45289         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
45290         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
45291         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
45292         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
45293         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
45294         m4/locale-zh.m4, m4/codeset.m4.
45295
45296         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
45297         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
45298         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
45299         m4/locale-zh.m4.
45300
45301         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
45302         REPLACE_WCRTOMB if mbstate_t must be replaced.
45303         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
45304         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
45305
45306 2009-05-01  Bruno Haible  <bruno@clisp.org>
45307
45308         Avoid compiler warnings when redefining macros defined by <libintl.h>.
45309         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
45310         dngettext, dcngettext, textdomain, bindtextdomain,
45311         bind_textdomain_codeset): Undefine before redefining.
45312
45313 2009-04-30  Bruno Haible  <bruno@clisp.org>
45314
45315         Fix bug introduced on 2009-04-25.
45316         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
45317         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
45318         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
45319         is defined.
45320         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
45321         is defined.
45322         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
45323         is defined.
45324         Reported by Elbert_Pol <elbert.pol@gmail.com>.
45325
45326 2009-04-28  Bruno Haible  <bruno@clisp.org>
45327
45328         Comment tweaks.
45329         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
45330         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
45331         * lib/unicase.h (u*_casexfrm): Likewise.
45332         Reported by Paolo Bonzini.
45333
45334 2009-04-28  Bruno Haible  <bruno@clisp.org>
45335
45336         Fix a compilation error.
45337         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
45338         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
45339         Reported by Jim Meyering.
45340
45341 2009-04-27  Bruno Haible  <bruno@clisp.org>
45342
45343         New module 'libunistring'.
45344         * modules/libunistring: New file.
45345         * m4/libunistring.m4: New file.
45346         * MODULES.html.sh (Unicode string functions): Add it.
45347
45348 2009-04-27  Eric Blake  <ebb9@byu.net>
45349
45350         maint.mk: allow package-specific header to provide <config.h>
45351         * top/maint.mk (sc_require_config_h): New variable.
45352         (sc_require_config_h, sc_require_config_h_first): Use it.
45353
45354 2009-04-27  Simon Josefsson  <simon@josefsson.org>
45355
45356         * top/maint.mk (sc_avoid_if_before_free): Except
45357         useless-if-before-free script.
45358
45359 2009-04-27  Eric Blake  <ebb9@byu.net>
45360
45361         maintainer-makefile: depend on all required helper scripts
45362         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
45363         useless-if-before-free.
45364         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
45365         version, rather than assuming gnulib checkout is available.
45366         Reported by Simen Josefsson.
45367
45368 2009-04-26  Bruno Haible  <bruno@clisp.org>
45369
45370         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
45371         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
45372         "../" or "..".
45373
45374 2009-04-26  Bruno Haible  <bruno@clisp.org>
45375
45376         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
45377         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
45378         AC_LIB_HAVE_LINKFLAGS.
45379
45380 2009-04-26  Bruno Haible  <bruno@clisp.org>
45381
45382         Simplify calling convention of u*_conv_from_encoding.
45383         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
45384         u32_conv_from_encoding): Expect a resultbuf argument and return the
45385         result directly as a pointer.
45386         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
45387         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
45388         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
45389         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
45390         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
45391         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
45392         Update.
45393         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
45394         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
45395         * lib/vasnprintf.c (VASNPRINTF): Update.
45396         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
45397         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
45398         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
45399         * NEWS: Mention the change.
45400
45401 2009-04-26  Bruno Haible  <bruno@clisp.org>
45402
45403         Simplify calling convention of u*_conv_to_encoding.
45404         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
45405         u32_conv_to_encoding): Expect a resultbuf argument and return the
45406         result directly as a pointer.
45407         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
45408         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
45409         freeing scaled_offsets if mem_iconveha failed.
45410         * lib/unicase/u-casexfrm.h (FUNC): Update.
45411         * lib/uninorm/u-normxfrm.h (FUNC): Update.
45412         * lib/vasnprintf.c (VASNPRINTF): Update.
45413         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
45414         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
45415         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
45416         * NEWS: Mention the change.
45417
45418 2009-04-26  Bruno Haible  <bruno@clisp.org>
45419
45420         Avoid test failures on AIX and OSF/1.
45421         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
45422         malloc(0).
45423         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
45424         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
45425         Likewise.
45426         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
45427         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
45428         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
45429         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
45430         * doc/posix-functions/malloc.texi: Document the portability problem
45431         related to malloc(0).
45432
45433 2009-04-26  Bruno Haible  <bruno@clisp.org>
45434
45435         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
45436         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
45437         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
45438
45439 2009-04-25  Bruno Haible  <bruno@clisp.org>
45440
45441         Avoid link error when creating a namespace clean library.
45442         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
45443         as macro with arguments if already defined as an alias.
45444         * lib/signbitf.c (gl_signbitf): Don't undefine.
45445         * lib/signbitd.c (gl_signbitd): Don't undefine.
45446         * lib/signbitl.c (gl_signbitl): Don't undefine.
45447
45448 2009-04-25  Jim Meyering  <meyering@redhat.com>
45449
45450         vc-list-files: fix another quoting bug
45451         * build-aux/vc-list-files: Avoid sed backslash expansion
45452         of pathological directory names.
45453
45454 2009-04-25  Eric Blake  <ebb9@byu.net>
45455
45456         vc-list-files: fix shell quoting error
45457         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
45458         timestamp.
45459
45460 2009-04-25  Jim Meyering  <meyering@redhat.com>
45461
45462         vc-list-files: restore lost functionality with subdir argument
45463         * build-aux/vc-list-files: When given a non-"." sub-directory
45464         argument, substitute the $dir/ prefix back onto each resulting name.
45465         Otherwise, coreutils' root_tests check would fail.
45466
45467 2009-04-24  Eric Blake  <ebb9@byu.net>
45468
45469         vc-list-files: ignore git symlinks
45470         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
45471         than ls-files, to ignore git symlinks.
45472
45473         maint.mk: import improvements from m4
45474         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
45475         (move_if_change): Delete unused macro.
45476         (news-date-check, vc-diff-check): Support VPATH builds.
45477         (announcement): Likewise.  Split --bootstrap-tools list...
45478         (boostrap-tools): ...into separate list, which can be overridden
45479         in cfg.mk.
45480         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
45481         requiring dependency on useless-if-before-free module.
45482         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
45483         Support VPATH builds.
45484
45485 2009-04-24  Jim Meyering  <meyering@redhat.com>
45486
45487         maint.mk: remove coreutils-specific rules and variables
45488         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
45489         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
45490         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
45491
45492         maint.mk: remove obsolete rule
45493         * top/maint.mk (rel-check): Remove rule.
45494         (WGET, WGETFLAGS): Remove now-unused variables.
45495
45496 2009-04-24  Simon Josefsson  <simon@josefsson.org>
45497
45498         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
45499         consistency.
45500
45501         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
45502         '$(PATH_SEPARATOR)' instead of ':'.
45503
45504 2009-04-24  Simon Josefsson  <simon@josefsson.org>
45505
45506         * lib/getopt1.c (main): Use 'const' for static array.
45507
45508 2009-04-24  Simon Josefsson  <simon@josefsson.org>
45509
45510         * top/maint.mk: Sync with coreutils.
45511         * NEWS: Explain incompatibilities.
45512
45513 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45514             Bruno Haible  <bruno@clisp.org>
45515
45516         Fix cross-compilation results.
45517         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
45518         statement, as third argument of AC_TRY_RUN.
45519         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
45520         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
45521         Likewise.
45522         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
45523         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
45524         Likewise.
45525         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
45526         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
45527         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
45528
45529 2009-04-20  Bruno Haible  <bruno@clisp.org>
45530
45531         Avoid test failure on mingw.
45532         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
45533
45534 2009-04-20  Bruno Haible  <bruno@clisp.org>
45535
45536         Avoid compilation error on mingw.
45537         * modules/localename-tests (Depends-on): Add locale.
45538
45539 2009-04-19  Bruno Haible  <bruno@clisp.org>
45540
45541         Support for building a shared library on Windows platforms.
45542         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
45543         (main): Test the presence of UNINORM_NFC here.
45544         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
45545         (main): Test the presence of UNINORM_NFD here.
45546         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
45547         (main): Test the presence of UNINORM_NFKC here.
45548         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
45549         (main): Test the presence of UNINORM_NFKD here.
45550
45551 2009-04-19  Bruno Haible  <bruno@clisp.org>
45552
45553         Avoid a compiler warning.
45554         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
45555         Change type of variable 'sequence'.
45556
45557 2009-04-19  Bruno Haible  <bruno@clisp.org>
45558
45559         * modules/configmake (Makefile.am): When the contents of configmake.h
45560         does not change, arrange to preserve its modification time.
45561
45562 2009-04-17  Simon Josefsson  <simon@josefsson.org>
45563
45564         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
45565         gettext domain.
45566
45567 2009-04-16  Jim Meyering  <meyering@redhat.com>
45568
45569         useless-if-before-free: improve conversion code
45570         * build-aux/useless-if-before-free: Adjust code-in-comment to match
45571         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
45572
45573 2009-04-14  Bruno Haible  <bruno@clisp.org>
45574
45575         * modules/fcntl (Depends-on): Add extensions.
45576         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
45577
45578 2009-04-12  Ben Pfaff  <blp@gnu.org>
45579
45580         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
45581         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
45582
45583 2009-03-20  Ben Pfaff  <blp@gnu.org>
45584
45585         Make rename replace existing destinations on Windows.
45586         * m4/rename.m4: Add test for Mingw.
45587         * lib/rename.c: Add rename replacement that uses MoveFileEx with
45588         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
45589         * doc/posix-functions/rename.texi: Document.
45590
45591 2009-04-10  Bruno Haible  <bruno@clisp.org>
45592
45593         New include file "iconveh.h".
45594         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
45595         * lib/striconveh.h: Include it.
45596         (enum iconv_ilseq_handler): Remove definition.
45597         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
45598         striconveh.h.
45599         * lib/striconveha.c: Include striconveh.h.
45600         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
45601         * modules/striconveh (Files): Add lib/iconveh.h.
45602         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
45603         lib/striconveh.h.
45604
45605 2009-04-10  Bruno Haible  <bruno@clisp.org>
45606
45607         * lib/uniconv.h: Update comment.
45608
45609 2009-04-10  Bruno Haible  <bruno@clisp.org>
45610
45611         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
45612         always.
45613         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
45614         * lib/unistr/u16-mbtouc-aux.c: Likewise.
45615         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
45616         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
45617         "unistring-notinline.h", so that the function gets defined always.
45618         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
45619         * lib/unistr/u8-uctomb.c: Likewise.
45620         * lib/unistr/u16-mbtouc.c: Likewise.
45621         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
45622         * lib/unistr/u16-uctomb.c: Likewise.
45623         * lib/unistr/u32-mbtouc.c: Likewise.
45624         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
45625         * lib/unistr/u32-uctomb.c: Likewise.
45626
45627 2009-04-10  Bruno Haible  <bruno@clisp.org>
45628
45629         Mark 'utime' obsolete.
45630         * modules/utime (Status, Notice): New sections.
45631         Suggested by Jim Meyering.
45632
45633         Fix cross-compile guess for utime test.
45634         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
45635         autoconf.
45636         * doc/posix-functions/utime.texi: Give more precisions.
45637         Reported by Jan <ipif@ymail.com>.
45638
45639 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
45640
45641         filevercmp: correct today's change
45642         * lib/filevercmp.c: Also handle coreutils' test inputs.
45643         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
45644
45645         Fix regression in 'filevercmp' module. Thanks Sven Joachim
45646         for reporting it.
45647         * lib/filevercmp.c: Special handle for "", "." and "..".
45648         * tests/test-filevercmp.c: Enlarge the set suite.
45649
45650 2009-04-07  Jim Meyering  <meyering@redhat.com>
45651
45652         useless-if-before-free: show how to remove braced useless free, too
45653         * build-aux/useless-if-before-free: still only in a comment, though.
45654
45655 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
45656
45657         maint.mk: import changes to syntax-check macros from coreutils
45658         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
45659         Use them in the relevant macros.
45660
45661 2009-04-06  Bruno Haible  <bruno@clisp.org>
45662
45663         Fix unportable use of bit-fields.
45664         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
45665         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
45666         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
45667
45668 2009-04-06  Bruno Haible  <bruno@clisp.org>
45669
45670         Avoid test failures on AIX and OSF/1.
45671         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
45672         that malloc(0) = NULL.
45673         * tests/unicase/test-u8-tolower.c (check): Likewise.
45674         * tests/unicase/test-u8-totitle.c (check): Likewise.
45675         * tests/unicase/test-u8-toupper.c (check): Likewise.
45676         * tests/unicase/test-u16-casefold.c (check): Likewise.
45677         * tests/unicase/test-u16-tolower.c (check): Likewise.
45678         * tests/unicase/test-u16-totitle.c (check): Likewise.
45679         * tests/unicase/test-u16-toupper.c (check): Likewise.
45680         * tests/unicase/test-u32-casefold.c (check): Likewise.
45681         * tests/unicase/test-u32-tolower.c (check): Likewise.
45682         * tests/unicase/test-u32-totitle.c (check): Likewise.
45683         * tests/unicase/test-u32-toupper.c (check): Likewise.
45684         * tests/uninorm/test-u8-nfc.c (check): Likewise.
45685         * tests/uninorm/test-u8-nfd.c (check): Likewise.
45686         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
45687         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
45688         * tests/uninorm/test-u16-nfc.c (check): Likewise.
45689         * tests/uninorm/test-u16-nfd.c (check): Likewise.
45690         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
45691         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
45692         * tests/uninorm/test-u32-nfc.c (check): Likewise.
45693         * tests/uninorm/test-u32-nfd.c (check): Likewise.
45694         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
45695         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
45696
45697 2009-04-05  Bruno Haible  <bruno@clisp.org>
45698
45699         Work around an autoconf limitation.
45700         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
45701         comment line if it would be longer than 3 KB.
45702
45703 2009-04-05  Bruno Haible  <bruno@clisp.org>
45704
45705         Avoid test failure with libiconv-1.13.
45706         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
45707         of the expected test results.
45708
45709 2009-04-05  Bruno Haible  <bruno@clisp.org>
45710
45711         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
45712         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
45713         that it should be installed.
45714
45715 2009-04-05  Bruno Haible  <bruno@clisp.org>
45716
45717         * gnulib-tool: New option --copy-file.
45718         (func_usage): Document it.
45719         (func_dest_tmpfilename): Moved out of func_import.
45720         (func_add_file, func_update_file): New functions, extracted from
45721         func_import.
45722         (func_import): Update.
45723
45724 2009-04-05  Karl Berry  <karl@gnu.org>
45725
45726         * README: prominently mention gnulib-tool.
45727         Rearrange sections so getting the code is near the top.
45728
45729 2009-04-05  Bruno Haible  <bruno@clisp.org>
45730
45731         * lib/unicase.h: Mention u*_cmp2.
45732         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
45733         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
45734         * lib/unicase/ulc-casecmp.c: Likewise.
45735         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
45736         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
45737         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
45738         unistr/u8-cmp.
45739         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
45740         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
45741         unistr/u16-cmp.
45742         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
45743         unistr/u32-cmp.
45744
45745         * lib/uninorm.h: Mention u*_cmp2.
45746         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
45747         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
45748         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
45749         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
45750         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
45751         unistr/u8-cmp.
45752         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
45753         unistr/u16-cmp.
45754         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
45755         unistr/u32-cmp.
45756
45757         New module 'unistr/u32-cmp2'.
45758         * lib/unistr/u32-cmp2.c: New file.
45759         * modules/unistr/u32-cmp2: New file.
45760
45761         New module 'unistr/u16-cmp2'.
45762         * lib/unistr/u16-cmp2.c: New file.
45763         * modules/unistr/u16-cmp2: New file.
45764
45765         New module 'unistr/u8-cmp2'.
45766         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
45767         * lib/unistr/u8-cmp2.c: New file.
45768         * lib/unistr/u-cmp2.h: New file.
45769         * modules/unistr/u8-cmp2: New file.
45770
45771 2009-04-05  Bruno Haible  <bruno@clisp.org>
45772
45773         * lib/unictype.h (uc_property_is_valid): New macro.
45774         * tests/unictype/test-pr_byname.c (main): Use it.
45775
45776         * lib/unistr.h: Doc fixes.
45777         * lib/uniconv.h: Doc fixes.
45778         * lib/unictype.h: Doc fixes.
45779
45780 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
45781
45782         Port coreutils 7.2 to Solaris 8.
45783
45784         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
45785         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
45786         for Solaris 8.  This is a bit of a hack, as it means it's the
45787         caller's responsibility to add -lnsl if needed, but most likely it
45788         won't be needed since only getaddrinfo uses this and getaddrinfo
45789         isn't needed on Solaris 8.
45790
45791         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
45792         problem to Solaris 8 encountered with coreutils 7.2, which
45793         resulted in a message "fnmatch.c:292: warning: passing argument 4
45794         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
45795         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
45796
45797 2009-04-03  Simon Josefsson  <simon@josefsson.org>
45798
45799         * m4/ld-version-script.m4: Add FIXME comment.
45800
45801 2009-04-02  Simon Josefsson  <simon@josefsson.org>
45802
45803         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
45804         SOVERSION variable.
45805
45806 2009-04-02  Bruno Haible  <bruno@clisp.org>
45807
45808         * Makefile (info, html, dvi, pdf): Combine the rules.
45809         Suggested by Jim Meyering.
45810
45811 2009-04-01  Bruno Haible  <bruno@clisp.org>
45812
45813         * Makefile (info, html, dvi, pdf): New targets.
45814         Reported by Reuben Thomas <rrt@sc3d.org>.
45815
45816 2009-04-01  Bruno Haible  <bruno@clisp.org>
45817
45818         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
45819         can be put into PATH.
45820         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
45821
45822 2009-04-01  Bruno Haible  <bruno@clisp.org>
45823
45824         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
45825
45826 2009-04-01  Bruno Haible  <bruno@clisp.org>
45827
45828         Rename module 'visibility'.
45829         * modules/lib-symbol-visibility: Renamed from modules/visibility.
45830         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
45831         * doc/gnulib.texi: Update.
45832         * MODULES.html.sh (Misc): Update.
45833         * NEWS: Mention the change.
45834
45835 2009-04-01  Simon Josefsson  <simon@josefsson.org>
45836
45837         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
45838         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
45839         Eric Blake <ebb9@byu.net> for review.
45840         * MODULES.html.sh: Add lib-msvc-compat.
45841         * doc/gnulib.texi: Link to new section.
45842         * m4/ld-output-def.m4: New file.
45843         * doc/ld-output-def.texi: New file.
45844
45845 2009-04-01  Simon Josefsson  <simon@josefsson.org>
45846
45847         Rename ld-version-script to lib-symbol-versions.  Suggested by
45848         Bruno Haible <bruno@clisp.org>.
45849         * modules/ld-version-script: Renamed to lib-symbol-versions.
45850         * doc/ld-version-script.texi: Fix module name.
45851         * MODULES.html.sh: Add lib-symbol-versions.
45852
45853 2009-03-31  Simon Josefsson  <simon@josefsson.org>
45854
45855         * modules/u64-tests: New file.
45856         * tests/test-u64.c: New file.
45857
45858 2009-03-04  Simon Josefsson  <simon@josefsson.org>
45859
45860         * MODULES.html.sh: Mention u64.
45861         * modules/u64: New module.
45862         * modules/crypto/sha512: Depend on u64 module instead of providing
45863         u64.h.
45864
45865 2009-03-27  Eric Blake  <ebb9@byu.net>
45866
45867         test-strerror: make debugging EAI_SYSTEM easier
45868         * modules/getaddrinfo-tests (Depends-on): Add strerror.
45869         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
45870         failure was EAI_SYSTEM.
45871
45872 2009-03-25  Bruno Haible  <bruno@clisp.org>
45873
45874         Fix a problem with --enable-relocatable on Solaris 7.
45875         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
45876         since 2008-02-24.
45877
45878 2009-03-25  Eric Blake  <ebb9@byu.net>
45879
45880         test-sockets: avoid gcc warning
45881         * tests/test-sockets.c (main): Silence compiler warning.
45882
45883 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
45884
45885         New modules nproc, pthread, contributed by Glen Lenker.
45886
45887         * MODULES.html.sh: Add pthread, nproc.
45888         * lib/nproc.c: New file.
45889         * lib/nproc.h: New file.
45890         * lib/pthread.in.h: New file.
45891         * m4/pthread.m4: New file.
45892         * modules/nproc: New file.
45893         * modules/pthread: New file.
45894
45895 2009-03-24  Simon Josefsson  <simon@josefsson.org>
45896
45897         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
45898         New variable.
45899
45900 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
45901
45902         filevercmp: handle simple~ and numbered.~3~ backup suffixes
45903         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
45904         * tests/test-filevercmp.c: Add tests for backup suffixes.
45905
45906 2009-03-24  Simon Josefsson  <simon@josefsson.org>
45907
45908         * modules/stdlib (Depends-on): Add stdint, needed when defining
45909         struct random_data on, for example, HP-UX 10.20.  Reported by
45910         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
45911
45912 2009-03-24  Simon Josefsson  <simon@josefsson.org>
45913
45914         * lib/readline.c (readline): Call fflush on stdout after printing
45915         prompt.
45916
45917 2009-03-20  Bruno Haible  <bruno@clisp.org>
45918
45919         Remove dependency from 'close' module to -lws2_32 on native Windows.
45920         * lib/close-hook.h: New file.
45921         * lib/close-hook.c: New file.
45922         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
45923         w32sock.h.
45924         (_gl_close_fd_maybe_socket): Remove function.
45925         (rpl_close): Invoke execute_all_close_hooks instead of
45926         _gl_close_fd_maybe_socket.
45927         * lib/sockets.c: Include close-hook.h, w32sock.h.
45928         (close_fd_maybe_socket): New function, essentially from lib/close.c.
45929         (close_sockets_hook): New variable.
45930         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
45931         (gl_sockets_cleanup): Unregister it.
45932         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
45933         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
45934         * modules/close-hook: New file.
45935         * modules/close (Files): Remove lib/w32sock.h.
45936         (Depends-on): Add close-hook.
45937         (Link): Remove section.
45938         * modules/sockets (Files): Add lib/w32sock.h.
45939         (Depends-on): Add close-hook.
45940         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
45941         invocation.
45942         * NEWS: Mention that LIB_CLOSE is gone.
45943
45944 2009-03-23  Eric Blake  <ebb9@byu.net>
45945
45946         signal-tests: test previous patch
45947         * tests/test-signal.c: New file.
45948         * modules/signal-tests: Likewise.
45949
45950         signal.h: always support 'volatile sig_atomic_t'
45951         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
45952         (gl_SIGNAL_H_DEFAULTS): Add a default.
45953         * modules/signal (Makefile.am): Substitute if needed.
45954         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
45955         users can blindly add volatile.
45956         * doc/posix-headers/signal.texi (signal.h): Document it.
45957         Reported by Matthew Woehlke.
45958
45959 2009-03-23  Jim Meyering  <meyering@redhat.com>
45960
45961         pathmax: PATH_MAX: use pathconf only when available
45962         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
45963         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
45964         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
45965         This avoids a link failure in a PSP cross-compilation environment
45966         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
45967
45968         * lib/vasnprintf.c (divide): Fix typo in comment.
45969
45970 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45971
45972         * gnulib-tool (func_filter_filelist): Fix comment.
45973
45974 2009-03-20  Bruno Haible  <bruno@clisp.org>
45975
45976         Make sockets.h self-contained.
45977         * lib/sockets.c: Include sockets.h first.
45978         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
45979
45980 2009-03-19  Eric Blake  <ebb9@byu.net>
45981
45982         doc: mention more functions added in cygwin 1.7.0
45983         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
45984         addition.
45985         * doc/posix-functions/log2f.texi: Likewise.
45986
45987 2009-03-19  Jim Meyering  <meyering@redhat.com>
45988
45989         fsusage: avoid syntax error due to statement-before-declaration
45990         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
45991         after all declarations.  Reported by Matthew Woehlke in
45992         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
45993
45994 2009-03-18  Eric Blake  <ebb9@byu.net>
45995
45996         build-aux/compile: sync from automake
45997         * build-aux/compile: New file, from automake.
45998         * config/srclist.txt: Mention build-aux/compile.
45999
46000 2009-03-17  Bruno Haible  <bruno@clisp.org>
46001
46002         * lib/git-merge-changelog.c: Fix typo in comment.
46003         Reported by Reuben Thomas <rrt@sc3d.org>.
46004
46005 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
46006
46007         * m4/regex.m4: update and improve help for
46008         --without-included-regex.
46009
46010 2009-03-17  Simon Josefsson  <simon@josefsson.org>
46011
46012         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
46013         failure on missing include files.
46014
46015 2009-03-17  Eric Blake  <ebb9@byu.net>
46016
46017         doc: mention more functions added in cygwin 1.7.0
46018         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
46019         addition.
46020         * doc/posix-functions/fwscanf.texi: Likewise.
46021         * doc/posix-functions/swprintf.texi: Likewise.
46022         * doc/posix-functions/swscanf.texi: Likewise.
46023         * doc/posix-functions/vfwprintf.texi: Likewise.
46024         * doc/posix-functions/vfwscanf.texi: Likewise.
46025         * doc/posix-functions/vswprintf.texi: Likewise.
46026         * doc/posix-functions/vswscanf.texi: Likewise.
46027         * doc/posix-functions/vwprintf.texi: Likewise.
46028         * doc/posix-functions/vwscanf.texi: Likewise.
46029         * doc/posix-functions/wcscasecmp.texi: Likewise.
46030         * doc/posix-functions/wcsdup.texi: Likewise.
46031         * doc/posix-functions/wcsftime.texi: Likewise.
46032         * doc/posix-functions/wcsncasecmp.texi: Likewise.
46033         * doc/posix-functions/wprintf.texi: Likewise.
46034         * doc/posix-functions/wscanf.texi: Likewise.
46035         * doc/glibc-functions/gethostbyname2.texi: Likewise.
46036
46037 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46038
46039         maint.mk: really add $(AM_MAKEFLAGS)
46040         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
46041         was inadvertently omitted in the last commit.
46042         Spotted by Bruno Haible.
46043
46044         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
46045         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
46046         $(AM_MAKEFLAGS)' rather than plain `make'.
46047
46048         gnulib-tool: execute $MAKE not make
46049         * gnulib-tool: Default $MAKE to 'make'.
46050         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
46051         than make.  Initialize $MAKE in the do-autobuild script.
46052
46053         gnulib-tool: use $MAKE not make in generated files
46054         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
46055         make, in generated files.  Initialize $MAKE in the do-autobuild
46056         script.
46057
46058         * top/GNUmakefile (_have-git-version-gen): Fix typo.
46059
46060         GNUmakefile: disable parallelism only for multiple, recursive targets
46061         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
46062         additions in the Makefile.
46063         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
46064         by Automake.
46065         (.NOTPARALLEL): Only disable parallel builds if multiple targets
46066         are listed on the command line and at least one of them is
46067         listed in $(ALL_RECURSIVE_TARGETS).
46068
46069 2009-03-14  Bruno Haible  <bruno@clisp.org>
46070
46071         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
46072         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
46073         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
46074         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
46075         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
46076         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
46077         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
46078         unistr/u8-uctomb.
46079         * modules/unistr/u8-strchr (Depends-on): Likewise.
46080         * modules/unistr/u8-strrchr (Depends-on): Likewise.
46081         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
46082         unistr/u16-uctomb.
46083         * modules/unistr/u16-strchr (Depends-on): Likewise.
46084         * modules/unistr/u16-strrchr (Depends-on): Likewise.
46085
46086 2009-03-12  Bruno Haible  <bruno@clisp.org>
46087
46088         Work around select() bug on Interix 3.5.
46089         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
46090         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
46091         * m4/select.m4: New file.
46092         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
46093         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
46094         * modules/select (Files): Add m4/select.m4.
46095         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
46096         * modules/nanosleep (Depends-on): Add select.
46097         * modules/poll (Depends-on): Likewise.
46098         * doc/posix-functions/select.texi: Mention the Interix bug.
46099         Reported by Markus Duft <mduft@gentoo.org>.
46100
46101         * lib/select.c: Renamed from lib/winsock-select.c.
46102         * modules/select (Files): Add lib/select.c, remove
46103         lib/winsock-select.c.
46104         (configure.ac): Update.
46105
46106 2009-03-12  Jim Meyering  <meyering@redhat.com>
46107
46108         avoid gcc warnings about unused macro definitions
46109         * lib/readtokens.c (STREQ): Remove unused definition.
46110         * lib/xmalloc.c (SIZE_MAX): Likewise.
46111         * lib/openat-die.c (N_): Likewise.
46112         * lib/mountlist.c (SIZE_MAX): Remove definition.
46113         Instead, include <stdint.h>.
46114         * lib/readutmp.c: Likewise.
46115         * modules/readutmp (Depends-on): Add stdint.
46116         * modules/mountlist (Depends-on): Add stdint.
46117         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
46118
46119 2009-03-10  Bruno Haible  <bruno@clisp.org>
46120
46121         Tests for module 'mbmemcasecoll'.
46122         * modules/mbmemcasecoll-tests: New file.
46123         * tests/test-mbmemcasecoll1.sh: New file.
46124         * tests/test-mbmemcasecoll2.sh: New file.
46125         * tests/test-mbmemcasecoll3.sh: New file.
46126         * tests/test-mbmemcasecoll.c: New file.
46127
46128         New module 'mbmemcasecoll'.
46129         * lib/mbmemcasecoll.h: New file.
46130         * lib/mbmemcasecoll.c: New file.
46131         * modules/mbmemcasecoll: New file.
46132
46133         * tests/test-mbmemcasecmp.h: New file, extracted from
46134         tests/test-mbmemcasecmp.c.
46135         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
46136         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
46137         (main): Update.
46138         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
46139
46140 2009-03-09  Bruno Haible  <bruno@clisp.org>
46141
46142         Tests for module 'mbmemcasecmp'.
46143         * modules/mbmemcasecmp-tests: New file.
46144         * tests/test-mbmemcasecmp1.sh: New file.
46145         * tests/test-mbmemcasecmp2.sh: New file.
46146         * tests/test-mbmemcasecmp3.sh: New file.
46147         * tests/test-mbmemcasecmp.c: New file.
46148
46149         New module 'mbmemcasecmp'.
46150         * lib/mbmemcasecmp.h: New file.
46151         * lib/mbmemcasecmp.c: New file.
46152         * modules/mbmemcasecmp: New file.
46153
46154 2009-03-09  Bruno Haible  <bruno@clisp.org>
46155
46156         Tests for module 'unicase/ulc-casecoll'.
46157         * modules/unicase/ulc-casecoll-tests: New file.
46158         * tests/unicase/test-ulc-casecoll1.sh: New file.
46159         * tests/unicase/test-ulc-casecoll2.sh: New file.
46160         * tests/unicase/test-ulc-casecoll.c: New file.
46161
46162         New module 'unicase/ulc-casecoll'.
46163         * lib/unicase.h (ulc_casecoll): New declaration.
46164         * lib/unicase/ulc-casecoll.c: New file.
46165         * modules/unicase/ulc-casecoll: New file.
46166
46167         New module 'unicase/ulc-casexfrm'.
46168         * lib/unicase.h (ulc_casexfrm): New declaration.
46169         * lib/unicase/ulc-casexfrm.c: New file.
46170         * modules/unicase/ulc-casexfrm: New file.
46171
46172 2009-03-09  Bruno Haible  <bruno@clisp.org>
46173
46174         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
46175         invocations.
46176
46177         * m4/mbscasecmp.m4: Remove file.
46178         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
46179         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
46180
46181         * m4/mbscasestr.m4: Remove file.
46182         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
46183         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
46184
46185         * m4/mbschr.m4: Remove file.
46186         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
46187         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
46188
46189         * m4/mbscspn.m4: Remove file.
46190         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
46191         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
46192
46193         * m4/mbslen.m4: Remove file.
46194         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
46195         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
46196
46197         * m4/mbsncasecmp.m4: Remove file.
46198         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
46199         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
46200
46201         * m4/mbsnlen.m4: Remove file.
46202         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
46203         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
46204
46205         * m4/mbspbrk.m4: Remove file.
46206         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
46207         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
46208
46209         * m4/mbspcasecmp.m4: Remove file.
46210         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
46211         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
46212
46213         * m4/mbsrchr.m4: Remove file.
46214         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
46215         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
46216
46217         * m4/mbssep.m4: Remove file.
46218         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
46219         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
46220
46221         * m4/mbsspn.m4: Remove file.
46222         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
46223         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
46224
46225         * m4/mbsstr.m4: Remove file.
46226         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
46227         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
46228
46229         * m4/mbstok_r.m4: Remove file.
46230         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
46231         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
46232
46233         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
46234
46235         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
46236         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
46237
46238         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
46239
46240 2009-03-08  Bruno Haible  <bruno@clisp.org>
46241
46242         Tests for module 'unicase/ulc-casecmp'.
46243         * modules/unicase/ulc-casecmp-tests: New file.
46244         * tests/unicase/test-ulc-casecmp1.sh: New file.
46245         * tests/unicase/test-ulc-casecmp2.sh: New file.
46246         * tests/unicase/test-ulc-casecmp.c: New file.
46247
46248         New module 'unicase/ulc-casecmp'.
46249         * lib/unicase.h (ulc_casecmp): New declaration.
46250         * lib/unicase/ulc-casecmp.c: New file.
46251         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
46252         'const SRC_UNIT *'.
46253         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
46254         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
46255         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
46256         * modules/unicase/ulc-casecmp: New file.
46257
46258         Tests for module 'unicase/u32-is-cased'.
46259         * modules/unicase/u32-is-cased-tests: New file.
46260         * tests/unicase/test-u32-is-cased.c: New file.
46261
46262         Tests for module 'unicase/u16-is-cased'.
46263         * modules/unicase/u16-is-cased-tests: New file.
46264         * tests/unicase/test-u16-is-cased.c: New file.
46265
46266         Tests for module 'unicase/u8-is-cased'.
46267         * modules/unicase/u8-is-cased-tests: New file.
46268         * tests/unicase/test-u8-is-cased.c: New file.
46269         * tests/unicase/test-is-cased.h: New file.
46270
46271         New module 'unicase/u32-is-cased'.
46272         * lib/unicase/u32-is-cased.c: New file.
46273         * modules/unicase/u32-is-cased: New file.
46274
46275         New module 'unicase/u16-is-cased'.
46276         * lib/unicase/u16-is-cased.c: New file.
46277         * modules/unicase/u16-is-cased: New file.
46278
46279         New module 'unicase/u8-is-cased'.
46280         * lib/unicase/u8-is-cased.c: New file.
46281         * lib/unicase/u-is-cased.h: New file.
46282         * modules/unicase/u8-is-cased: New file.
46283
46284         Tests for module 'unicase/u32-is-casefolded'.
46285         * modules/unicase/u32-is-casefolded-tests: New file.
46286         * tests/unicase/test-u32-is-casefolded.c: New file.
46287
46288         Tests for module 'unicase/u16-is-casefolded'.
46289         * modules/unicase/u16-is-casefolded-tests: New file.
46290         * tests/unicase/test-u16-is-casefolded.c: New file.
46291
46292         Tests for module 'unicase/u8-is-casefolded'.
46293         * modules/unicase/u8-is-casefolded-tests: New file.
46294         * tests/unicase/test-u8-is-casefolded.c: New file.
46295         * tests/unicase/test-is-casefolded.h: New file.
46296
46297         New module 'unicase/u32-is-casefolded'.
46298         * lib/unicase/u32-is-casefolded.c: New file.
46299         * modules/unicase/u32-is-casefolded: New file.
46300
46301         New module 'unicase/u16-is-casefolded'.
46302         * lib/unicase/u16-is-casefolded.c: New file.
46303         * modules/unicase/u16-is-casefolded: New file.
46304
46305         New module 'unicase/u8-is-casefolded'.
46306         * lib/unicase/u8-is-casefolded.c: New file.
46307         * modules/unicase/u8-is-casefolded: New file.
46308
46309         Tests for module 'unicase/u32-is-titlecase'.
46310         * modules/unicase/u32-is-titlecase-tests: New file.
46311         * tests/unicase/test-u32-is-titlecase.c: New file.
46312
46313         Tests for module 'unicase/u16-is-titlecase'.
46314         * modules/unicase/u16-is-titlecase-tests: New file.
46315         * tests/unicase/test-u16-is-titlecase.c: New file.
46316
46317         Tests for module 'unicase/u8-is-titlecase'.
46318         * modules/unicase/u8-is-titlecase-tests: New file.
46319         * tests/unicase/test-u8-is-titlecase.c: New file.
46320         * tests/unicase/test-is-titlecase.h: New file.
46321
46322         New module 'unicase/u32-is-titlecase'.
46323         * lib/unicase/u32-is-titlecase.c: New file.
46324         * modules/unicase/u32-is-titlecase: New file.
46325
46326         New module 'unicase/u16-is-titlecase'.
46327         * lib/unicase/u16-is-titlecase.c: New file.
46328         * modules/unicase/u16-is-titlecase: New file.
46329
46330         New module 'unicase/u8-is-titlecase'.
46331         * lib/unicase/u8-is-titlecase.c: New file.
46332         * modules/unicase/u8-is-titlecase: New file.
46333
46334         Tests for module 'unicase/u32-is-lowercase'.
46335         * modules/unicase/u32-is-lowercase-tests: New file.
46336         * tests/unicase/test-u32-is-lowercase.c: New file.
46337
46338         Tests for module 'unicase/u16-is-lowercase'.
46339         * modules/unicase/u16-is-lowercase-tests: New file.
46340         * tests/unicase/test-u16-is-lowercase.c: New file.
46341
46342         Tests for module 'unicase/u8-is-lowercase'.
46343         * modules/unicase/u8-is-lowercase-tests: New file.
46344         * tests/unicase/test-u8-is-lowercase.c: New file.
46345         * tests/unicase/test-is-lowercase.h: New file.
46346
46347         New module 'unicase/u32-is-lowercase'.
46348         * lib/unicase/u32-is-lowercase.c: New file.
46349         * modules/unicase/u32-is-lowercase: New file.
46350
46351         New module 'unicase/u16-is-lowercase'.
46352         * lib/unicase/u16-is-lowercase.c: New file.
46353         * modules/unicase/u16-is-lowercase: New file.
46354
46355         New module 'unicase/u8-is-lowercase'.
46356         * lib/unicase/u8-is-lowercase.c: New file.
46357         * modules/unicase/u8-is-lowercase: New file.
46358
46359         Tests for module 'unicase/u32-is-uppercase'.
46360         * modules/unicase/u32-is-uppercase-tests: New file.
46361         * tests/unicase/test-u32-is-uppercase.c: New file.
46362
46363         Tests for module 'unicase/u16-is-uppercase'.
46364         * modules/unicase/u16-is-uppercase-tests: New file.
46365         * tests/unicase/test-u16-is-uppercase.c: New file.
46366
46367         Tests for module 'unicase/u8-is-uppercase'.
46368         * modules/unicase/u8-is-uppercase-tests: New file.
46369         * tests/unicase/test-u8-is-uppercase.c: New file.
46370         * tests/unicase/test-is-uppercase.h: New file.
46371
46372         New module 'unicase/u32-is-uppercase'.
46373         * lib/unicase/u32-is-uppercase.c: New file.
46374         * modules/unicase/u32-is-uppercase: New file.
46375
46376         New module 'unicase/u16-is-uppercase'.
46377         * lib/unicase/u16-is-uppercase.c: New file.
46378         * modules/unicase/u16-is-uppercase: New file.
46379
46380         New module 'unicase/u8-is-uppercase'.
46381         * lib/unicase/u8-is-uppercase.c: New file.
46382         * modules/unicase/u8-is-uppercase: New file.
46383
46384         New module 'unicase/u32-is-invariant'.
46385         * lib/unicase/u32-is-invariant.c: New file.
46386         * modules/unicase/u32-is-invariant: New file.
46387
46388         New module 'unicase/u16-is-invariant'.
46389         * lib/unicase/u16-is-invariant.c: New file.
46390         * modules/unicase/u16-is-invariant: New file.
46391
46392         New module 'unicase/u8-is-invariant'.
46393         * lib/unicase/u8-is-invariant.c: New file.
46394         * lib/unicase/invariant.h: New file.
46395         * lib/unicase/u-is-invariant.h: New file.
46396         * modules/unicase/u8-is-invariant: New file.
46397
46398         Tests for module 'unicase/u32-casecoll'.
46399         * modules/unicase/u32-casecoll-tests: New file.
46400         * tests/unicase/test-u32-casecoll.c: New file.
46401
46402         Tests for module 'unicase/u16-casecoll'.
46403         * modules/unicase/u16-casecoll-tests: New file.
46404         * tests/unicase/test-u16-casecoll.c: New file.
46405
46406         Tests for module 'unicase/u8-casecoll'.
46407         * modules/unicase/u8-casecoll-tests: New file.
46408         * tests/unicase/test-u8-casecoll.c: New file.
46409
46410         New module 'unicase/u32-casecoll'.
46411         * lib/unicase/u32-casecoll.c: New file.
46412         * modules/unicase/u32-casecoll: New file.
46413
46414         New module 'unicase/u16-casecoll'.
46415         * lib/unicase/u16-casecoll.c: New file.
46416         * modules/unicase/u16-casecoll: New file.
46417
46418         New module 'unicase/u8-casecoll'.
46419         * lib/unicase/u8-casecoll.c: New file.
46420         * lib/unicase/u-casecoll.h: New file.
46421         * modules/unicase/u8-casecoll: New file.
46422
46423         New module 'unicase/u32-casexfrm'.
46424         * lib/unicase/u32-casexfrm.c: New file.
46425         * modules/unicase/u32-casexfrm: New file.
46426
46427         New module 'unicase/u16-casexfrm'.
46428         * lib/unicase/u16-casexfrm.c: New file.
46429         * modules/unicase/u16-casexfrm: New file.
46430
46431         New module 'unicase/u8-casexfrm'.
46432         * lib/unicase/u8-casexfrm.c: New file.
46433         * lib/unicase/u-casexfrm.h: New file.
46434         * modules/unicase/u8-casexfrm: New file.
46435
46436         Tests for module 'unicase/u32-casecmp'.
46437         * modules/unicase/u32-casecmp-tests: New file.
46438         * tests/unicase/test-u32-casecmp.c: New file.
46439
46440         Tests for module 'unicase/u16-casecmp'.
46441         * modules/unicase/u16-casecmp-tests: New file.
46442         * tests/unicase/test-u16-casecmp.c: New file.
46443
46444         Tests for module 'unicase/u8-casecmp'.
46445         * modules/unicase/u8-casecmp-tests: New file.
46446         * tests/unicase/test-u8-casecmp.c: New file.
46447         * tests/unicase/test-casecmp.h: New file.
46448
46449         New module 'unicase/u32-casecmp'.
46450         * lib/unicase/u32-casecmp.c: New file.
46451         * modules/unicase/u32-casecmp: New file.
46452
46453         New module 'unicase/u16-casecmp'.
46454         * lib/unicase/u16-casecmp.c: New file.
46455         * modules/unicase/u16-casecmp: New file.
46456
46457         New module 'unicase/u8-casecmp'.
46458         * lib/unicase/u8-casecmp.c: New file.
46459         * lib/unicase/u-casecmp.h: New file.
46460         * modules/unicase/u8-casecmp: New file.
46461
46462         Tests for module 'unicase/u32-casefold'.
46463         * modules/unicase/u32-casefold-tests: New file.
46464         * tests/unicase/test-u32-casefold.c: New file.
46465
46466         Tests for module 'unicase/u16-casefold'.
46467         * modules/unicase/u16-casefold-tests: New file.
46468         * tests/unicase/test-u16-casefold.c: New file.
46469
46470         Tests for module 'unicase/u8-casefold'.
46471         * modules/unicase/u8-casefold-tests: New file.
46472         * tests/unicase/test-u8-casefold.c: New file.
46473
46474         New module 'unicase/u32-casefold'.
46475         * lib/unicase/u32-casefold.c: New file.
46476         * modules/unicase/u32-casefold: New file.
46477
46478         New module 'unicase/u16-casefold'.
46479         * lib/unicase/u16-casefold.c: New file.
46480         * modules/unicase/u16-casefold: New file.
46481
46482         New module 'unicase/u8-casefold'.
46483         * lib/unicase/u8-casefold.c: New file.
46484         * lib/unicase/u-casefold.h: New file.
46485         * modules/unicase/u8-casefold: New file.
46486
46487         New module 'unicase/tocasefold'.
46488         * lib/unicase/casefold.h: New file.
46489         * lib/unicase/tocasefold.c: New file.
46490         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
46491         * modules/unicase/tocasefold: New file.
46492
46493         Tests for module 'unicase/u32-totitle'.
46494         * modules/unicase/u32-totitle-tests: New file.
46495         * tests/unicase/test-u32-totitle.c: New file.
46496
46497         Tests for module 'unicase/u16-totitle'.
46498         * modules/unicase/u16-totitle-tests: New file.
46499         * tests/unicase/test-u16-totitle.c: New file.
46500
46501         Tests for module 'unicase/u8-totitle'.
46502         * modules/unicase/u8-totitle-tests: New file.
46503         * tests/unicase/test-u8-totitle.c: New file.
46504
46505         New module 'unicase/u32-totitle'.
46506         * lib/unicase/u32-totitle.c: New file.
46507         * modules/unicase/u32-totitle: New file.
46508
46509         New module 'unicase/u16-totitle'.
46510         * lib/unicase/u16-totitle.c: New file.
46511         * modules/unicase/u16-totitle: New file.
46512
46513         New module 'unicase/u8-totitle'.
46514         * lib/unicase/u8-totitle.c: New file.
46515         * lib/unicase/u-totitle.h: New file.
46516         * modules/unicase/u8-totitle: New file.
46517
46518         Tests for module 'unicase/u32-tolower'.
46519         * modules/unicase/u32-tolower-tests: New file.
46520         * tests/unicase/test-u32-tolower.c: New file.
46521
46522         Tests for module 'unicase/u16-tolower'.
46523         * modules/unicase/u16-tolower-tests: New file.
46524         * tests/unicase/test-u16-tolower.c: New file.
46525
46526         Tests for module 'unicase/u8-tolower'.
46527         * modules/unicase/u8-tolower-tests: New file.
46528         * tests/unicase/test-u8-tolower.c: New file.
46529
46530         New module 'unicase/u32-tolower'.
46531         * lib/unicase/u32-tolower.c: New file.
46532         * modules/unicase/u32-tolower: New file.
46533
46534         New module 'unicase/u16-tolower'.
46535         * lib/unicase/u16-tolower.c: New file.
46536         * modules/unicase/u16-tolower: New file.
46537
46538         New module 'unicase/u8-tolower'.
46539         * lib/unicase/u8-tolower.c: New file.
46540         * modules/unicase/u8-tolower: New file.
46541
46542         Tests for module 'unicase/u32-toupper'.
46543         * modules/unicase/u32-toupper-tests: New file.
46544         * tests/unicase/test-u32-toupper.c: New file.
46545
46546         Tests for module 'unicase/u16-toupper'.
46547         * modules/unicase/u16-toupper-tests: New file.
46548         * tests/unicase/test-u16-toupper.c: New file.
46549
46550         Tests for module 'unicase/u8-toupper'.
46551         * modules/unicase/u8-toupper-tests: New file.
46552         * tests/unicase/test-u8-toupper.c: New file.
46553
46554         New module 'unicase/u32-toupper'.
46555         * lib/unicase/u32-toupper.c: New file.
46556         * modules/unicase/u32-toupper: New file.
46557
46558         New module 'unicase/u16-toupper'.
46559         * lib/unicase/u16-toupper.c: New file.
46560         * modules/unicase/u16-toupper: New file.
46561
46562         New module 'unicase/u8-toupper'.
46563         * lib/unicase/u8-toupper.c: New file.
46564         * modules/unicase/u8-toupper: New file.
46565
46566         New module 'unicase/u32-casemap'.
46567         * lib/unicase/u32-casemap.c: New file.
46568         * modules/unicase/u32-casemap: New file.
46569
46570         New module 'unicase/u16-casemap'.
46571         * lib/unicase/u16-casemap.c: New file.
46572         * modules/unicase/u16-casemap: New file.
46573
46574         New module 'unicase/u8-casemap'.
46575         * lib/unicase/unicasemap.h: New file.
46576         * lib/unicase/u8-casemap.c: New file.
46577         * lib/unicase/u-casemap.h: New file.
46578         * modules/unicase/u8-casemap: New file.
46579
46580         New module 'unicase/special-casing'.
46581         * lib/unicase/special-casing.h: New file.
46582         * lib/unicase/special-casing.c: New file.
46583         * lib/unicase/special-casing-table.gperf: New file, generated by
46584         gen-uni-tables.c.
46585         * modules/unicase/special-casing: New file.
46586
46587         Tests for module 'unicase/locale-language'.
46588         * modules/unicase/locale-language-tests: New file.
46589         * tests/unicase/test-locale-language.sh: New file.
46590         * tests/unicase/test-locale-language.c: New file.
46591
46592         New module 'unicase/locale-language'.
46593         * lib/unicase/locale-language.c: New file.
46594         * lib/unicase/locale-languages.gperf: New file.
46595         * modules/unicase/locale-language: New file.
46596
46597         Generate more tables for case conversion and case folding.
46598         * lib/gen-uni-tables.c (SCC_*): New enum items.
46599         (struct special_casing_rule): New type.
46600         (casing_rules, num_casing_rules, allocated_casing_rules): New
46601         variables.
46602         (add_casing_rule, fill_casing_rules): New functions.
46603         (struct casefold_rule): New type.
46604         (casefolding_rules, num_casefolding_rules,
46605         allocated_casefolding_rules): New variables.
46606         (fill_casefolding_rules): New function.
46607         (unicode_casefold): New variable.
46608         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
46609         sort_casing_rules, output_casing_rules): New functions.
46610         (main): Accept to more arguments: SpecialCasing.txt and
46611         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
46612         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
46613         Output mapping for casefolding.
46614
46615         * lib/unicase.h: Include stdbool.h, uninorm.h.
46616         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
46617         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
46618         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
46619         arguments.
46620         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
46621         resultp arguments.
46622         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
46623         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
46624         resultp arguments.
46625         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
46626         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
46627         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
46628         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
46629         declarations.
46630         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
46631
46632 2009-03-08  Bruno Haible  <bruno@clisp.org>
46633
46634         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
46635         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
46636         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
46637         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
46638
46639 2009-03-07  Bruno Haible  <bruno@clisp.org>
46640
46641         Adjust u*_normcmp, u*_normcoll API.
46642         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
46643         u16_normcoll, u32_normcoll): Change failure conventions.
46644         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
46645         errno and return -1.
46646         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
46647
46648 2009-03-07  Bruno Haible  <bruno@clisp.org>
46649
46650         Tests for module 'uninorm/u32-normcoll'.
46651         * modules/uninorm/u32-normcoll-tests: New file.
46652         * tests/uninorm/test-u32-normcoll.c: New file.
46653
46654         Tests for module 'uninorm/u16-normcoll'.
46655         * modules/uninorm/u16-normcoll-tests: New file.
46656         * tests/uninorm/test-u16-normcoll.c: New file.
46657
46658         Tests for module 'uninorm/u8-normcoll'.
46659         * modules/uninorm/u8-normcoll-tests: New file.
46660         * tests/uninorm/test-u8-normcoll.c: New file.
46661
46662 2009-03-07  Bruno Haible  <bruno@clisp.org>
46663
46664         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
46665         tests/uninorm/test-u32-normcmp.c.
46666         * tests/uninorm/test-u32-normcmp.c: Include it.
46667         (test_nonascii): New function, extracted from main. Add some more
46668         tests.
46669         (main): Invoke test_ascii and test_nonascii.
46670         * modules/uninorm/u32-normcmp-tests (Files): Add
46671         tests/uninorm/test-u32-normcmp.h.
46672         (Depends-on): Remove uninorm/u32-normcmp.
46673
46674         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
46675         tests/uninorm/test-u16-normcmp.c.
46676         * tests/uninorm/test-u16-normcmp.c: Include it.
46677         (test_nonascii): New function, extracted from main. Add some more
46678         tests.
46679         (main): Invoke test_ascii and test_nonascii.
46680         * modules/uninorm/u16-normcmp-tests (Files): Add
46681         tests/uninorm/test-u16-normcmp.h.
46682         (Depends-on): Remove uninorm/u16-normcmp.
46683
46684         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
46685         tests/uninorm/test-u8-normcmp.c.
46686         * tests/uninorm/test-u8-normcmp.c: Include it.
46687         (test_nonascii): New function, extracted from main. Add some more
46688         tests.
46689         (main): Invoke test_ascii and test_nonascii.
46690         * modules/uninorm/u8-normcmp-tests (Files): Add
46691         tests/uninorm/test-u8-normcmp.h.
46692         (Depends-on): Remove uninorm/u8-normcmp.
46693
46694 2009-03-07  Bruno Haible  <bruno@clisp.org>
46695
46696         New module 'uninorm/u32-normcoll'.
46697         * lib/uninorm/u32-normcoll.c: New file.
46698         * modules/uninorm/u32-normcoll: New file.
46699
46700         New module 'uninorm/u16-normcoll'.
46701         * lib/uninorm/u16-normcoll.c: New file.
46702         * modules/uninorm/u16-normcoll: New file.
46703
46704         New module 'uninorm/u8-normcoll'.
46705         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
46706         declarations.
46707         * lib/uninorm/u8-normcoll.c: New file.
46708         * lib/uninorm/u-normcoll.h: New file.
46709         * modules/uninorm/u8-normcoll: New file.
46710
46711         New module 'uninorm/u32-normxfrm'.
46712         * lib/uninorm/u32-normxfrm.c: New file.
46713         * modules/uninorm/u32-normxfrm: New file.
46714
46715         New module 'uninorm/u16-normxfrm'.
46716         * lib/uninorm/u16-normxfrm.c: New file.
46717         * modules/uninorm/u16-normxfrm: New file.
46718
46719         New module 'uninorm/u8-normxfrm'.
46720         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
46721         declarations.
46722         * lib/uninorm/u8-normxfrm.c: New file.
46723         * lib/uninorm/u-normxfrm.h: New file.
46724         * modules/uninorm/u8-normxfrm: New file.
46725
46726 2009-03-07  Bruno Haible  <bruno@clisp.org>
46727
46728         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
46729         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
46730         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
46731
46732 2009-03-07  Bruno Haible  <bruno@clisp.org>
46733
46734         New module 'memxfrm'.
46735         * lib/memxfrm.h: New file.
46736         * lib/memxfrm.c: New file.
46737         * modules/memxfrm: New file.
46738
46739 2009-03-07  Bruno Haible  <bruno@clisp.org>
46740
46741         New module 'memcmp2'.
46742         * lib/memcmp2.h: New file.
46743         * lib/memcmp2.c: New file.
46744         * modules/memcmp2: New file.
46745
46746 2009-03-07  Bruno Haible  <bruno@clisp.org>
46747
46748         Tests for module 'uninorm/decomposing-form'.
46749         * modules/uninorm/decomposing-form-tests: New file.
46750         * tests/uninorm/test-decomposing-form.c: New file.
46751
46752         New module 'uninorm/decomposing-form'.
46753         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
46754         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
46755         Add 'decomposing_variant' field.
46756         * lib/uninorm/decomposing-form.c: New file.
46757         * lib/uninorm/nfc.c (uninorm_nfc): Update.
46758         * lib/uninorm/nfd.c (uninorm_nfd): Update.
46759         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
46760         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
46761         * modules/uninorm/decomposing-form: New file.
46762         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
46763         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
46764
46765 2009-03-07  Bruno Haible  <bruno@clisp.org>
46766
46767         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
46768         strings.
46769
46770 2009-03-06  Bruno Haible  <bruno@clisp.org>
46771
46772         Tests for module 'uninorm/u32-normcmp'.
46773         * tests/uninorm/test-u32-normcmp.c: New file.
46774         * modules/uninorm/u32-normcmp-tests: New file.
46775
46776         Tests for module 'uninorm/u16-normcmp'.
46777         * tests/uninorm/test-u16-normcmp.c: New file.
46778         * modules/uninorm/u16-normcmp-tests: New file.
46779
46780         Tests for module 'uninorm/u8-normcmp'.
46781         * tests/uninorm/test-u8-normcmp.c: New file.
46782         * modules/uninorm/u8-normcmp-tests: New file.
46783
46784         New module 'uninorm/u32-normcmp'.
46785         * lib/uninorm/u32-normcmp.c: New file.
46786         * modules/uninorm/u32-normcmp: New file.
46787
46788         New module 'uninorm/u16-normcmp'.
46789         * lib/uninorm/u16-normcmp.c: New file.
46790         * modules/uninorm/u16-normcmp: New file.
46791
46792         New module 'uninorm/u8-normcmp'.
46793         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
46794         declarations.
46795         * lib/uninorm/u8-normcmp.c: New file.
46796         * lib/uninorm/u-normcmp.h: New file.
46797         * modules/uninorm/u8-normcmp: New file.
46798
46799 2009-03-06  Bruno Haible  <bruno@clisp.org>
46800
46801         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
46802         Reported by Eric Blake.
46803
46804 2009-03-06  Eric Blake  <ebb9@byu.net>
46805             Bruno Haible  <bruno@clisp.org>
46806
46807         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
46808         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
46809         condition.
46810         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
46811         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
46812         condition.
46813         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
46814
46815 2009-03-06  Eric Blake  <ebb9@byu.net>
46816
46817         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
46818         to avoid compiler warnings.
46819         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
46820
46821 2009-03-05  Bruno Haible  <bruno@clisp.org>
46822
46823         * tests/test-ftell.c (main): Disable test beyond end of file on
46824         FreeMiNT.
46825         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
46826
46827 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
46828
46829         * lib/filevercmp.c: Move hidden files up in ordering.
46830         * tests/test-filevercmp.c: Add tests for hidden files.
46831
46832 2009-03-04  Bruno Haible  <bruno@clisp.org>
46833
46834         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
46835         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
46836         AM_CFLAGS.
46837         Reported by Simon Josefsson.
46838
46839 2009-03-03  Bruno Haible  <bruno@clisp.org>
46840
46841         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
46842         Reported by Simon Josefsson.
46843
46844         * doc/ld-version-script.texi: Update node reference.
46845
46846 2009-03-03  Bruno Haible  <bruno@clisp.org>
46847
46848         * modules/visibility (License): Change to 'unlimited'.
46849         Suggested by Simon Josefsson.
46850
46851 2009-03-03  Jim Meyering  <meyering@redhat.com>
46852
46853         unlinkdir: cannot_unlink_dir may modify process state
46854         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
46855         it's neither thread-safe nor appropriate for use in a library.
46856
46857 2009-03-03  Eric Blake  <ebb9@byu.net>
46858
46859         test-closein: silence test under Darwin
46860         * tests/test-closein.sh: Ignore stderr from cat, since we don't
46861         care if it dies from EPIPE or EBADF.
46862
46863 2009-03-03  Bruno Haible  <bruno@clisp.org>
46864
46865         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
46866         earlier.
46867         * doc/visibility.texi: Fix @node and @section.
46868
46869 2009-03-03  Simon Josefsson  <simon@josefsson.org>
46870
46871         * doc/gnulib.texi: Link to sections for ld version script and
46872         visibility.
46873         * doc/visibility.texi: Add @node and @section.
46874         * modules/ld-version-script: New module.
46875         * m4/ld-version-script.m4: New file.
46876         * doc/ld-version-script.texi: New file.
46877
46878 2009-03-02  David Lutterkort  <lutter@redhat.com>
46879
46880         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
46881         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46882
46883 2009-03-02  Bruno Haible  <bruno@clisp.org>
46884
46885         * doc/visibility.texi: Mention libtool's -export-symbols option.
46886
46887 2009-03-02  Jim Meyering  <meyering@redhat.com>
46888
46889         announce-gen: new option: --no-print-checksums
46890         * build-aux/announce-gen (usage): Describe it.
46891         (print_checksums): Print a newline here, not in the [*] footnote.
46892         (main): Honor it.
46893
46894 2009-03-01  Bruno Haible  <bruno@clisp.org>
46895
46896         Use socklen_t in the native Windows replacements prototypes.
46897         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
46898         instead of 'int'.
46899         * lib/getsockopt.c (rpl_getsockopt): Likewise.
46900         * lib/setsockopt.c (rpl_setsockopt): Likewise.
46901         * modules/getsockopt (Depends-on): Add socklen.
46902         * modules/setsockopt (Depends-on): Add socklen.
46903
46904 2009-03-01  Bruno Haible  <bruno@clisp.org>
46905
46906         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
46907         least 4.2.
46908
46909 2009-03-01  Eric Blake  <ebb9@byu.net>
46910             Bruno Haible  <bruno@clisp.org>
46911
46912         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
46913         error messages.
46914         * lib/wait-process.c (wait_subprocess): Omit error message about
46915         deadly signal sent to the child of termsigp != NULL.
46916
46917 2009-03-01  Eric Blake  <ebb9@byu.net>
46918
46919         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
46920
46921 2009-03-01  Bruno Haible  <bruno@clisp.org>
46922
46923         Avoid a gcc warning.
46924         * tests/test-sched.c (b): Make global.
46925         Reported by Eric Blake.
46926
46927 2009-01-19  Martin Lambers  <marlam@marlam.de>
46928
46929         Provide POSIX semantics for socket timeout options on W32.
46930         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
46931         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
46932         * modules/setsockopt: Depend on sys_time module for struct timeval.
46933         * modules/getsockopt: Depend on sys_time module for struct timeval.
46934
46935 2009-03-01  Simon Josefsson  <simon@josefsson.org>
46936
46937         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
46938         __USE_GNU, for consistency with netdb.in.h.
46939         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
46940
46941 2009-03-01  Bruno Haible  <bruno@clisp.org>
46942
46943         More support for FreeMiNT.
46944         * lib/fseeko.c (rpl_fseeko): Complete last commit.
46945         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
46946
46947 2009-03-01  Bruno Haible  <bruno@clisp.org>
46948
46949         More support for FreeMiNT.
46950         * lib/fpurge.c (fpurge): Correct last commit.
46951         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
46952
46953 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46954
46955         Fix unportable awk script in vc-list-files.
46956         * build-aux/vc-list-files: In the replacement awk script, use
46957         substr with a second argument of 1, not zero.
46958         Report by Simon Josefsson.
46959
46960 2009-02-28  Bruno Haible  <bruno@clisp.org>
46961
46962         More support for FreeMiNT.
46963         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
46964         to FreeMiNT today.
46965         * lib/fwriting.c (fwriting): Likewise.
46966         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
46967
46968 2009-02-28  Bruno Haible  <bruno@clisp.org>
46969
46970         * tests/test-freadseek.c (main): Disable test beyond end of file on
46971         FreeMiNT.
46972         * tests/test-ftello.c (main): Likewise.
46973         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
46974
46975 2009-02-28  Bruno Haible  <bruno@clisp.org>
46976
46977         Add tentative support for FreeMiNT.
46978         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
46979         * lib/fpurge.c (fpurge): Likewise.
46980         * lib/freadable.c (freadable): Likewise.
46981         * lib/freading.c (freading): Likewise.
46982         * lib/freadptr.c (freadptr): Likewise.
46983         * lib/freadseek.c (freadptrinc): Likewise.
46984         * lib/fseeko.c (rpl_fseeko): Likewise.
46985         * lib/fseterr.c (fseterr): Likewise.
46986         * lib/fwritable.c (fwritable): Likewise.
46987         * lib/fwriting.c (fwriting): Likewise.
46988         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
46989         Hourihane.
46990         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
46991
46992 2009-02-28  Bruno Haible  <bruno@clisp.org>
46993
46994         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
46995         SIGCHLD.
46996         Reported by Jim Meyering.
46997
46998 2009-02-28  Bruno Haible  <bruno@clisp.org>
46999
47000         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
47001         Mention the results of these tests on various platforms.
47002         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
47003         order.
47004         * doc/posix-functions/printf.texi: Likewise.
47005         * doc/posix-functions/snprintf.texi: Likewise.
47006         * doc/posix-functions/sprintf.texi: Likewise.
47007         * doc/posix-functions/vfprintf.texi: Likewise.
47008         * doc/posix-functions/vprintf.texi: Likewise.
47009         * doc/posix-functions/vsnprintf.texi: Likewise.
47010         * doc/posix-functions/vsprintf.texi: Likewise.
47011         * doc/glibc-functions/obstack_printf.texi: Likewise.
47012         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
47013
47014 2009-02-28  Bruno Haible  <bruno@clisp.org>
47015
47016         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
47017         Reported by Loïc Minier <lool@dooz.org>.
47018
47019 2009-02-27  Bruno Haible  <bruno@clisp.org>
47020
47021         * gnulib-tool (func_import): Make the sed expression used to create the
47022         sed script for updating the .gitignore file POSIX compliant.
47023         Reported by Eric Blake.
47024
47025 2009-02-27  Bruno Haible  <bruno@clisp.org>
47026
47027         * gnulib-tool (sed): Don't alias as "sed --posix".
47028         Reported by Eric Blake.
47029
47030 2009-02-27  Bruno Haible  <bruno@clisp.org>
47031
47032         Avoid test link errors.
47033         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
47034         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
47035         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
47036         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
47037         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47038
47039 2009-02-27  Bruno Haible  <bruno@clisp.org>
47040
47041         Avoid spurious "(cached)" in configure output.
47042         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
47043         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
47044         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
47045         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
47046         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
47047         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
47048         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
47049         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
47050         Reported by Eric Blake.
47051
47052 2009-02-27  Eric Blake  <ebb9@byu.net>
47053
47054         printf: fix regression in previous patch
47055         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
47056
47057 2009-02-27  Bruno Haible  <bruno@clisp.org>
47058
47059         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
47060         value.
47061         * lib/stdint.in.h: Likewise.
47062         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
47063
47064 2009-02-27  Eric Blake  <ebb9@byu.net>
47065
47066         doc: mention more functions added in cygwin 1.7.0
47067         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
47068         addition.
47069         * doc/posix-functions/open_wmemstream.texi: Likewise.
47070         * doc/posix-functions/wcsnlen.texi: Likewise.
47071         * doc/posix-functions/wcsnrtombs.texi: Likewise.
47072         * doc/posix-functions/wcstod.texi: Likewise.
47073         * doc/posix-functions/wcstof.texi: Likewise.
47074         * doc/posix-functions/wcstoimax.texi: Likewise.
47075         * doc/posix-functions/wcstok.texi: Likewise.
47076         * doc/posix-functions/wcstoumax.texi: Likewise.
47077
47078         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
47079         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
47080         * doc/posix-functions/fprintf.texi: Update.
47081         * doc/posix-functions/printf.texi: Update.
47082         * doc/posix-functions/snprintf.texi: Update.
47083         * doc/posix-functions/sprintf.texi: Update.
47084         * doc/posix-functions/vfprintf.texi: Update.
47085         * doc/posix-functions/vprintf.texi: Update.
47086         * doc/posix-functions/vsnprintf.texi: Update.
47087         * doc/posix-functions/vsprintf.texi: Update.
47088         * doc/glibc-functions/obstack_printf.texi: Update.
47089         * doc/glibc-functions/obstack_vprintf.texi: Update.
47090
47091 2009-02-26  Eric Blake  <ebb9@byu.net>
47092
47093         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
47094         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
47095         compilation bug by using runtime conversion.
47096         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
47097         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
47098         * modules/ceill-tests (Files): Use nan.h.
47099         * modules/floorl-tests (Files): Likewise.
47100         * modules/frexpl-tests (Files): Likewise.
47101         * modules/isnanl-tests (Files): Likewise.
47102         * modules/ldexpl-tests (Files): Likewise.
47103         * modules/roundl-tests (Files): Likewise.
47104         * modules/truncl-tests (Files): Likewise.
47105         * tests/test-ceill.c (main): Use a working NaN.
47106         * tests/test-floorl.c (main): Likewise.
47107         * tests/test-frexpl.c (main): Likewise.
47108         * tests/test-isnan.c (test_long_double): Likewise.
47109         * tests/test-isnanl.h (main): Likewise.
47110         * tests/test-ldexpl.h (main): Likewise.
47111         * tests/test-roundl.h (main): Likewise.
47112         * tests/test-truncl.h (main): Likewise.
47113         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
47114
47115 2009-02-26  Eric Blake  <ebb9@byu.net>
47116             Bruno Haible  <bruno@clisp.org>
47117
47118         Work around a *printf bug with %ls on Solaris.
47119         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
47120         precision is specified, sprintf stops converting the wide string
47121         argument when the number of bytes that have been produced by this
47122         conversion equals or exceeds the precision.
47123         * doc/posix-functions/fprintf.texi: Update.
47124         * doc/posix-functions/printf.texi: Update.
47125         * doc/posix-functions/snprintf.texi: Update.
47126         * doc/posix-functions/sprintf.texi: Update.
47127         * doc/posix-functions/vfprintf.texi: Update.
47128         * doc/posix-functions/vprintf.texi: Update.
47129         * doc/posix-functions/vsnprintf.texi: Update.
47130         * doc/posix-functions/vsprintf.texi: Update.
47131         * doc/glibc-functions/obstack_printf.texi: Update.
47132         * doc/glibc-functions/obstack_vprintf.texi: Update.
47133
47134 2009-02-26  Eric Blake  <ebb9@byu.net>
47135
47136         stdlib: favor compiler check of random.h
47137         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
47138         to avoid an ObjC random.h installed by Swarm.
47139
47140 2009-02-26  Bruno Haible  <bruno@clisp.org>
47141
47142         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
47143         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
47144         Reported by Gary V. Vaughan <gary@gnu.org>.
47145
47146 2009-02-26  Bruno Haible  <bruno@clisp.org>
47147
47148         Fix *printf behaviour regarding the %ls directive.
47149         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
47150         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
47151         NEED_PRINTF_DIRECTIVE_LS.
47152         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
47153         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
47154         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
47155         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
47156         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
47157         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
47158         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
47159         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
47160         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
47161         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
47162         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
47163         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
47164         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
47165         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47166         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
47167         * doc/posix-functions/fprintf.texi: Update.
47168         * doc/posix-functions/printf.texi: Update.
47169         * doc/posix-functions/snprintf.texi: Update.
47170         * doc/posix-functions/sprintf.texi: Update.
47171         * doc/posix-functions/vfprintf.texi: Update.
47172         * doc/posix-functions/vprintf.texi: Update.
47173         * doc/posix-functions/vsnprintf.texi: Update.
47174         * doc/posix-functions/vsprintf.texi: Update.
47175         * doc/glibc-functions/obstack_printf.texi: Update.
47176         * doc/glibc-functions/obstack_vprintf.texi: Update.
47177         Reported by Eric Blake.
47178
47179 2009-02-25  Bruno Haible  <bruno@clisp.org>
47180
47181         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
47182         with known value.
47183         Reported by Gary V. Vaughan <gary@gnu.org>.
47184
47185 2009-02-25  Bruno Haible  <bruno@clisp.org>
47186
47187         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
47188         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
47189         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
47190         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
47191         Reported by Gary V. Vaughan <gary@gnu.org>.
47192
47193 2009-02-25  Bruno Haible  <bruno@clisp.org>
47194
47195         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
47196         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
47197         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
47198         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
47199         Reported by Gary V. Vaughan <gary@gnu.org>.
47200
47201 2009-02-25  Eric Blake  <ebb9@byu.net>
47202
47203         tests: skip fseek/ftell tests if ungetc is broken
47204         * m4/ungetc.m4: New file.
47205         * modules/fseek-tests: Split test, so ungetc dependency is
47206         separate from rest of test.
47207         * modules/fseeko-tests: Likewise.
47208         * modules/ftell-tests: Likewise.
47209         * modules/ftello-tests: Likewise.
47210         * tests/test-fseek.c (main): Isolate ungetc dependency.
47211         * tests/test-fseeko.c (main): Likewise.
47212         * tests/test-ftell.c (main): Likewise.
47213         * tests/test-ftello.c (main): Likewise.
47214         * tests/test-fseek2.sh: New file.
47215         * tests/test-fseeko2.sh: Likewise.
47216         * tests/test-ftell2.sh: Likewise.
47217         * tests/test-ftello2.sh: Likewise.
47218
47219 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
47220
47221         test-getaddrinfo: fix usage of skip return code 77
47222         * tests/test-gettaddrinfo.c: Return skip code 77 only
47223         for first occurrence of skip (4x77 is not 77)
47224
47225 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
47226
47227         strtod: avoid C99 decl-after-statement
47228         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
47229
47230 2009-02-24  Eric Blake  <ebb9@byu.net>
47231
47232         strtod: detect HP-UX 11.31 bug
47233         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
47234         Reported by Gary V. Vaughan.
47235
47236 2009-02-23  Bruno Haible  <bruno@clisp.org>
47237
47238         Fix invalid read past end of memory block.
47239         * lib/vasnprintf.c (DCHAR_SET): Define.
47240         (local_wcslen): Define only when needed.
47241         (local_strnlen, local_wcsnlen): New functions.
47242         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
47243         directives that involve a conversion ourselves.
47244         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
47245         wcsnlen, mbrtowc, wcrtomb.
47246         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
47247         * tests/test-vasprintf-posix.c (test_function): Likewise.
47248         * tests/test-snprintf-posix.h (test_function): Likewise.
47249         * tests/test-sprintf-posix.h (test_function): Likewise.
47250         Reported by Ben Pfaff <blp@cs.stanford.edu>.
47251
47252 2009-02-22  Bruno Haible  <bruno@clisp.org>
47253
47254         Implement new clarified decomposition of Hangul syllables.
47255         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
47256         of type LTV, return only a pairwise decomposition.
47257         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
47258         Likewise.
47259         * tests/uninorm/test-decomposition.c (main): Updated expected result.
47260         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
47261         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
47262
47263 2009-02-22  Bruno Haible  <bruno@clisp.org>
47264
47265         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
47266         zero-length results and shrink excess allocated memory.
47267         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
47268         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
47269         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
47270         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
47271         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
47272         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
47273         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
47274         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
47275         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
47276         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
47277         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
47278         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
47279
47280 2009-02-21  Bruno Haible  <bruno@clisp.org>
47281
47282         * doc/gnulib.texi: Include safe-alloc.texi earlier.
47283         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
47284         spaces after a period. Put a space between a macro name and its
47285         argument list. Trivial rewordings.
47286         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
47287         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
47288         (main): Return 0 explicitly.
47289
47290 2009-02-21  Bruno Haible  <bruno@clisp.org>
47291
47292         Tests for module 'uninorm/filter'.
47293         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
47294         * modules/uninorm/filter-tests: New file.
47295
47296         New module 'uninorm/filter'.
47297         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
47298         uninorm_filter_flush, uninorm_filter_free): New declarations.
47299         * lib/uninorm/uninorm-filter.c: New file.
47300         * modules/uninorm/filter: New file.
47301
47302 2009-02-21  Bruno Haible  <bruno@clisp.org>
47303
47304         Tests for module 'uninorm/nfkc'.
47305         * tests/uninorm/test-nfkc.c: New file.
47306         * tests/uninorm/test-u8-nfkc.c: New file.
47307         * tests/uninorm/test-u16-nfkc.c: New file.
47308         * tests/uninorm/test-u32-nfkc.c: New file.
47309         * tests/uninorm/test-u32-nfkc-big.sh: New file.
47310         * tests/uninorm/test-u32-nfkc-big.c: New file.
47311         * modules/uninorm/nfkc-tests: New file.
47312
47313         New module 'uninorm/nfkc'.
47314         * lib/uninorm/nfkc.c: New file.
47315         * modules/uninorm/nfkc: New file.
47316
47317         Tests for module 'uninorm/nfkd'.
47318         * tests/uninorm/test-nfkd.c: New file.
47319         * tests/uninorm/test-u8-nfkd.c: New file.
47320         * tests/uninorm/test-u16-nfkd.c: New file.
47321         * tests/uninorm/test-u32-nfkd.c: New file.
47322         * tests/uninorm/test-u32-nfkd-big.sh: New file.
47323         * tests/uninorm/test-u32-nfkd-big.c: New file.
47324         * modules/uninorm/nfkd-tests: New file.
47325
47326         New module 'uninorm/nfkd'.
47327         * lib/uninorm/nfkd.c: New file.
47328         * modules/uninorm/nfkd: New file.
47329
47330         Tests for module 'uninorm/nfc'.
47331         * tests/uninorm/test-nfc.c: New file.
47332         * tests/uninorm/test-u8-nfc.c: New file.
47333         * tests/uninorm/test-u16-nfc.c: New file.
47334         * tests/uninorm/test-u32-nfc.c: New file.
47335         * tests/uninorm/test-u32-nfc-big.sh: New file.
47336         * tests/uninorm/test-u32-nfc-big.c: New file.
47337         * modules/uninorm/nfc-tests: New file.
47338
47339         New module 'uninorm/nfc'.
47340         * lib/uninorm/nfc.c: New file.
47341         * modules/uninorm/nfc: New file.
47342
47343         Tests for module 'uninorm/nfd'.
47344         * tests/uninorm/test-nfd.c: New file.
47345         * tests/uninorm/test-u8-nfd.c: New file.
47346         * tests/uninorm/test-u16-nfd.c: New file.
47347         * tests/uninorm/test-u32-nfd.c: New file.
47348         * tests/uninorm/test-u32-nfd-big.sh: New file.
47349         * tests/uninorm/test-u32-nfd-big.c: New file.
47350         * tests/uninorm/test-u32-normalize-big.h: New file.
47351         * tests/uninorm/test-u32-normalize-big.c: New file.
47352         * tests/uninorm/NormalizationTest.txt: New file, created from
47353         Unicode 5.1.0 NormalizationTest.txt.
47354         * modules/uninorm/nfd-tests: New file.
47355
47356         New module 'uninorm/nfd'.
47357         * lib/uninorm/nfd.c: New file.
47358         * modules/uninorm/nfd: New file.
47359
47360         New module 'uninorm/u32-normalize'.
47361         * lib/uninorm/u32-normalize.c: New file.
47362         * modules/uninorm/u32-normalize: New file.
47363
47364         New module 'uninorm/u16-normalize'.
47365         * lib/uninorm/u16-normalize.c: New file.
47366         * modules/uninorm/u16-normalize: New file.
47367
47368         New module 'uninorm/u8-normalize'.
47369         * lib/uninorm/u8-normalize.c: New file.
47370         * lib/uninorm/normalize-internal.h: New file.
47371         * lib/uninorm/u-normalize-internal.h: New file.
47372         * modules/uninorm/u8-normalize: New file.
47373
47374         New module 'uninorm/decompose-internal'.
47375         * lib/uninorm/decompose-internal.c: New file.
47376         * modules/uninorm/decompose-internal: New file.
47377
47378         Tests for module 'uninorm/composition'.
47379         * tests/uninorm/test-composition.c: New file.
47380         * modules/uninorm/composition-tests: New file.
47381
47382         New module 'uninorm/composition'.
47383         * lib/uninorm/composition.c: New file.
47384         * lib/uninorm/composition-table.gperf: New file, generated by
47385         gen-uni-tables.
47386         * modules/uninorm/composition: New file.
47387
47388         Tests for module 'uninorm/compat-decomposition'.
47389         * tests/uninorm/test-compat-decomposition.c: New file.
47390         * modules/uninorm/compat-decomposition-tests: New file.
47391
47392         New module 'uninorm/compat-decomposition'.
47393         * lib/uninorm/decompose-internal.h: New file.
47394         * lib/uninorm/compat-decomposition.c: New file.
47395         * modules/uninorm/compat-decomposition: New file.
47396
47397         Tests for module 'uninorm/canonical-decomposition'.
47398         * tests/uninorm/test-canonical-decomposition.c: New file.
47399         * modules/uninorm/canonical-decomposition-tests: New file.
47400
47401         New module 'uninorm/canonical-decomposition'.
47402         * lib/uninorm/canonical-decomposition.c: New file.
47403         * modules/uninorm/canonical-decomposition: New file.
47404
47405         Tests for module 'uninorm/decomposition'.
47406         * tests/uninorm/test-decomposition.c: New file.
47407         * modules/uninorm/decomposition-tests: New file.
47408
47409         New module 'uninorm/decomposition'.
47410         * lib/uninorm/decomposition.c: New file.
47411         * modules/uninorm/decomposition: New file.
47412
47413         New module 'uninorm/decomposition-table'.
47414         * lib/uninorm/decomposition-table.h: New file.
47415         * lib/uninorm/decomposition-table.c: New file.
47416         * lib/uninorm/decomposition-table1.h: New file, generated by
47417         gen-uni-tables.
47418         * lib/uninorm/decomposition-table2.h: New file, generated by
47419         gen-uni-tables.
47420         * modules/uninorm/decomposition-table: New file.
47421
47422         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
47423         (UC_DECOMP_*): New enumeration items.
47424         (get_decomposition): New function.
47425         (struct decomp_table): New type.
47426         (output_decomposition, output_decomposition_tables): New functions.
47427         (unicode_composition_exclusions): New variable.
47428         (fill_composition_exclusions, debug_output_composition_tables): New
47429         functions.
47430         (main): Accept one more argument. Invoke fill_composition_exclusions.
47431         Output decomposition and composition tables.
47432
47433         New module 'uninorm/base'.
47434         * lib/uninorm.h: New file.
47435         * lib/unictype.h: Update comment.
47436         * modules/uninorm/base: New file.
47437
47438 2009-02-21  David Lutterkort  <lutter@redhat.com>
47439
47440         Tests for module 'safe-alloc'.
47441         * tests/test-safe-alloc.c: New file.
47442         * modules/safe-alloc-tests: New file.
47443
47444         New module 'safe-alloc'.
47445         * lib/safe-alloc.h: New file.
47446         * lib/safe-alloc.c: New file.
47447         * m4/safe-alloc.m4: New file.
47448         * modules/safe-alloc: New file.
47449         * doc/safe-alloc.texi: New file.
47450         * doc/gnulib.texi: Include it.
47451         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
47452         safe-alloc.
47453
47454 2009-02-18  Bruno Haible  <bruno@clisp.org>
47455
47456         Fix link error on non-glibc systems.
47457         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
47458         variable.
47459         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47460
47461 2009-02-18  Jim Meyering  <meyering@redhat.com>
47462
47463         fts: avoid used-uninitialized error due to recent change
47464         * lib/fts.c (fts_read): Guard uses of the new member,
47465         parent->fts_n_dirs_remaining, since it's not relevant for
47466         the parent of a directory specified on the command-line.
47467
47468 2009-02-17  James Youngman  <jay@gnu.org>
47469             Bruno Haible  <bruno@clisp.org>
47470
47471         * m4/include_next.m4: Reformulate comment.
47472
47473 2009-02-16  Jim Meyering  <meyering@redhat.com>
47474
47475         fts: add #if guards so that the fts_lgpl module still builds
47476         * lib/fts.c: Guard just-added hash-table-using parts with
47477         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
47478         Reported by Simon Josefsson.
47479
47480 2009-02-15  Bruno Haible  <bruno@clisp.org>
47481
47482         * modules/array-mergesort-tests: New file.
47483         * tests/test-array-mergesort.c: New file.
47484
47485         New module 'array-mergesort'.
47486         * modules/array-mergesort: New file.
47487         * lib/array-mergesort.h: New file.
47488
47489 2009-02-15  Bruno Haible  <bruno@clisp.org>
47490
47491         Fix 2009-02-07 commit.
47492         * lib/gen-uni-tables.c (output_predicate, output_category,
47493         output_combclass, output_bidi_category, output_decimal_digit,
47494         output_digit, output_numeric, output_mirror, output_scripts,
47495         output_ident_category, output_simple_mapping): Fix format directives.
47496         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
47497
47498 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
47499
47500         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
47501         fixes are available from IBM.
47502
47503 2009-02-13  Jim Meyering  <meyering@redhat.com>
47504
47505         fts: arrange not to stat non-directories in more cases
47506         This makes GNU find (when it doesn't need to stat each file)
47507         *much* more efficient at traversing reiserfs file systems.
47508         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
47509         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
47510         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
47511         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
47512         (leaf_optimization_applies): New function.
47513         (LCO_hash, LCO_compare): New helper functions.
47514         (link_count_optimize_ok): New function.
47515         (fts_stat): Initialize new member (if dir).
47516         (fts_read): Decrement parent's fts_n_dirs_remaining count if
47517         we've just stat'ed a directory.  Skip the stat call when possible.
47518         ---
47519         Note this AFS-related exchange:
47520         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
47521         and note find's pioctl call in find/fstype.c.
47522         But that is necessary only if you want to enable the
47523         optimization for AFS, and for now, I don't.
47524
47525         fts: move a function definition "up" (no semantic change)
47526         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
47527         "up" to precede upcoming use of a related function.
47528
47529 2009-02-11  Jim Meyering  <meyering@redhat.com>
47530
47531         fts: correct internal computation of nlinks (optimization-related)
47532         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
47533         whether the current entry is a directory, so don't test it.
47534
47535 2009-02-10  Bruno Haible  <bruno@clisp.org>
47536
47537         Tests for module 'uniwbrk/ulc-wordbreaks'.
47538         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
47539         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
47540         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
47541
47542         Tests for module 'uniwbrk/u32-wordbreaks'.
47543         * modules/uniwbrk/u32-wordbreaks-tests: New file.
47544         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
47545
47546         Tests for module 'uniwbrk/u16-wordbreaks'.
47547         * modules/uniwbrk/u16-wordbreaks-tests: New file.
47548         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
47549
47550         Tests for module 'uniwbrk/u8-wordbreaks'.
47551         * modules/uniwbrk/u8-wordbreaks-tests: New file.
47552         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
47553
47554 2009-02-10  Bruno Haible  <bruno@clisp.org>
47555
47556         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
47557         property.
47558         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
47559         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
47560         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
47561
47562 2009-02-10  Simon Josefsson  <simon@josefsson.org>
47563
47564         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
47565         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
47566
47567 2009-02-10  Bruno Haible  <bruno@clisp.org>
47568
47569         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
47570         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
47571         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
47572         * lib/unilbrk/u8-possible-linebreaks.c: Update.
47573         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
47574         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
47575
47576 2009-02-09  Simon Josefsson  <simon@josefsson.org>
47577
47578         * lib/sockets.h (gl_fd_to_handle): New function.
47579
47580         * tests/test-sockets.c: Call gl_fd_to_handle.
47581
47582 2009-02-09  Bruno Haible  <bruno@clisp.org>
47583
47584         * doc/havelib.texi: Document the conventions on bi-arch systems.
47585
47586 2009-02-08  Bruno Haible  <bruno@clisp.org>
47587
47588         Document the AC_LIB_LINKFLAGS macro.
47589         * doc/havelib.texi: New file, mostly written on 2005-05-24.
47590         * doc/gnulib.texi: Include it.
47591
47592 2009-02-08  Bruno Haible  <bruno@clisp.org>
47593
47594         Fix wrong order of sections, compared to TOC.
47595         * doc/gnulib.texi: Include relocatable-maint.texi after the
47596         "Regular expressions" node, not before.
47597
47598 2009-02-08  Bruno Haible  <bruno@clisp.org>
47599
47600         Tests for module 'unicase/totitle'.
47601         * modules/unicase/totitle-tests: New file.
47602
47603         Tests for module 'unicase/tolower'.
47604         * modules/unicase/tolower-tests: New file.
47605
47606         Tests for module 'unicase/toupper'.
47607         * modules/unicase/toupper-tests: New file.
47608         * tests/unicase/test-mapping-part1.h: New file.
47609         * tests/unicase/test-mapping-part2.h: New file.
47610
47611         New module 'unicase/totitle'.
47612         * modules/unicase/totitle: New file.
47613         * lib/unicase/totitle.c: New file.
47614
47615         New module 'unicase/tolower'.
47616         * modules/unicase/tolower: New file.
47617         * lib/unicase/tolower.c: New file.
47618
47619         New module 'unicase/toupper'.
47620         * modules/unicase/toupper: New file.
47621         * lib/unicase/toupper.c: New file.
47622         * lib/unicase/simple-mapping.h: New file.
47623
47624         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
47625         (mapping_table): New structure.
47626         (output_simple_mapping): New function.
47627         (main): Invoke output_simple_mapping_test and output_simple_mapping.
47628         * modules/gen-uni-tables (Description): Update.
47629         * lib/unicase/toupper.h: New file, automatically generated by
47630         gen-uni-tables.
47631         * lib/unicase/tolower.h: New file, automatically generated by
47632         gen-uni-tables.
47633         * lib/unicase/totitle.h: New file, automatically generated by
47634         gen-uni-tables.
47635         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
47636         gen-uni-tables.
47637         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
47638         gen-uni-tables.
47639         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
47640         gen-uni-tables.
47641
47642         New module 'unicase/base'.
47643         * modules/unicase/base: New file.
47644         * lib/unicase.h: New file.
47645
47646 2009-02-08  Bruno Haible  <bruno@clisp.org>
47647
47648         New module 'uniwbrk/ulc-wordbreaks'.
47649         * modules/uniwbrk/ulc-wordbreaks: New file.
47650         * lib/uniwbrk/ulc-wordbreaks.c: New file.
47651
47652         New module 'uniwbrk/u32-wordbreaks'.
47653         * modules/uniwbrk/u32-wordbreaks: New file.
47654         * lib/uniwbrk/u32-wordbreaks.c: New file.
47655
47656         New module 'uniwbrk/u16-wordbreaks'.
47657         * modules/uniwbrk/u16-wordbreaks: New file.
47658         * lib/uniwbrk/u16-wordbreaks.c: New file.
47659
47660         New module 'uniwbrk/u8-wordbreaks'.
47661         * modules/uniwbrk/u8-wordbreaks: New file.
47662         * lib/uniwbrk/u8-wordbreaks.c: New file.
47663         * lib/uniwbrk/u-wordbreaks.h: New file.
47664
47665         New module 'uniwbrk/table'.
47666         * modules/uniwbrk/table: New file.
47667         * lib/uniwbrk/wbrktable.h: New file.
47668         * lib/uniwbrk/wbrktable.c: New file.
47669
47670         New module 'uniwbrk/wordbreak-property'.
47671         * modules/uniwbrk/wordbreak-property: New file.
47672         * lib/uniwbrk/wordbreak-property.c: New file.
47673
47674         * lib/gen-uni-tables.c (WBP_*): New enum items.
47675         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
47676         (unicode_org_wbp): New variable.
47677         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
47678         New functions.
47679         (wbp_table): New structure.
47680         (output_wbp, output_wbrk_tables): New functions.
47681         (main): Accept additional argument. Invoke fill_org_wbp,
47682         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
47683         output_wbrk_tables.
47684         * modules/gen-uni-tables (Description): Update.
47685         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
47686         gen-uni-tables.
47687
47688         New module 'uniwbrk/base'.
47689         * modules/uniwbrk/base: New file.
47690         * lib/uniwbrk.h: New file.
47691
47692 2009-02-08  Bruno Haible  <bruno@clisp.org>
47693
47694         Update to Unicode 5.1.0.
47695         * lib/gen-uni-tables.c (is_property_alphabetic): Include
47696         U+2185..U+2188.
47697         (is_property_default_ignorable_code_point): Don't include characters
47698         of category Cc or Cs and not-a-characters.
47699         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
47700         U+0D79, U+109E, U+109F, U+A60C.
47701         * lib/unictype/bidi_of.h: Regenerated.
47702         * lib/unictype/blocks.h: Regenerated.
47703         * lib/unictype/categ_C.h: Regenerated.
47704         * lib/unictype/categ_Cf.h: Regenerated.
47705         * lib/unictype/categ_Cn.h: Regenerated.
47706         * lib/unictype/categ_L.h: Regenerated.
47707         * lib/unictype/categ_Ll.h: Regenerated.
47708         * lib/unictype/categ_Lm.h: Regenerated.
47709         * lib/unictype/categ_Lo.h: Regenerated.
47710         * lib/unictype/categ_Lu.h: Regenerated.
47711         * lib/unictype/categ_M.h: Regenerated.
47712         * lib/unictype/categ_Mc.h: Regenerated.
47713         * lib/unictype/categ_Me.h: Regenerated.
47714         * lib/unictype/categ_Mn.h: Regenerated.
47715         * lib/unictype/categ_N.h: Regenerated.
47716         * lib/unictype/categ_Nd.h: Regenerated.
47717         * lib/unictype/categ_Nl.h: Regenerated.
47718         * lib/unictype/categ_No.h: Regenerated.
47719         * lib/unictype/categ_P.h: Regenerated.
47720         * lib/unictype/categ_Pd.h: Regenerated.
47721         * lib/unictype/categ_Pe.h: Regenerated.
47722         * lib/unictype/categ_Pf.h: Regenerated.
47723         * lib/unictype/categ_Pi.h: Regenerated.
47724         * lib/unictype/categ_Po.h: Regenerated.
47725         * lib/unictype/categ_Ps.h: Regenerated.
47726         * lib/unictype/categ_S.h: Regenerated.
47727         * lib/unictype/categ_Sk.h: Regenerated.
47728         * lib/unictype/categ_Sm.h: Regenerated.
47729         * lib/unictype/categ_So.h: Regenerated.
47730         * lib/unictype/categ_of.h: Regenerated.
47731         * lib/unictype/combining.h: Regenerated.
47732         * lib/unictype/ctype_alnum.h: Regenerated.
47733         * lib/unictype/ctype_alpha.h: Regenerated.
47734         * lib/unictype/ctype_graph.h: Regenerated.
47735         * lib/unictype/ctype_lower.h: Regenerated.
47736         * lib/unictype/ctype_print.h: Regenerated.
47737         * lib/unictype/ctype_punct.h: Regenerated.
47738         * lib/unictype/ctype_upper.h: Regenerated.
47739         * lib/unictype/decdigit.h: Regenerated.
47740         * lib/unictype/digit.h: Regenerated.
47741         * lib/unictype/mirror.h: Regenerated.
47742         * lib/unictype/numeric.h: Regenerated.
47743         * lib/unictype/pr_alphabetic.h: Regenerated.
47744         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
47745         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
47746         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
47747         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
47748         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
47749         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
47750         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
47751         * lib/unictype/pr_combining.h: Regenerated.
47752         * lib/unictype/pr_dash.h: Regenerated.
47753         * lib/unictype/pr_decimal_digit.h: Regenerated.
47754         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
47755         * lib/unictype/pr_deprecated.h: Regenerated.
47756         * lib/unictype/pr_diacritic.h: Regenerated.
47757         * lib/unictype/pr_extender.h: Regenerated.
47758         * lib/unictype/pr_format_control.h: Regenerated.
47759         * lib/unictype/pr_grapheme_base.h: Regenerated.
47760         * lib/unictype/pr_grapheme_extend.h: Regenerated.
47761         * lib/unictype/pr_grapheme_link.h: Regenerated.
47762         * lib/unictype/pr_id_continue.h: Regenerated.
47763         * lib/unictype/pr_id_start.h: Regenerated.
47764         * lib/unictype/pr_ideographic.h: Regenerated.
47765         * lib/unictype/pr_ignorable_control.h: Regenerated.
47766         * lib/unictype/pr_lowercase.h: Regenerated.
47767         * lib/unictype/pr_math.h: Regenerated.
47768         * lib/unictype/pr_numeric.h: Regenerated.
47769         * lib/unictype/pr_other_alphabetic.h: Regenerated.
47770         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
47771         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
47772         * lib/unictype/pr_other_id_continue.h: Regenerated.
47773         * lib/unictype/pr_other_lowercase.h: Regenerated.
47774         * lib/unictype/pr_other_math.h: Regenerated.
47775         * lib/unictype/pr_punctuation.h: Regenerated.
47776         * lib/unictype/pr_sentence_terminal.h: Regenerated.
47777         * lib/unictype/pr_soft_dotted.h: Regenerated.
47778         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
47779         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
47780         * lib/unictype/pr_unified_ideograph.h: Regenerated.
47781         * lib/unictype/pr_uppercase.h: Regenerated.
47782         * lib/unictype/pr_xid_continue.h: Regenerated.
47783         * lib/unictype/pr_xid_start.h: Regenerated.
47784         * lib/unictype/pr_zero_width.h: Regenerated.
47785         * lib/unictype/scripts.h: Regenerated.
47786         * lib/unictype/scripts_byname.gperf: Regenerated.
47787         * lib/unictype/sy_java_ident.h: Regenerated.
47788         * lib/unilbrk/lbrkprop1.h: Regenerated.
47789         * lib/unilbrk/lbrkprop2.h: Regenerated.
47790         * tests/unictype/test-categ_C.c: Regenerated.
47791         * tests/unictype/test-categ_Cf.c: Regenerated.
47792         * tests/unictype/test-categ_Cn.c: Regenerated.
47793         * tests/unictype/test-categ_L.c: Regenerated.
47794         * tests/unictype/test-categ_Ll.c: Regenerated.
47795         * tests/unictype/test-categ_Lm.c: Regenerated.
47796         * tests/unictype/test-categ_Lo.c: Regenerated.
47797         * tests/unictype/test-categ_Lu.c: Regenerated.
47798         * tests/unictype/test-categ_M.c: Regenerated.
47799         * tests/unictype/test-categ_Mc.c: Regenerated.
47800         * tests/unictype/test-categ_Me.c: Regenerated.
47801         * tests/unictype/test-categ_Mn.c: Regenerated.
47802         * tests/unictype/test-categ_N.c: Regenerated.
47803         * tests/unictype/test-categ_Nd.c: Regenerated.
47804         * tests/unictype/test-categ_Nl.c: Regenerated.
47805         * tests/unictype/test-categ_No.c: Regenerated.
47806         * tests/unictype/test-categ_P.c: Regenerated.
47807         * tests/unictype/test-categ_Pd.c: Regenerated.
47808         * tests/unictype/test-categ_Pe.c: Regenerated.
47809         * tests/unictype/test-categ_Pf.c: Regenerated.
47810         * tests/unictype/test-categ_Pi.c: Regenerated.
47811         * tests/unictype/test-categ_Po.c: Regenerated.
47812         * tests/unictype/test-categ_Ps.c: Regenerated.
47813         * tests/unictype/test-categ_S.c: Regenerated.
47814         * tests/unictype/test-categ_Sk.c: Regenerated.
47815         * tests/unictype/test-categ_Sm.c: Regenerated.
47816         * tests/unictype/test-categ_So.c: Regenerated.
47817         * tests/unictype/test-ctype_alnum.c: Regenerated.
47818         * tests/unictype/test-ctype_alpha.c: Regenerated.
47819         * tests/unictype/test-ctype_graph.c: Regenerated.
47820         * tests/unictype/test-ctype_lower.c: Regenerated.
47821         * tests/unictype/test-ctype_print.c: Regenerated.
47822         * tests/unictype/test-ctype_punct.c: Regenerated.
47823         * tests/unictype/test-ctype_upper.c: Regenerated.
47824         * tests/unictype/test-decdigit.h: Regenerated.
47825         * tests/unictype/test-digit.h: Regenerated.
47826         * tests/unictype/test-numeric.h: Regenerated.
47827         * tests/unictype/test-pr_alphabetic.c: Regenerated.
47828         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
47829         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
47830         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
47831         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
47832         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
47833         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
47834         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
47835         * tests/unictype/test-pr_combining.c: Regenerated.
47836         * tests/unictype/test-pr_dash.c: Regenerated.
47837         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
47838         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
47839         * tests/unictype/test-pr_deprecated.c: Regenerated.
47840         * tests/unictype/test-pr_diacritic.c: Regenerated.
47841         * tests/unictype/test-pr_extender.c: Regenerated.
47842         * tests/unictype/test-pr_format_control.c: Regenerated.
47843         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
47844         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
47845         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
47846         * tests/unictype/test-pr_id_continue.c: Regenerated.
47847         * tests/unictype/test-pr_id_start.c: Regenerated.
47848         * tests/unictype/test-pr_ideographic.c: Regenerated.
47849         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
47850         * tests/unictype/test-pr_lowercase.c: Regenerated.
47851         * tests/unictype/test-pr_math.c: Regenerated.
47852         * tests/unictype/test-pr_numeric.c: Regenerated.
47853         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
47854         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
47855         Regenerated.
47856         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
47857         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
47858         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
47859         * tests/unictype/test-pr_other_math.c: Regenerated.
47860         * tests/unictype/test-pr_punctuation.c: Regenerated.
47861         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
47862         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
47863         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
47864         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
47865         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
47866         * tests/unictype/test-pr_uppercase.c: Regenerated.
47867         * tests/unictype/test-pr_xid_continue.c: Regenerated.
47868         * tests/unictype/test-pr_xid_start.c: Regenerated.
47869         * tests/unictype/test-pr_zero_width.c: Regenerated.
47870
47871         Update to Unicode 5.1.0.
47872         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
47873         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
47874         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
47875         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
47876         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
47877         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
47878         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
47879         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
47880         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
47881         (nonspacing_table_ind): Update.
47882         * tests/uniwidth/test-uc_width2.sh: Update expected result.
47883
47884         Update to Unicode 5.1.0.
47885         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
47886         code transform.
47887         * lib/uniname/uniname.c (unicode_character_name,
47888         unicode_name_character): Add the range 0x1Fxxx to the code transform.
47889         * lib/uniname/uninames.h: Regenerated.
47890         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
47891
47892 2009-02-07  Bruno Haible  <bruno@clisp.org>
47893
47894         Merge gen-ctype and gen-lbrk into a single program.
47895         * lib/gen-uni-tables.c: New file, incorporating
47896         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
47897         Add directory prefixes to the names of the generated files.
47898         * lib/unictype/gen-ctype.c: Remove file.
47899         * lib/unilbrk/gen-lbrk.c: Remove file.
47900         * modules/gen-uni-tables: New file.
47901         * modules/unictype/gen-ctype: Remove file.
47902         * modules/unilbrk/gen-lbrk: Remove file.
47903
47904 2009-02-07  Bruno Haible  <bruno@clisp.org>
47905
47906         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
47907
47908         New module 'unistr/u32-strcoll'.
47909         * modules/unistr/u32-strcoll: New file.
47910         * lib/unistr/u32-strcoll.c: New file.
47911
47912         New module 'unistr/u16-strcoll'.
47913         * modules/unistr/u16-strcoll: New file.
47914         * lib/unistr/u16-strcoll.c: New file.
47915
47916         New module 'unistr/u8-strcoll'.
47917         * modules/unistr/u8-strcoll: New file.
47918         * lib/unistr/u8-strcoll.c: New file.
47919         * lib/unistr/u-strcoll.h: New file.
47920
47921 2009-02-07  Bruno Haible  <bruno@clisp.org>
47922
47923         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
47924         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
47925         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
47926         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
47927         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
47928         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
47929
47930 2009-02-07  Bruno Haible  <bruno@clisp.org>
47931
47932         Make 64-bit clean.
47933         * lib/unictype/gen-ctype.c (output_predicate, output_category,
47934         output_combclass, output_bidi_category, output_decimal_digit,
47935         output_digit, output_numeric, output_mirror, output_scripts,
47936         output_ident_category): Use proper width specifier in format strings.
47937
47938 2009-02-07  Bruno Haible  <bruno@clisp.org>
47939
47940         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
47941         failure behaviour.
47942
47943 2009-02-07  Jim Meyering  <meyering@redhat.com>
47944
47945         regex: avoid compilation failure with upcoming gcc-4.4
47946         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
47947         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
47948         "... error: integer overflow in preprocessor expression".
47949
47950 2009-02-05  Ben Pfaff  <blp@gnu.org>
47951
47952         Fix link errors on Windows when close module is used.
47953         * modules/close: Add $(LIB_CLOSE) to Link section.
47954         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
47955         $(LIB_CLOSE) on Windows.
47956
47957 2009-02-05  Jim Meyering  <meyering@redhat.com>
47958
47959         still avoid unused-parameter warnings, but do it cleanly
47960         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
47961         (get_fs_usage): Cast to void instead.
47962         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
47963         (dev_from_mount_options, read_file_system_list): Cast to void.
47964         Prompted by Bruno Haible.
47965
47966 2009-02-04  Jim Meyering  <meyering@redhat.com>
47967
47968         fsusage.c: correct copyright year
47969         * lib/fsusage.c: Reflect year in which the change is pushed into
47970
47971         avoid misc. warnings
47972         * lib/fsusage.c (UNUSED_PARAM): Define.
47973         (get_fs_usage): Mark parameter "disk" as unused.
47974         * lib/getugroups.c (getgrent): Use "void" in prototype.
47975         * lib/mountlist.c: Mark unused parameters.
47976         (read_file_system_list): Declare a local with "const".
47977         * lib/nanosleep.c (getnow): Declare static.
47978         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
47979
47980         dirfd: set errno upon failure
47981         * lib/dirfd.c: Include <errno.h>.
47982         Set errno to ENOTSUP when returning -1.
47983         * modules/dirfd (Depends-on): Add errno.
47984         Suggested by John Kodis <kodis@comcast.net>.
47985
47986 2009-02-01  Bruno Haible  <bruno@clisp.org>
47987
47988         Don't assume sizeof (long) >= sizeof (void *).
47989         * lib/memcmp.c: Include stdint.h.
47990         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
47991         srcp2 to 'const byte *'.
47992         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
47993         types to uintptr_t.
47994         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
47995         * modules/memcmp (Depends-on): Add stdint.
47996         Reported by Ozkan Sezer <sezeroz@gmail.com>.
47997
47998 2009-01-30  Eric Blake  <ebb9@byu.net>
47999
48000         fix more require-before-expand issues
48001         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
48002         expand, AC_PROG_AWK.
48003         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
48004
48005 2009-01-28  Eric Blake  <ebb9@byu.net>
48006
48007         version-etc: use consistent URL formatting
48008         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
48009         Improve formatting.  Use fputs for string without %.
48010
48011 2009-01-28  Jim Meyering  <meyering@redhat.com>
48012
48013         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
48014         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
48015         "underquoted definition of NAME" from autoconf-2.59.
48016
48017 2009-01-28  Bruno Haible  <bruno@clisp.org>
48018
48019         * doc/gnulib.texi: Add "Obsolete modules" to index.
48020
48021 2009-01-28  Jim Meyering  <meyering@redhat.com>
48022
48023         useless-if-before-free: recognize more variants
48024         * build-aux/useless-if-before-free: Also recognize e.g.,
48025         if (NULL != p) free (p);
48026
48027 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
48028
48029         test-getaddrinfo: skip (don't fail) this test when there's no network
48030         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
48031         on the presumption that it means you lack network access.
48032
48033 2009-01-26  Jim Meyering  <meyering@redhat.com>
48034
48035         fflush: avoid warnings on modern systems
48036         * lib/fflush.c (rpl_fflush): Move declarations of locals,
48037         pos and result, into scopes where they're used.
48038
48039 2009-01-26  Eric Blake  <ebb9@byu.net>
48040
48041         Silence warning reintroduced by recent extensions patch.
48042         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
48043         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
48044         autoconf.
48045
48046         Backport improved autoconf semantics of AC_DEFUN_ONCE.
48047         * m4/00gnulib.m4: New file.
48048         * gnulib-tool (func_get_filelist): Always use it.
48049         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
48050         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
48051
48052 2009-01-25  Bruno Haible  <bruno@clisp.org>
48053
48054         Make test-quotearg work on MacOS X and AIX.
48055         * tests/test-quotearg.sh: New file.
48056         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
48057         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
48058         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
48059         include <libintl.h>.
48060         (fake_locale): Remove variable.
48061         (gettext, dgettext, dcgettext): Remove functions.
48062         (main): Instead of setting a fake locale, set a real locale. Call
48063         textdomain and bindtextdomain.
48064         * modules/quotearg-tests (Files): Add the new files.
48065         (Depends-on): Add gettext, setenv, unsetenv.
48066         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
48067         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
48068         Augment TESTS_ENVIRONMENT.
48069
48070 2009-01-25  Bruno Haible  <bruno@clisp.org>
48071
48072         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
48073         fr_FR.ISO8859-1 locale on MacOS X.
48074         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
48075         ja_JP.eucJP locale on MacOS X.
48076         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
48077         zh_CN.GB18030 locale on MacOS X.
48078
48079 2009-01-25  Bruno Haible  <bruno@clisp.org>
48080
48081         Avoid link errors on MacOS X 10.3.
48082         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
48083         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
48084
48085 2009-01-25  Bruno Haible  <bruno@clisp.org>
48086
48087         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
48088         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
48089         * modules/pipe (Files): Remove m4/posix_spawn.m4.
48090         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
48091         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
48092         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
48093         posix_spawnattr_init, posix_spawnattr_setsigmask,
48094         posix_spawnattr_setflags, posix_spawnattr_destroy.
48095
48096         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
48097         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
48098         * modules/execute (Files): Remove m4/posix_spawn.m4.
48099         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
48100         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
48101         posix_spawnattr_init, posix_spawnattr_setsigmask,
48102         posix_spawnattr_setflags, posix_spawnattr_destroy.
48103
48104 2009-01-25  Bruno Haible  <bruno@clisp.org>
48105
48106         * lib/glthread/threadlib.c: Include <stdlib.h>.
48107
48108 2009-01-25  Bruno Haible  <bruno@clisp.org>
48109
48110         * lib/glthread/threadlib.c (dummy): New declaration.
48111
48112 2009-01-25  Bruno Haible  <bruno@clisp.org>
48113
48114         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
48115         multibyte characters also for the GB18030 encoding. Don't crash when
48116         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
48117
48118 2009-01-25  Bruno Haible  <bruno@clisp.org>
48119
48120         Avoid redefining 'struct random_data' on OSF/1 5.1.
48121         * lib/stdlib.in.h: Include <random.h> if it exists.
48122         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
48123         HAVE_RANDOM_H. Include <random.h> when testing whether
48124         'struct random_data' exists.
48125         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
48126
48127 2009-01-25  Bruno Haible  <bruno@clisp.org>
48128
48129         Don't install charset.alias on MacOS X >= 10.3.
48130         * lib/localcharset.c (DARWIN7): New macro.
48131         (get_charset_aliases): Hardcode the result for Darwin7.
48132         * modules/localcharset (install-exec-local): Don't install
48133         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
48134
48135 2009-01-25  Bruno Haible  <bruno@clisp.org>
48136
48137         Don't install charset.alias on mingw and Cygwin.
48138         * modules/localcharset (install-exec-local): Don't install
48139         charset.alias on mingw and Cygwin, if the file does not yet exist.
48140         The result for these platforms is hardcoded in localcharset.c.
48141
48142 2009-01-25  Bruno Haible  <bruno@clisp.org>
48143
48144         Make it possible again to use AC_GNU_SOURCE together with gnulib.
48145         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
48146         before requiring AC_USE_SYSTEM_EXTENSIONS.
48147
48148 2009-01-25  Jim Meyering  <meyering@redhat.com>
48149
48150         c-strtod: avoid warnings
48151         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
48152         "assignment discards qualifiers from pointer target type" warnings.
48153
48154 2009-01-24  Bruno Haible  <bruno@clisp.org>
48155
48156         Add support for non-UTF-8 locales on MacOS X.
48157         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
48158         canonical encodings. For Darwin 7 and newer, don't map traditional
48159         encodings to UTF-8.
48160         Reported by Vincent Lefevre <vincent@vinc17.org>
48161         at <http://savannah.gnu.org/bugs/?25235>.
48162
48163 2009-01-24  Bruno Haible  <bruno@clisp.org>
48164
48165         * doc/gnulib.texi (Obsolete modules): New section.
48166         Reported by Mike Frysinger <vapier@gentoo.org>.
48167
48168 2009-01-24  Bruno Haible  <bruno@clisp.org>
48169
48170         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
48171         (%.dvi): New rule.
48172
48173 2009-01-24  Bruno Haible  <bruno@clisp.org>
48174
48175         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
48176         Reported by Eric Blake.
48177
48178 2009-01-24  Bruno Haible  <bruno@clisp.org>
48179
48180         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
48181         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
48182         Reported by Gary V. Vaughan <gary@gnu.org>.
48183
48184 2009-01-24  Bruno Haible  <bruno@clisp.org>
48185
48186         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
48187
48188 2009-01-23  Bruno Haible  <bruno@clisp.org>
48189
48190         Make c-strtod, c-strtold usable in libraries.
48191         * lib/c-strtod.c: Include string.h instead of xalloc.h.
48192         (C_STRTOD): Call strdup instead of xstrdup.
48193         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
48194         * modules/c-strtold (Depends-on): Likewise.
48195         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
48196         * NEWS: Mention the change.
48197         Reported by Michael Gold <mgold@ncf.ca>.
48198
48199 2009-01-23  Jim Meyering  <meyering@redhat.com>
48200
48201         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
48202         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
48203         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
48204
48205 2009-01-23  Simon Josefsson  <simon@josefsson.org>
48206
48207         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
48208         GNU CoreUtils.
48209         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
48210         * modules/version-etc (Description): Update.
48211
48212 2009-01-22  Bruno Haible  <bruno@clisp.org>
48213
48214         Cache the C locale object.
48215         * lib/c-strtod.c (c_locale_cache): New variable.
48216         (c_locale): New function.
48217         (C_STRTOD): Use it, and don't call freelocale.
48218         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
48219         Suggested by Paolo Bonzini.
48220
48221 2009-01-21  Bruno Haible  <bruno@clisp.org>
48222
48223         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
48224         conditions other than overflow.
48225
48226 2009-01-21  Bruno Haible  <bruno@clisp.org>
48227
48228         * lib/c-strtod.c: Include errno.h.
48229         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
48230         value from STRTOD_L and STRTOD.
48231
48232 2009-01-21  Bruno Haible  <bruno@clisp.org>
48233         and Jim Meyering  <meyering@redhat.com>
48234
48235         nanosleep: skip configure test (fail it) for apple universal builds
48236         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
48237         universal builds, assume that nanosleep does not work.
48238         * modules/nanosleep (Depends-on): Add multiarch.
48239
48240         mktime: skip configure test (fail it) for apple universal builds
48241         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
48242         universal builds, assume that mktime does not work.
48243         * modules/mktime (Depends-on): Add multiarch.
48244
48245 2009-01-21  Eric Blake  <ebb9@byu.net>
48246
48247         multiarch: avoid expand-before-require warning
48248         * modules/multiarch (configure.ac): Require, rather than expand,
48249         gl_MULTIARCH.
48250         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
48251         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
48252         enforce that all clients require it.  Partial reversion of
48253         2008-12-29 patch.
48254
48255         error: avoid expand-before-require warning
48256         * modules/errno (configure.ac): Require, rather than expand,
48257         gl_HEADER_ERRNO_H.
48258         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
48259         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
48260         enforce that all clients require it.
48261
48262         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
48263         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
48264         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
48265         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
48266
48267 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
48268
48269         Revert:
48270         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
48271
48272         regex: do not depend on obsolete modules.
48273         * modules/regex: Remove memcmp and memmove.
48274
48275 2009-01-20  Bruno Haible  <bruno@clisp.org>
48276
48277         Make the 'link' module link on Windows NT 4.
48278         * lib/link.c (_WIN32_WINNT): Don't define.
48279         (CreateHardLinkFuncType): New type.
48280         (CreateHardLinkFunc, initialized): New variables.
48281         (initialize): New function.
48282         (link): Invoke CreateHardLink indirectly through the function pointer.
48283
48284 2009-01-20  Bruno Haible  <bruno@clisp.org>
48285
48286         Fix compilation failure on mingw.
48287         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
48288
48289 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
48290
48291         * doc/c-strtod.texi: Mention a couple of restrictions.
48292
48293 2009-01-20  Jim Meyering  <meyering@redhat.com>
48294
48295         gettimeofday: move more declarations out of functions
48296         * lib/gettimeofday.c: Move extern declarations of tzset and
48297         gmtime out of containing functions.  Prompted by Bruno Haible.
48298
48299 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
48300
48301         regex: do not depend on obsolete modules.
48302         * modules/regex: Remove memcmp and memmove.
48303
48304 2009-01-19  Bruno Haible  <bruno@clisp.org>
48305
48306         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
48307         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
48308         gl_BIGENDIAN, not AC_C_BIGENDIAN.
48309         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
48310         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
48311
48312 2009-01-19  Bruno Haible  <bruno@clisp.org>
48313
48314         * tests/test-link.c: Include <errno.h>.
48315         (main): Exit with code 77 when a hard link cannot be created due to
48316         the file system.
48317         * tests/test-link.sh: Skip test when a hard link cannot be created due
48318         to the file system.
48319         Suggested by Eric Blake.
48320
48321 2009-01-19  Martin Lambers  <marlam@marlam.de>
48322
48323         * modules/link-tests: New file.
48324         * tests/test-link.sh: New file.
48325         * tests/test-link.c: New file.
48326
48327 2009-01-19  Eric Blake  <ebb9@byu.net>
48328
48329         doc: mention another function added in cygwin 1.7.0
48330         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
48331         Another new function in cygwin 1.7.
48332
48333 2009-01-19  Bruno Haible  <bruno@clisp.org>
48334
48335         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
48336         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
48337         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
48338         gl_BIGENDIAN, not AC_C_BIGENDIAN.
48339         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
48340         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
48341         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
48342         * m4/md4.m4 (gl_MD4): Likewise.
48343         * m4/md5.m4 (gl_MD5): Likewise.
48344         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
48345         * m4/sha1.m4 (gl_SHA1): Likewise.
48346         * m4/sha256.m4 (gl_SHA256): Likewise.
48347         * m4/sha512.m4 (gl_SHA512): Likewise.
48348
48349 2009-01-19  Bruno Haible  <bruno@clisp.org>
48350
48351         * modules/uniname/uniname-tests (Depends-on): Add progname.
48352         * tests/uniname/test-uninames.c: Include progname.h.
48353         (main): Call set_program_name.
48354
48355         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
48356         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
48357         (main): Call set_program_name.
48358
48359         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
48360         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
48361         (main): Call set_program_name.
48362
48363         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
48364         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
48365         (main): Call set_program_name.
48366
48367         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
48368         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
48369         (main): Call set_program_name.
48370
48371         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
48372         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
48373         (main): Call set_program_name.
48374
48375         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
48376         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
48377         (main): Call set_program_name.
48378
48379         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
48380         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
48381         (main): Call set_program_name.
48382
48383         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
48384         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
48385         (main): Call set_program_name.
48386
48387 2009-01-19  Eric Blake  <ebb9@byu.net>
48388
48389         test-unistd: test previous patch
48390         * tests/test-unistd.c: Test *_FILENO macros.
48391
48392         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
48393         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
48394         Guarantee a definition.
48395         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
48396         * modules/unistd-safer (Depends-on): Add dependency on unistd.
48397         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
48398         * lib/dup-safer.c (STDERR_FILENO): Likewise.
48399         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
48400         Likewise.
48401         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
48402         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
48403         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
48404         Likewise.
48405         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
48406         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
48407         (STDERR_FILENO): Likewise.
48408         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
48409         (STDERR_FILENO): Likewise.
48410         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
48411         (STDERR_FILENO): Likewise.
48412         Reported by Elbert Pol.
48413
48414 2009-01-19  Eric Blake  <ebb9@byu.net>
48415
48416         doc: mention more functions added in cygwin 1.7.0
48417         * doc/posix-functions/abort.texi (abort): Update wording related
48418         to cygwin.
48419         * doc/posix-functions/daylight.texi (daylight): Likewise.
48420         * doc/posix-functions/optarg.texi (optarg): Likewise.
48421         * doc/posix-functions/optarg.texi (opterr): Likewise.
48422         * doc/posix-functions/optarg.texi (optind): Likewise.
48423         * doc/posix-functions/optarg.texi (optopt): Likewise.
48424         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
48425         worked in 1.5.x, and was withdrawn in 1.7.
48426         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
48427         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
48428         cygwin versions.
48429         * doc/posix-functions/perror.texi (perror): Likewise.
48430         * doc/posix-functions/printf.texi (printf): Likewise.
48431         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
48432         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
48433         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
48434         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
48435         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
48436         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
48437         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
48438         Likewise.
48439         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
48440         Likewise.
48441         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
48442         this function.
48443         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
48444         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
48445         Likewise.
48446         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
48447         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
48448         * doc/posix-functions/confstr.texi (confstr): Likewise.
48449         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
48450         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
48451         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
48452         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
48453         * doc/posix-functions/fputws.texi (fputws): Likewise.
48454         * doc/posix-functions/fwide.texi (fwide): Likewise.
48455         * doc/posix-functions/getwc.texi (getwc): Likewise.
48456         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
48457         * doc/posix-functions/putwc.texi (putwc): Likewise.
48458         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
48459         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
48460         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
48461         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
48462         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
48463         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
48464         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
48465         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
48466         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
48467         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
48468         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
48469
48470 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
48471
48472         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
48473         * lib/ioctl.c: Include <sys/ioctl.h>.
48474
48475 2009-01-19  Simon Josefsson  <simon@josefsson.org>
48476
48477         * modules/getdate-tests (Depends-on): Add progname.
48478         * tests/test-getdate.c: Use progname module, to avoid link errors
48479         on non-glibc systems.
48480
48481 2009-01-18  Simon Josefsson  <simon@josefsson.org>
48482
48483         * modules/filenamecat-tests (Depends-on): Add progname.
48484         * modules/fstrcmp-tests (Depends-on): Likewise.
48485
48486         * tests/test-filenamecat.c: Use progname module, to avoid link
48487         errors on non-glibc systems.
48488         * tests/test-fstrcmp.c: Likewise.
48489
48490 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
48491
48492         gettimeofday: avoid warning: nested extern declaration of 'localtime'
48493         * lib/gettimeofday.c: Move extern declaration out of function.
48494
48495 2009-01-18  Bruno Haible  <bruno@clisp.org>
48496
48497         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
48498         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
48499         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
48500
48501 2009-01-18  Bruno Haible  <bruno@clisp.org>
48502
48503         * lib/strftime.c (MEMPCPY): Remove unused macro.
48504         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
48505
48506 2009-01-18  Martin Lambers  <marlam@marlam.de>
48507
48508         New module 'link'.
48509         * lib/unistd.in.h (link): New declaration.
48510         * lib/link.c: New file.
48511         * m4/link.m4: New file.
48512         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
48513         HAVE_LINK.
48514         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
48515         * modules/link: New file.
48516         * doc/posix-functions/link.texi: Mention the new module.
48517
48518 2009-01-18  Bruno Haible  <bruno@clisp.org>
48519
48520         * tests/test-avltree_list.c (main): Call set_program_name.
48521         * tests/test-avltree_oset.c (main): Likewise.
48522         * tests/test-obstack-printf.c: Include progname.h.
48523         (main): Call set_program_name.
48524         * tests/test-quotearg.c: Include progname.h.
48525         (main): Call set_program_name.
48526         * tests/test-xmemdup0.c: Include progname.h.
48527         (main): Call set_program_name.
48528
48529 2009-01-18  Bruno Haible  <bruno@clisp.org>
48530
48531         New module 'alphasort'.
48532         * lib/dirent.in.h (alphasort): New declaration.
48533         * lib/alphasort.c: New file, from glibc with modifications.
48534         * m4/alphasort.m4: New file.
48535         * modules/alphasort: New file.
48536         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
48537         HAVE_ALPHASORT.
48538         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
48539         HAVE_ALPHASORT.
48540         * doc/posix-functions/alphasort.texi: Mention the new module and the
48541         portability problems.
48542
48543 2009-01-18  Bruno Haible  <bruno@clisp.org>
48544
48545         New module 'scandir'.
48546         * lib/dirent.in.h (scandir): New declaration.
48547         * lib/scandir.c: New file, from glibc with modifications.
48548         * m4/scandir.m4: New file.
48549         * modules/scandir: New file.
48550         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
48551         HAVE_SCANDIR.
48552         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
48553         HAVE_SCANDIR.
48554         * doc/posix-functions/scandir.texi: Mention the new module and the
48555         portability problems.
48556
48557 2009-01-17  Bruno Haible  <bruno@clisp.org>
48558
48559         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
48560         Update documentation.
48561         (func_remove_suffix): Escape all dots in the suffix. Update
48562         documentation.
48563         (func_filter_filelist): Update documentation.
48564         Reported by Ralf Wildenhues.
48565
48566 2009-01-17  Bruno Haible  <bruno@clisp.org>
48567
48568         * modules/dprintf-posix-tests: New file.
48569         * tests/test-dprintf-posix.sh: New file.
48570         * tests/test-dprintf-posix.c: New file.
48571
48572         New modules 'dprintf', 'dprintf-posix'.
48573         * lib/stdio.in.h (dprintf): New declaration.
48574         * lib/dprintf.c: New file.
48575         * m4/dprintf.m4: New file.
48576         * m4/dprintf-posix.m4: New file.
48577         * modules/dprintf: New file.
48578         * modules/dprintf-posix: New file.
48579         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
48580         HAVE_DPRINTF, REPLACE_DPRINTF.
48581         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
48582         HAVE_DPRINTF, REPLACE_DPRINTF.
48583         * doc/posix-functions/dprintf.texi: Mention the new modules.
48584
48585 2009-01-17  Bruno Haible  <bruno@clisp.org>
48586
48587         * modules/vdprintf-posix-tests: New file.
48588         * tests/test-vdprintf-posix.sh: New file.
48589         * tests/test-vdprintf-posix.c: New file.
48590
48591         New modules 'vdprintf', 'vdprintf-posix'.
48592         * lib/stdio.in.h (vdprintf): New declaration.
48593         * lib/vdprintf.c: New file.
48594         * m4/vdprintf.m4: New file.
48595         * m4/vdprintf-posix.m4: New file.
48596         * modules/vdprintf: New file.
48597         * modules/vdprintf-posix: New file.
48598         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
48599         HAVE_VDPRINTF, REPLACE_VDPRINTF.
48600         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
48601         HAVE_VDPRINTF, REPLACE_VDPRINTF.
48602         * doc/posix-functions/vdprintf.texi: Mention the new modules.
48603
48604 2009-01-17  Bruno Haible  <bruno@clisp.org>
48605
48606         Fix replacement of fopen on mingw.
48607         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
48608         mingw.
48609
48610 2009-01-17  Bruno Haible  <bruno@clisp.org>
48611
48612         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
48613         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
48614
48615 2009-01-17  Bruno Haible  <bruno@clisp.org>
48616
48617         Avoid test-fflush2.sh failure on mingw.
48618         * tests/test-fflush2.c: Include binary-io.h.
48619         (main): Put standard input into binary mode.
48620         * modules/fflush-tests (Depends-on): Add binary-io.
48621
48622 2009-01-17  Bruno Haible  <bruno@clisp.org>
48623
48624         * lib/wchar.in.h: In another particular situation, include only the
48625         system's <wchar.h> file.
48626         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
48627         Reported by Albert Chin-A-Young <china@thewrittenword.com>
48628         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
48629
48630 2009-01-17  Bruno Haible  <bruno@clisp.org>
48631
48632         Support for stripping executables in --enable-relocatable.
48633         * build-aux/install-reloc: Expect one more argument, or an environment
48634         variable RELOC_STRIP_PROG. If set, strip the destination program and
48635         its wrapper.
48636         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
48637         RELOC_STRIP_PROG.
48638         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
48639         to set RELOCATABLE_STRIP.
48640         * NEWS: Mention the new Makefile requirement.
48641
48642 2009-01-17  Bruno Haible  <bruno@clisp.org>
48643
48644         * build-aux/install-reloc: Remove debugging information left over by
48645         C compiler on MacOS X.
48646
48647 2009-01-17  Bruno Haible  <bruno@clisp.org>
48648
48649         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
48650         * lib/progreloc.c (find_executable): Fix type of pointer passed to
48651         _NSGetExecutablePath.
48652
48653 2009-01-16  Jim Meyering  <meyering@redhat.com>
48654
48655         strerror: avoid warnings about discarding "const"
48656         * lib/strerror.c (rpl_strerror): Instead of returning a const
48657         string from each and every "case", use a variable, and add a single
48658         cast after the switch.
48659
48660 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
48661
48662         * lib/arpa_inet.in.h: Add extern "C" block for C++.
48663
48664 2009-01-16  Bruno Haible  <bruno@clisp.org>
48665
48666         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
48667         array initializer syntax that also works in C++ mode.
48668         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
48669
48670 2009-01-16  Jim Meyering  <meyering@redhat.com>
48671
48672         poll: suppress a warning
48673         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
48674         to ignore "...unsigned expression < 0 is always false" warnings.
48675
48676 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
48677
48678         poll: remove declarations of unused variables
48679         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
48680         sockbuf and optlen.
48681
48682 2009-01-15  Bruno Haible  <bruno@clisp.org>
48683
48684         Make fflush-after-ungetc POSIX compliant on BSD systems.
48685         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
48686         (clear_ungetc_buffer): Implement also for other systems.
48687         (rpl_fflush): On glibc systems, invoke
48688         clear_ungetc_buffer_preserving_position. Otherwise, invoke
48689         clear_ungetc_buffer after fetching the stream's position, not before.
48690
48691 2009-01-15  Bruno Haible  <bruno@clisp.org>
48692
48693         Make fflush-after-ungetc POSIX compliant on glibc systems.
48694         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
48695         after ungetc.
48696         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
48697         (rpl_fflush): On glibc systems, simply call the system's fflush
48698         function after clearing the ungetc buffer.
48699         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
48700         Instead, lseek only to the end of file, then use the system's fseeko
48701         for the rest. On glibc systems, reset the EOF indicator bit.
48702
48703 2009-01-15  Jim Meyering  <meyering@redhat.com>
48704
48705         openmp.m4: revert quote-adding change, for portability to older autoconf
48706         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
48707         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
48708         Simon Josefsson noticed the problem when using autoconf-2.61.
48709
48710 2009-01-15  Bruno Haible  <bruno@clisp.org>
48711
48712         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
48713         * tests/test-fflush2.c (ASSERT): Always fail.
48714         (main): Add two tests for fflush() after ungetc(), taking into account
48715         the Austin Group's clarification.
48716         Suggested by Eric Blake.
48717
48718 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
48719
48720         mktime.m4: remove K&R-style function prototypes
48721         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
48722         for the Sun C++ compiler.
48723
48724 2009-01-14  Bruno Haible  <bruno@clisp.org>
48725
48726         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
48727         while including <wchar.h>.
48728         * lib/wchar.in.h: In two particular situations on HP-UX, include only
48729         the system's <wchar.h> file.
48730         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
48731
48732 2009-01-14  Bruno Haible  <bruno@clisp.org>
48733
48734         * m4/csharp.m4: Don't mention gettext on the serial number line.
48735         * m4/csharpexec.m4: Likewise.
48736         * m4/eaccess.m4: Likewise.
48737         * m4/javaexec.m4: Likewise.
48738         * m4/sig_atomic_t.m4: Likewise.
48739         * m4/tmpdir.m4: Likewise.
48740         * m4/intldir.m4: Bump gettext version.
48741         * m4/lib-ld.m4: Likewise.
48742
48743 2009-01-14  Bruno Haible  <bruno@clisp.org>
48744
48745         * lib/progname.c (set_program_name): Add more comments.
48746         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
48747
48748 2009-01-14  Simon Josefsson  <simon@josefsson.org>
48749
48750         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
48751         were sys/stat.h does not define it.
48752
48753 2009-01-14  Jim Meyering  <meyering@redhat.com>
48754
48755         many *.m4 files: improve m4 quoting
48756         99% of this change was performed by running the following commands:
48757         git ls-files | grep '\.m4$' | xargs perl -pi \
48758           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
48759           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
48760           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
48761           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
48762         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
48763         The remainder were to add Copyright dates, increment serial numbers,
48764         undo some changes in comments, exclude m4/intl.m4, and add quotes
48765         around the "1" in ",1" where the unusual spacing prohibited the
48766         above regexps from doing the job.  For more details, see
48767         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
48768         * m4/acl.m4: Modified.
48769         * m4/afs.m4: Likewise.
48770         * m4/alloca.m4: Likewise.
48771         * m4/argp.m4: Likewise.
48772         * m4/argz.m4: Likewise.
48773         * m4/atexit.m4: Likewise.
48774         * m4/bison-i18n.m4: Likewise.
48775         * m4/bison.m4: Likewise.
48776         * m4/byteswap.m4: Likewise.
48777         * m4/c-stack.m4: Likewise.
48778         * m4/c-strtod.m4: Likewise.
48779         * m4/calloc.m4: Likewise.
48780         * m4/canonicalize-lgpl.m4: Likewise.
48781         * m4/chown.m4: Likewise.
48782         * m4/clock_time.m4: Likewise.
48783         * m4/codeset.m4: Likewise.
48784         * m4/copy-file.m4: Likewise.
48785         * m4/csharp.m4: Likewise.
48786         * m4/csharpcomp.m4: Likewise.
48787         * m4/csharpexec.m4: Likewise.
48788         * m4/d-ino.m4: Likewise.
48789         * m4/d-type.m4: Likewise.
48790         * m4/dirfd.m4: Likewise.
48791         * m4/double-slash-root.m4: Likewise.
48792         * m4/eaccess.m4: Likewise.
48793         * m4/eealloc.m4: Likewise.
48794         * m4/environ.m4: Likewise.
48795         * m4/errno_h.m4: Likewise.
48796         * m4/euidaccess.m4: Likewise.
48797         * m4/execute.m4: Likewise.
48798         * m4/fatal-signal.m4: Likewise.
48799         * m4/fchdir.m4: Likewise.
48800         * m4/fcntl_h.m4: Likewise.
48801         * m4/fileblocks.m4: Likewise.
48802         * m4/filenamecat.m4: Likewise.
48803         * m4/findprog.m4: Likewise.
48804         * m4/flexmember.m4: Likewise.
48805         * m4/fnmatch.m4: Likewise.
48806         * m4/fopen.m4: Likewise.
48807         * m4/fpending.m4: Likewise.
48808         * m4/fprintf-posix.m4: Likewise.
48809         * m4/free.m4: Likewise.
48810         * m4/frexp.m4: Likewise.
48811         * m4/frexpl.m4: Likewise.
48812         * m4/fsusage.m4: Likewise.
48813         * m4/ftruncate.m4: Likewise.
48814         * m4/gc-camellia.m4: Likewise.
48815         * m4/gc-random.m4: Likewise.
48816         * m4/gc.m4: Likewise.
48817         * m4/getaddrinfo.m4: Likewise.
48818         * m4/getcwd-abort-bug.m4: Likewise.
48819         * m4/getcwd-path-max.m4: Likewise.
48820         * m4/getdate.m4: Likewise.
48821         * m4/getdomainname.m4: Likewise.
48822         * m4/getgroups.m4: Likewise.
48823         * m4/gethostname.m4: Likewise.
48824         * m4/gethrxtime.m4: Likewise.
48825         * m4/getline.m4: Likewise.
48826         * m4/getloadavg.m4: Likewise.
48827         * m4/getndelim2.m4: Likewise.
48828         * m4/getpass.m4: Likewise.
48829         * m4/gettext.m4: Likewise.
48830         * m4/gettime.m4: Likewise.
48831         * m4/gettimeofday.m4: Likewise.
48832         * m4/gnulib-common.m4: Likewise.
48833         * m4/group-member.m4: Likewise.
48834         * m4/host-os.m4: Likewise.
48835         * m4/iconv.m4: Likewise.
48836         * m4/iconv_open.m4: Likewise.
48837         * m4/inet_ntop.m4: Likewise.
48838         * m4/inet_pton.m4: Likewise.
48839         * m4/inline.m4: Likewise.
48840         * m4/intldir.m4: Likewise.
48841         * m4/intlmacosx.m4: Likewise.
48842         * m4/intmax.m4: Likewise.
48843         * m4/intmax_t.m4: Likewise.
48844         * m4/inttypes.m4: Likewise.
48845         * m4/inttypes_h.m4: Likewise.
48846         * m4/inttypes-pri.m4: Likewise.
48847         * m4/isapipe.m4: Likewise.
48848         * m4/isnand.m4: Likewise.
48849         * m4/isnanf.m4: Likewise.
48850         * m4/isnanl.m4: Likewise.
48851         * m4/javacomp.m4: Likewise.
48852         * m4/javaexec.m4: Likewise.
48853         * m4/jm-winsz1.m4: Likewise.
48854         * m4/jm-winsz2.m4: Likewise.
48855         * m4/lchown.m4: Likewise.
48856         * m4/lcmessage.m4: Likewise.
48857         * m4/ldexpl.m4: Likewise.
48858         * m4/lib-ld.m4: Likewise.
48859         * m4/lib-link.m4: Likewise.
48860         * m4/libsigsegv.m4: Likewise.
48861         * m4/link-follow.m4: Likewise.
48862         * m4/localcharset.m4: Likewise.
48863         * m4/locale-fr.m4: Likewise.
48864         * m4/locale-ja.m4: Likewise.
48865         * m4/locale-tr.m4: Likewise.
48866         * m4/locale-zh.m4: Likewise.
48867         * m4/lock.m4: Likewise.
48868         * m4/longlong.m4: Likewise.
48869         * m4/ls-mntd-fs.m4: Likewise.
48870         * m4/lstat.m4: Likewise.
48871         * m4/malloc.m4: Likewise.
48872         * m4/mathl.m4: Likewise.
48873         * m4/mbrtowc.m4: Likewise.
48874         * m4/mbstate_t.m4: Likewise.
48875         * m4/mbswidth.m4: Likewise.
48876         * m4/memchr.m4: Likewise.
48877         * m4/memcmp.m4: Likewise.
48878         * m4/memcpy.m4: Likewise.
48879         * m4/memmem.m4: Likewise.
48880         * m4/memmove.m4: Likewise.
48881         * m4/mempcpy.m4: Likewise.
48882         * m4/memrchr.m4: Likewise.
48883         * m4/memset.m4: Likewise.
48884         * m4/minmax.m4: Likewise.
48885         * m4/mkdir-slash.m4: Likewise.
48886         * m4/mkdtemp.m4: Likewise.
48887         * m4/mktime.m4: Likewise.
48888         * m4/mmap-anon.m4: Likewise.
48889         * m4/mountlist.m4: Likewise.
48890         * m4/nanosleep.m4: Likewise.
48891         * m4/nls.m4: Likewise.
48892         * m4/nocrash.m4: Likewise.
48893         * m4/open.m4: Likewise.
48894         * m4/openat.m4: Likewise.
48895         * m4/openmp.m4: Likewise.
48896         * m4/pathmax.m4: Likewise.
48897         * m4/perl.m4: Likewise.
48898         * m4/physmem.m4: Likewise.
48899         * m4/pipe.m4: Likewise.
48900         * m4/po.m4: Likewise.
48901         * m4/poll.m4: Likewise.
48902         * m4/posixtm.m4: Likewise.
48903         * m4/posixver.m4: Likewise.
48904         * m4/printf-frexp.m4: Likewise.
48905         * m4/printf-frexpl.m4: Likewise.
48906         * m4/printf-posix.m4: Likewise.
48907         * m4/printf-posix-rpl.m4: Likewise.
48908         * m4/printf.m4: Likewise.
48909         * m4/progtest.m4: Likewise.
48910         * m4/putenv.m4: Likewise.
48911         * m4/readline.m4: Likewise.
48912         * m4/readlink.m4: Likewise.
48913         * m4/readutmp.m4: Likewise.
48914         * m4/realloc.m4: Likewise.
48915         * m4/regex.m4: Likewise.
48916         * m4/relocatable.m4: Likewise.
48917         * m4/relocatable-lib.m4: Likewise.
48918         * m4/rename-dest-slash.m4: Likewise.
48919         * m4/rename.m4: Likewise.
48920         * m4/rmdir-errno.m4: Likewise.
48921         * m4/rmdir.m4: Likewise.
48922         * m4/roundf.m4: Likewise.
48923         * m4/roundl.m4: Likewise.
48924         * m4/rpmatch.m4: Likewise.
48925         * m4/save-cwd.m4: Likewise.
48926         * m4/selinux-selinux-h.m4: Likewise.
48927         * m4/setenv.m4: Likewise.
48928         * m4/settime.m4: Likewise.
48929         * m4/sig2str.m4: Likewise.
48930         * m4/sig_atomic_t.m4: Likewise.
48931         * m4/signalblocking.m4: Likewise.
48932         * m4/signbit.m4: Likewise.
48933         * m4/sigpipe.m4: Likewise.
48934         * m4/sockets.m4: Likewise.
48935         * m4/sockpfaf.m4: Likewise.
48936         * m4/st_dm_mode.m4: Likewise.
48937         * m4/stat-time.m4: Likewise.
48938         * m4/stdbool.m4: Likewise.
48939         * m4/stdint.m4: Likewise.
48940         * m4/stdint_h.m4: Likewise.
48941         * m4/stpcpy.m4: Likewise.
48942         * m4/stpncpy.m4: Likewise.
48943         * m4/strcase.m4: Likewise.
48944         * m4/strchrnul.m4: Likewise.
48945         * m4/strcspn.m4: Likewise.
48946         * m4/strdup.m4: Likewise.
48947         * m4/strftime.m4: Likewise.
48948         * m4/strndup.m4: Likewise.
48949         * m4/strnlen.m4: Likewise.
48950         * m4/strpbrk.m4: Likewise.
48951         * m4/strptime.m4: Likewise.
48952         * m4/strsep.m4: Likewise.
48953         * m4/strtod.m4: Likewise.
48954         * m4/strtoimax.m4: Likewise.
48955         * m4/strtok_r.m4: Likewise.
48956         * m4/strtol.m4: Likewise.
48957         * m4/strtoll.m4: Likewise.
48958         * m4/strtoul.m4: Likewise.
48959         * m4/strtoull.m4: Likewise.
48960         * m4/strtoumax.m4: Likewise.
48961         * m4/strverscmp.m4: Likewise.
48962         * m4/threadlib.m4: Likewise.
48963         * m4/timegm.m4: Likewise.
48964         * m4/tm_gmtoff.m4: Likewise.
48965         * m4/tmpdir.m4: Likewise.
48966         * m4/tmpfile.m4: Likewise.
48967         * m4/tzset.m4: Likewise.
48968         * m4/uintmax_t.m4: Likewise.
48969         * m4/unlinkdir.m4: Likewise.
48970         * m4/unlocked-io.m4: Likewise.
48971         * m4/uptime.m4: Likewise.
48972         * m4/userspec.m4: Likewise.
48973         * m4/utimbuf.m4: Likewise.
48974         * m4/utime.m4: Likewise.
48975         * m4/utimes-null.m4: Likewise.
48976         * m4/utimes.m4: Likewise.
48977         * m4/vararrays.m4: Likewise.
48978         * m4/vasnprintf.m4: Likewise.
48979         * m4/vfprintf-posix.m4: Likewise.
48980         * m4/vprintf-posix.m4: Likewise.
48981         * m4/wait-process.m4: Likewise.
48982         * m4/wchar_t.m4: Likewise.
48983         * m4/wint_t.m4: Likewise.
48984         * m4/write-any-file.m4: Likewise.
48985         * m4/yield.m4: Likewise.
48986
48987 2009-01-13  Bruno Haible  <bruno@clisp.org>
48988
48989         Avoid test-copy-file.sh failures when ACL support insufficient.
48990         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
48991         TESTS_ENVIRONMENT.
48992         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
48993         Reported by Jim Meyering.
48994
48995 2009-01-13  Bruno Haible  <bruno@clisp.org>
48996
48997         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
48998         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
48999         * modules/unistdio/u8-printf-parse (Files): Likewise.
49000         * modules/unistdio/u32-printf-parse (Files): Likewise.
49001         * modules/unistdio/ulc-printf-parse (Files): Likewise.
49002
49003 2009-01-13  Simon Josefsson  <simon@josefsson.org>
49004
49005         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
49006         and m4/inttypes_h.m4 too.
49007
49008 2009-01-12  Eric Blake  <ebb9@byu.net>
49009
49010         tests: IRIX 6.2 cc can't compile -0.0 into .data
49011         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
49012         rather than at compile-time.
49013         * tests/test-floorl.c (minus_zero): Likewise.
49014         * tests/test-frexpl.c (minus_zero): Likewise.
49015         * tests/test-isnan.c (minus_zerol): Likewise.
49016         * tests/test-isnanl.h (minus_zero): Likewise.
49017         * tests/test-ldexpl.c (minus_zero): Likewise.
49018         * tests/test-roundl.c (minus_zero): Likewise.
49019         * tests/test-signbit.c (minus_zerol): Likewise.
49020         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
49021         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
49022         * tests/test-truncl.c (minus_zero): Likewise.
49023         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
49024         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
49025         Reported by Tom G. Christensen and Nelson H. F. Beebe.
49026
49027 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
49028
49029         regex: fix glibc bug 9697
49030         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
49031         handling.
49032
49033 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
49034
49035         regex: fix glibc bug 697
49036         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
49037         being NULL also if there are no backreferences.
49038
49039 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
49040
49041         regex: merge glibc changes
49042         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
49043         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
49044         re_string_skip_chars, re_string_reconstruct): Likewise.
49045         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
49046
49047 2009-01-07  Jim Meyering  <meyering@redhat.com>
49048
49049         poll: filter through cppi
49050         * lib/poll.c: Indent cpp directives to reflect nesting.
49051
49052 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
49053
49054         poll: don't return uninitialized
49055         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
49056
49057 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
49058
49059         avoid compile failure on AIX 6.1
49060         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
49061         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
49062
49063 2009-01-04  Jim Meyering  <meyering@redhat.com>
49064
49065         remove duplicate inclusion of <stdio.h>
49066         * tests/test-fprintf-posix.c: Likewise.
49067         * tests/test-printf-posix.c: Likewise.
49068         * tests/test-snprintf-posix.c: Likewise.
49069         * tests/test-sprintf-posix.c: Likewise.
49070         * tests/test-vasprintf-posix.c: Likewise.
49071         * tests/test-vfprintf-posix.c: Likewise.
49072         * tests/test-vprintf-posix.c: Likewise.
49073         * tests/test-vsnprintf-posix.c: Likewise.
49074         * tests/test-vsprintf-posix.c: Likewise.
49075
49076 2009-01-03  Jim Meyering  <meyering@redhat.com>
49077
49078         gnulib-tool: fix sed-based filtering
49079         * gnulib-tool (func_filter_filelist): Remove extra backslash
49080         in sed_fff_filter definition.
49081
49082 2009-01-02  Jim Meyering  <meyering@redhat.com>
49083
49084         strftime: avoid compilation failure on Solaris 2.6
49085         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
49086         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
49087         Don't #define mbrlen or mbsinit, since now they're guaranteed to
49088         be available.  Reported by Tom G. Christensen.  Details in
49089         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
49090
49091 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49092             Bruno Haible  <bruno@clisp.org>
49093
49094         Speed up gnulib-tool by doing more string processing through shell
49095         built-ins.
49096         * gnulib-tool (fast_func_append): New variable.
49097         (func_remove_prefix, func_remove_suffix): New functions.
49098         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
49099         (func_filter_filelist): New function.
49100         (func_get_dependencies): Use func_remove_suffix instead of sed.
49101         (func_get_automake_snippet): Use func_filter_filelist instead of a
49102         subshell and sed invocation.
49103
49104 2009-01-01  Bruno Haible  <bruno@clisp.org>
49105
49106         Fix a security bug.
49107         * gnulib-tool (func_import, import, update): Don't allow the characters
49108         '"', '$', '`', '\' in macro arguments that become part of commands that
49109         are evaluated.
49110
49111 2009-01-01  Bruno Haible  <bruno@clisp.org>
49112
49113         * gnulib-tool (func_reset_sigpipe): Add more comments.
49114
49115 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49116
49117         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
49118         func_emit_tests_Makefile_am, func_import): Abort loops early if we
49119         already know the answer.
49120
49121 2009-01-01  Jim Meyering  <meyering@redhat.com>
49122
49123         * lib/version-etc.c (version_etc_va): Update copyright year.
49124
49125 2008-12-30  Bruno Haible  <bruno@clisp.org>
49126
49127         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
49128         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
49129         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
49130
49131 2008-12-29  Eric Blake  <ebb9@byu.net>
49132
49133         multiarch: avoid autoconf AC_REQUIRE bug
49134         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
49135         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
49136         2.63 and older.
49137         Reported by Bruno Haible, and analyzed in
49138         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
49139
49140 2008-12-29  Bruno Haible  <bruno@clisp.org>
49141
49142         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
49143         files in subdirectories correctly.
49144         Reported by Ralf Wildenhues.
49145
49146 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49147
49148         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
49149         rather than 'join FILE -', for Solaris join.
49150
49151 2008-12-29  Bruno Haible  <bruno@clisp.org>
49152
49153         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
49154         quoting.
49155         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
49156         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
49157         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
49158         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
49159         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
49160         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
49161         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
49162         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
49163         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
49164         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
49165         * m4/nls.m4 (AM_NLS): Likewise.
49166         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
49167         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
49168         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
49169         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
49170         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
49171         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
49172         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
49173         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
49174         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
49175         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
49176         * m4/xsize.m4 (gl_XSIZE): Likewise.
49177         Suggested by Jim Meyering.
49178
49179 2008-11-17  Bruce Korb  <bkorb@gnu.org>
49180
49181         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
49182         * lib/parse-duration.c: use a switch instead of cascading if's.
49183
49184 2008-12-29  Eric Blake  <ebb9@byu.net>
49185
49186         wchar.h: supply WEOF on Irix 5.3
49187         * lib/wchar.in.h (wint_t): Also supply WEOF.
49188         * lib/wctype.in.h (wint_t): Likewise.
49189         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
49190         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
49191         Reported by Tom G. Christensen.
49192
49193 2008-12-26  Bruno Haible  <bruno@clisp.org>
49194
49195         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
49196         i486, i586, i686.
49197
49198 2008-12-26  Bruno Haible  <bruno@clisp.org>
49199
49200         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
49201
49202 2008-12-26  Bruno Haible  <bruno@clisp.org>
49203
49204         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
49205         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
49206         not __STDC_CONSTANT_MACROS.
49207         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
49208
49209 2008-12-25  Bruno Haible  <bruno@clisp.org>
49210
49211         Add support for universal builds to vasnprintf.
49212         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
49213         universal builds, guess no.
49214         * modules/vasnprintf-posix (Depends-on): Add multiarch.
49215         * modules/vasprintf-posix (Depends-on): Likewise.
49216         * modules/fprintf-posix (Depends-on): Likewise.
49217         * modules/vfprintf-posix (Depends-on): Likewise.
49218         * modules/snprintf-posix (Depends-on): Likewise.
49219         * modules/vsnprintf-posix (Depends-on): Likewise.
49220         * modules/sprintf-posix (Depends-on): Likewise.
49221         * modules/vsprintf-posix (Depends-on): Likewise.
49222         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
49223         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
49224         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
49225         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
49226         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
49227         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
49228         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
49229
49230         Add support for universal builds to <inttypes.h>.
49231         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
49232         _SCNu64_PREFIX): In Apple
49233         universal builds, define directly, using _LP64.
49234         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
49235         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
49236         * modules/inttypes (Depends-on): Add multiarch.
49237         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
49238
49239         Add support for universal builds to <stdint.h>.
49240         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
49241         universal builds, define directly, using _LP64.
49242         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
49243         Apple universal builds, don't test for the size and suffix of ptrdiff_t
49244         and size_t.
49245         * modules/stdint (Depends-on): Add multiarch.
49246         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
49247
49248         New module 'multiarch'.
49249         * modules/multiarch: New file.
49250         * m4/multiarch.m4: New file.
49251
49252 2008-12-25  Bruno Haible  <bruno@clisp.org>
49253
49254         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
49255
49256 2008-12-25  Bruno Haible  <bruno@clisp.org>
49257
49258         * modules/btowc (License): Relicense under LGPLv2+.
49259         * modules/mbsinit (License): Likewise.
49260         * modules/mbrtowc (License): Likewise.
49261         * modules/wcrtomb (License): Likewise.
49262         * modules/streq (License): Likewise.
49263         Reported by David Lutterkort <lutter@redhat.com>.
49264
49265 2008-12-23  Bruno Haible  <bruno@clisp.org>
49266
49267         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
49268
49269 2008-12-23  Bruno Haible  <bruno@clisp.org>
49270
49271         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
49272         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
49273         GETADDRINFO_LIB, not in LIBS.
49274         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
49275         * modules/canon-host (Link): Likewise.
49276         * NEWS: Mention the change.
49277         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
49278         GETADDRINFO_LIB.
49279
49280 2008-12-22  Bruno Haible  <bruno@clisp.org>
49281
49282         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
49283         * doc/posix-functions/iswalpha_l.texi: Likewise.
49284         * doc/posix-functions/iswblank_l.texi: Likewise.
49285         * doc/posix-functions/iswcntrl_l.texi: Likewise.
49286         * doc/posix-functions/iswctype_l.texi: Likewise.
49287         * doc/posix-functions/iswdigit_l.texi: Likewise.
49288         * doc/posix-functions/iswgraph_l.texi: Likewise.
49289         * doc/posix-functions/iswlower_l.texi: Likewise.
49290         * doc/posix-functions/iswprint_l.texi: Likewise.
49291         * doc/posix-functions/iswpunct_l.texi: Likewise.
49292         * doc/posix-functions/iswspace_l.texi: Likewise.
49293         * doc/posix-functions/iswupper_l.texi: Likewise.
49294         * doc/posix-functions/iswxdigit_l.texi: Likewise.
49295         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
49296         * doc/posix-functions/open_wmemstream.texi: Likewise.
49297         * doc/posix-functions/swscanf.texi: Likewise.
49298         * doc/posix-functions/towctrans_l.texi: Likewise.
49299         * doc/posix-functions/towlower.texi: Likewise.
49300         * doc/posix-functions/towlower_l.texi: Likewise.
49301         * doc/posix-functions/towupper.texi: Likewise.
49302         * doc/posix-functions/towupper_l.texi: Likewise.
49303         * doc/posix-functions/vfwprintf.texi: Likewise.
49304         * doc/posix-functions/vfwscanf.texi: Likewise.
49305         * doc/posix-functions/vswscanf.texi: Likewise.
49306         * doc/posix-functions/vwprintf.texi: Likewise.
49307         * doc/posix-functions/vwscanf.texi: Likewise.
49308         * doc/posix-functions/wcpcpy.texi: Likewise.
49309         * doc/posix-functions/wcpncpy.texi: Likewise.
49310         * doc/posix-functions/wcscasecmp.texi: Likewise.
49311         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
49312         * doc/posix-functions/wcscoll_l.texi: Likewise.
49313         * doc/posix-functions/wcsdup.texi: Likewise.
49314         * doc/posix-functions/wcsncasecmp.texi: Likewise.
49315         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
49316         * doc/posix-functions/wcsnlen.texi: Likewise.
49317         * doc/posix-functions/wcsnrtombs.texi: Likewise.
49318         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
49319         * doc/posix-functions/wctrans_l.texi: Likewise.
49320         * doc/posix-functions/wctype_l.texi: Likewise.
49321         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
49322         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
49323         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
49324         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
49325         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
49326         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
49327         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
49328         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
49329         * doc/glibc-functions/wcschrnul.texi: Likewise.
49330         * doc/glibc-functions/wcsftime_l.texi: Likewise.
49331         * doc/glibc-functions/wcstod_l.texi: Likewise.
49332         * doc/glibc-functions/wcstof_l.texi: Likewise.
49333         * doc/glibc-functions/wcstol_l.texi: Likewise.
49334         * doc/glibc-functions/wcstold_l.texi: Likewise.
49335         * doc/glibc-functions/wcstoll_l.texi: Likewise.
49336         * doc/glibc-functions/wcstoq.texi: Likewise.
49337         * doc/glibc-functions/wcstoul_l.texi: Likewise.
49338         * doc/glibc-functions/wcstoull_l.texi: Likewise.
49339         * doc/glibc-functions/wcstouq.texi: Likewise.
49340         * doc/glibc-functions/wmempcpy.texi: Likewise.
49341
49342 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
49343             Eric Blake  <ebb9@byu.net>
49344             Paolo Bonzini  <bonzini@gnu.org>
49345             Bruno Haible  <bruno@clisp.org>
49346
49347         Make c-stack work on Haiku.
49348         * lib/c-stack.c (SA_ONSTACK): Define fallback.
49349         (c_stack_action): Use SA_ONSTACK flag.
49350
49351 2008-12-22  Bruno Haible  <bruno@clisp.org>
49352
49353         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
49354
49355 2008-12-22  Bruno Haible  <bruno@clisp.org>
49356
49357         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
49358         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
49359         being overridden.
49360         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
49361         New macros.
49362         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
49363         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
49364         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
49365         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
49366
49367 2008-12-22  Bruno Haible  <bruno@clisp.org>
49368
49369         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
49370         from test code.
49371
49372 2008-12-22  Eric Blake  <ebb9@byu.net>
49373
49374         Avoid gcc warnings on cygwin.
49375         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
49376         Avoid unused variable.
49377         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
49378         Likewise.
49379
49380 2008-12-22  Bruno Haible  <bruno@clisp.org>
49381
49382         Remove HAVE_MBRTOWC conditionals.
49383         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
49384         (mbscasecmp): Assume mbrtowc function.
49385         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
49386         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
49387         * lib/mbschr.c: Include mbuiter.h unconditionally.
49388         (mbschr): Assume mbrtowc function.
49389         * lib/mbscspn.c: Include mbuiter.h unconditionally.
49390         (mbscspn): Assume mbrtowc function.
49391         * lib/mbslen.c: Include mbuiter.h unconditionally.
49392         (mbslen): Assume mbrtowc function.
49393         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
49394         (mbsncasecmp): Assume mbrtowc function.
49395         * lib/mbsnlen.c: Include mbiter.h unconditionally.
49396         (mbsnlen): Assume mbrtowc function.
49397         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
49398         (mbspbrk): Assume mbrtowc function.
49399         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
49400         (mbspcasecmp): Assume mbrtowc function.
49401         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
49402         (mbsrchr): Assume mbrtowc function.
49403         * lib/mbssep.c: Include mbuiter.h unconditionally.
49404         (mbssep): Assume mbrtowc function.
49405         * lib/mbsspn.c: Include mbuiter.h unconditionally.
49406         (mbsspn): Assume mbrtowc function.
49407         * lib/mbsstr.c: Include mbuiter.h unconditionally.
49408         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
49409         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
49410         (mbstok_r): Assume mbrtowc function.
49411         * lib/propername.c: Include mbuiter.h unconditionally.
49412         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
49413         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
49414         (trim2): Assume mbrtowc function.
49415         * lib/mbswidth.c (mbsinit): Remove fallback definition.
49416         (mbsnwidth): Assume mbrtowc function.
49417         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
49418         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
49419         fallback definitions.
49420         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
49421
49422 2008-12-22  Bruno Haible  <bruno@clisp.org>
49423
49424         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
49425
49426 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
49427
49428         * modules/regex: Request emulations for the mb*/wc* functions we need.
49429         * m4/regex.m4: Don't look for those functions here.
49430         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
49431
49432 2008-12-22  Bruno Haible  <bruno@clisp.org>
49433
49434         * modules/fnmatch (Depends-on): Remove duplicated dependency.
49435
49436 2008-12-21  Bruno Haible  <bruno@clisp.org>
49437
49438         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
49439         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
49440         (Include): Remove conditionalization.
49441         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
49442         (Include): Remove conditionalization.
49443         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
49444         (Include): Remove conditionalization.
49445         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
49446         * m4/mbfile.m4 (gl_MBFILE): Likewise.
49447         * NEWS: Mention the change.
49448         Reported by Alan Hourihane <alanh@fairlite.co.uk>
49449         via Sergey Poznyakoff <gray@gnu.org.ua>.
49450
49451 2008-12-21  Bruno Haible  <bruno@clisp.org>
49452
49453         * MODULES.html.sh (Extended multibyte and wide character utilities
49454         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
49455         wcrtomb, wcsrtombs.
49456         (Support for systems lacking POSIX:2008): Add accept, bind, close,
49457         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
49458         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
49459         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
49460
49461 2008-12-21  Bruno Haible  <bruno@clisp.org>
49462
49463         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
49464
49465 2008-12-21  Bruno Haible  <bruno@clisp.org>
49466
49467         * modules/wcsnrtombs-tests: New file.
49468         * tests/test-wcsnrtombs1.sh: New file.
49469         * tests/test-wcsnrtombs2.sh: New file.
49470         * tests/test-wcsnrtombs3.sh: New file.
49471         * tests/test-wcsnrtombs4.sh: New file.
49472         * tests/test-wcsnrtombs.c: New file.
49473
49474         New module 'wcsnrtombs'.
49475         * lib/wchar.in.h (wcsnrtombs): New declaration.
49476         * lib/wcsnrtombs.c: New file.
49477         * lib/wcsrtombs-state.c: New file.
49478         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
49479         (internal_state): Remove variable.
49480         * m4/wcsnrtombs.m4: New file.
49481         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
49482         compilation units.
49483         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
49484         HAVE_WCSNRTOMBS.
49485         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
49486         HAVE_WCSNRTOMBS.
49487         * modules/wcsnrtombs: New file.
49488         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
49489         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
49490
49491 2008-12-21  Bruno Haible  <bruno@clisp.org>
49492
49493         * modules/wcsrtombs-tests: New file.
49494         * tests/test-wcsrtombs1.sh: New file.
49495         * tests/test-wcsrtombs2.sh: New file.
49496         * tests/test-wcsrtombs3.sh: New file.
49497         * tests/test-wcsrtombs4.sh: New file.
49498         * tests/test-wcsrtombs.c: New file.
49499
49500         New module 'wcsrtombs'.
49501         * lib/wchar.in.h (wcsrtombs): New declaration.
49502         * lib/wcsrtombs.c: New file.
49503         * m4/wcsrtombs.m4: New file.
49504         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
49505         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
49506         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
49507         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
49508         * modules/wcsrtombs: New file.
49509         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
49510         bugs.
49511
49512 2008-12-21  Bruno Haible  <bruno@clisp.org>
49513
49514         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
49515         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
49516         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
49517         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
49518         if not correct.
49519         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
49520         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
49521         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
49522         m4/locale-zh.m4, m4/codeset.m4.
49523         * doc/posix-functions/wcrtomb.texi: Document the bug.
49524
49525 2008-12-21  Bruno Haible  <bruno@clisp.org>
49526
49527         Work around a btowc() bug on IRIX 6.5.
49528         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
49529         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
49530         REPLACE_WTOBC if not.
49531         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
49532         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
49533         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
49534
49535 2008-12-21  Bruno Haible  <bruno@clisp.org>
49536
49537         * modules/wcrtomb-tests: New file.
49538         * tests/test-wcrtomb.sh: New file.
49539         * tests/test-wcrtomb.c: New file.
49540
49541         New module 'wcrtomb'.
49542         * lib/wchar.in.h (wcrtomb): New declaration.
49543         * lib/wcrtomb.c: New file.
49544         * m4/wcrtomb.m4: New file.
49545         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
49546         HAVE_WCRTOMB.
49547         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
49548         HAVE_WCRTOMB.
49549         * modules/wcrtomb: New file.
49550         * doc/posix-functions/wcrtomb.texi: Mention the new module.
49551
49552 2008-12-21  Bruno Haible  <bruno@clisp.org>
49553
49554         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
49555         * modules/mbsrtowcs (Files): Likewise.
49556         * modules/wctob (Files): Likewise.
49557         * modules/c-strcase-tests (Files): Likewise.
49558         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
49559         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
49560         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
49561         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
49562         * modules/vasnprintf-posix-tests (Files): Likewise.
49563
49564 2008-12-21  William Pursell  <bill.pursell@gmail.com>
49565
49566         gitlog-to-changelog: pass all command-line arguments to git-log
49567         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
49568         it is sometimes convenient to filter the commits in various ways.
49569         gitlog-to-changelog only allows --since to specify a start date,
49570         but git-log itself supports many other filtering mechanisms.
49571         At the moment, I want to filter by branch name.  Rather than
49572         adding a --branch option to gitlog-to-changelog, it seems more
49573         flexible to simply pass all options directly to git-log and let
49574         git do the work.  Notice that this effectively makes --since a
49575         redundant option for gitlog-to-changelog, but removing it would
49576         require current usage to change since calls would then require
49577         an additional '--'.
49578
49579 2008-12-21  Bruno Haible  <bruno@clisp.org>
49580
49581         * modules/mbsnrtowcs-tests: New file.
49582         * tests/test-mbsnrtowcs1.sh: New file.
49583         * tests/test-mbsnrtowcs2.sh: New file.
49584         * tests/test-mbsnrtowcs3.sh: New file.
49585         * tests/test-mbsnrtowcs4.sh: New file.
49586         * tests/test-mbsnrtowcs.c: New file.
49587
49588         New module 'mbsnrtowcs'.
49589         * lib/wchar.in.h (mbsnrtowcs): New declaration.
49590         * lib/mbsnrtowcs.c: New file.
49591         * lib/mbsrtowcs-state.c: New file.
49592         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
49593         (internal_state): Remove variable.
49594         * m4/mbsnrtowcs.m4: New file.
49595         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
49596         compilation units.
49597         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
49598         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
49599         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
49600         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
49601         * modules/mbsnrtowcs: New file.
49602         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
49603         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
49604         portability problem.
49605
49606 2008-12-21  Bruno Haible  <bruno@clisp.org>
49607
49608         Work around mbsrtowcs bug.
49609         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
49610         (gl_FUNC_MBSRTOWCS): Invoke it.
49611         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
49612         m4/locale-zh.m4.
49613         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
49614
49615 2008-12-21  Bruno Haible  <bruno@clisp.org>
49616
49617         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
49618
49619 2008-12-21  Bruno Haible  <bruno@clisp.org>
49620
49621         Update doc for AIX.
49622         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
49623         16-bit wchar_t type.
49624         * doc/posix-functions/btowc.texi: Likewise.
49625         * doc/posix-functions/fgetwc.texi: Likewise.
49626         * doc/posix-functions/fgetws.texi: Likewise.
49627         * doc/posix-functions/fputwc.texi: Likewise.
49628         * doc/posix-functions/fputws.texi: Likewise.
49629         * doc/posix-functions/fwide.texi: Likewise.
49630         * doc/posix-functions/fwprintf.texi: Likewise.
49631         * doc/posix-functions/fwscanf.texi: Likewise.
49632         * doc/posix-functions/getwchar.texi: Likewise.
49633         * doc/posix-functions/getwc.texi: Likewise.
49634         * doc/posix-functions/iswalnum.texi: Likewise.
49635         * doc/posix-functions/iswalpha.texi: Likewise.
49636         * doc/posix-functions/iswblank.texi: Likewise.
49637         * doc/posix-functions/iswcntrl.texi: Likewise.
49638         * doc/posix-functions/iswctype.texi: Likewise.
49639         * doc/posix-functions/iswdigit.texi: Likewise.
49640         * doc/posix-functions/iswgraph.texi: Likewise.
49641         * doc/posix-functions/iswlower.texi: Likewise.
49642         * doc/posix-functions/iswprint.texi: Likewise.
49643         * doc/posix-functions/iswpunct.texi: Likewise.
49644         * doc/posix-functions/iswspace.texi: Likewise.
49645         * doc/posix-functions/iswupper.texi: Likewise.
49646         * doc/posix-functions/iswxdigit.texi: Likewise.
49647         * doc/posix-functions/mbrtowc.texi: Likewise.
49648         * doc/posix-functions/mbsrtowcs.texi: Likewise.
49649         * doc/posix-functions/mbstowcs.texi: Likewise.
49650         * doc/posix-functions/mbtowc.texi: Likewise.
49651         * doc/posix-functions/putwchar.texi: Likewise.
49652         * doc/posix-functions/putwc.texi: Likewise.
49653         * doc/posix-functions/swprintf.texi: Likewise.
49654         * doc/posix-functions/tolower.texi: Likewise.
49655         * doc/posix-functions/toupper.texi: Likewise.
49656         * doc/posix-functions/towctrans.texi: Likewise.
49657         * doc/posix-functions/ungetwc.texi: Likewise.
49658         * doc/posix-functions/vswprintf.texi: Likewise.
49659         * doc/posix-functions/wcrtomb.texi: Likewise.
49660         * doc/posix-functions/wcscat.texi: Likewise.
49661         * doc/posix-functions/wcschr.texi: Likewise.
49662         * doc/posix-functions/wcscmp.texi: Likewise.
49663         * doc/posix-functions/wcscoll.texi: Likewise.
49664         * doc/posix-functions/wcscpy.texi: Likewise.
49665         * doc/posix-functions/wcscspn.texi: Likewise.
49666         * doc/posix-functions/wcsftime.texi: Likewise.
49667         * doc/posix-functions/wcslen.texi: Likewise.
49668         * doc/posix-functions/wcsncat.texi: Likewise.
49669         * doc/posix-functions/wcsncmp.texi: Likewise.
49670         * doc/posix-functions/wcsncpy.texi: Likewise.
49671         * doc/posix-functions/wcspbrk.texi: Likewise.
49672         * doc/posix-functions/wcsrchr.texi: Likewise.
49673         * doc/posix-functions/wcsrtombs.texi: Likewise.
49674         * doc/posix-functions/wcsspn.texi: Likewise.
49675         * doc/posix-functions/wcsstr.texi: Likewise.
49676         * doc/posix-functions/wcstod.texi: Likewise.
49677         * doc/posix-functions/wcstof.texi: Likewise.
49678         * doc/posix-functions/wcstoimax.texi: Likewise.
49679         * doc/posix-functions/wcstok.texi: Likewise.
49680         * doc/posix-functions/wcstold.texi: Likewise.
49681         * doc/posix-functions/wcstoll.texi: Likewise.
49682         * doc/posix-functions/wcstol.texi: Likewise.
49683         * doc/posix-functions/wcstombs.texi: Likewise.
49684         * doc/posix-functions/wcstoull.texi: Likewise.
49685         * doc/posix-functions/wcstoul.texi: Likewise.
49686         * doc/posix-functions/wcstoumax.texi: Likewise.
49687         * doc/posix-functions/wcswidth.texi: Likewise.
49688         * doc/posix-functions/wcsxfrm.texi: Likewise.
49689         * doc/posix-functions/wctob.texi: Likewise.
49690         * doc/posix-functions/wctomb.texi: Likewise.
49691         * doc/posix-functions/wctrans.texi: Likewise.
49692         * doc/posix-functions/wctype.texi: Likewise.
49693         * doc/posix-functions/wcwidth.texi: Likewise.
49694         * doc/posix-functions/wmemchr.texi: Likewise.
49695         * doc/posix-functions/wmemcmp.texi: Likewise.
49696         * doc/posix-functions/wmemcpy.texi: Likewise.
49697         * doc/posix-functions/wmemmove.texi: Likewise.
49698         * doc/posix-functions/wmemset.texi: Likewise.
49699         * doc/posix-functions/wprintf.texi: Likewise.
49700         * doc/posix-functions/wscanf.texi: Likewise.
49701
49702 2008-12-21  Bruno Haible  <bruno@clisp.org>
49703
49704         Update doc for HP-UX 11.11.
49705         * doc/posix-functions/btowc.texi: Clarify that the function is missing
49706         in HP-UX version 11.00, not in all versions of HP-UX 11.
49707         * doc/posix-functions/fwide.texi: Likewise.
49708         * doc/posix-functions/fwprintf.texi: Likewise.
49709         * doc/posix-functions/fwscanf.texi: Likewise.
49710         * doc/posix-functions/inet_ntop.texi: Likewise.
49711         * doc/posix-functions/inet_pton.texi: Likewise.
49712         * doc/posix-functions/mbrlen.texi: Likewise.
49713         * doc/posix-functions/mbrtowc.texi: Likewise.
49714         * doc/posix-functions/mbsinit.texi: Likewise.
49715         * doc/posix-functions/mbsrtowcs.texi: Likewise.
49716         * doc/posix-functions/swprintf.texi: Likewise.
49717         * doc/posix-functions/swscanf.texi: Likewise.
49718         * doc/posix-functions/towctrans.texi: Likewise.
49719         * doc/posix-functions/vfwprintf.texi: Likewise.
49720         * doc/posix-functions/vswprintf.texi: Likewise.
49721         * doc/posix-functions/vwprintf.texi: Likewise.
49722         * doc/posix-functions/wcrtomb.texi: Likewise.
49723         * doc/posix-functions/wcsrtombs.texi: Likewise.
49724         * doc/posix-functions/wcsstr.texi: Likewise.
49725         * doc/posix-functions/wctob.texi: Likewise.
49726         * doc/posix-functions/wctrans.texi: Likewise.
49727         * doc/posix-functions/wmemchr.texi: Likewise.
49728         * doc/posix-functions/wmemcmp.texi: Likewise.
49729         * doc/posix-functions/wmemcpy.texi: Likewise.
49730         * doc/posix-functions/wmemmove.texi: Likewise.
49731         * doc/posix-functions/wmemset.texi: Likewise.
49732         * doc/posix-functions/wprintf.texi: Likewise.
49733         * doc/posix-functions/wscanf.texi: Likewise.
49734
49735 2008-12-21  Bruno Haible  <bruno@clisp.org>
49736
49737         Work around a portability problem.
49738         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
49739         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
49740
49741 2008-12-20  Bruno Haible  <bruno@clisp.org>
49742
49743         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
49744         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
49745         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
49746         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
49747         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
49748
49749         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
49750         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
49751         set.
49752         (GNULIB_defined_mbstate_t): New macro.
49753         (mbsinit): Redefine if REPLACE_MBSINIT is set.
49754         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
49755         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
49756         reuses the system's mbrtowc function but works around the bugs.
49757         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
49758         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
49759         macros.
49760         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
49761         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
49762         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
49763         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
49764         REPLACE_MBSINIT if mbsinit needs to be overridden.
49765         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
49766         REPLACE_MBSINIT, REPLACE_MBRTOWC.
49767         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
49768         REPLACE_MBSINIT, REPLACE_MBRTOWC.
49769         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
49770         m4/locale-zh.m4.
49771         (Depends): Add mbsinit.
49772         * modules/mbsinit (Depends): Add mbrtowc.
49773         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
49774
49775 2008-12-20  Bruno Haible  <bruno@clisp.org>
49776
49777         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
49778         so that there are no conversion errors on AIX.
49779         * tests/test-mbsrtowcs.c (main): LIkewise.
49780
49781 2008-12-20  Bruno Haible  <bruno@clisp.org>
49782
49783         Work around wctob bug on Solaris <= 9.
49784         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
49785         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
49786         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
49787         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
49788         * modules/wctob (Files): Add m4/locale-fr.m4.
49789         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
49790
49791 2008-12-20  Bruno Haible  <bruno@clisp.org>
49792
49793         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
49794         /dev/null.
49795         * tests/test-select-in.sh: Likewise.
49796         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
49797
49798 2008-12-20  Bruno Haible  <bruno@clisp.org>
49799
49800         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
49801         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
49802         Cygwin 1.5.x.
49803
49804 2008-12-20  Bruno Haible  <bruno@clisp.org>
49805
49806         Ensure mbstate_t is defined on HP-UX 11.11.
49807         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
49808         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
49809         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
49810         AC_USE_SYSTEM_EXTENSIONS.
49811         * modules/fnmatch (Depends-on): Add extensions.
49812         * modules/mbrlen (Depends-on): Likewise.
49813         * modules/mbrtowc (Depends-on): Likewise.
49814         * modules/mbsinit (Depends-on): Likewise.
49815         * modules/mbsrtowcs (Depends-on): Likewise.
49816         * modules/mbswidth (Depends-on): Likewise.
49817         * modules/quotearg (Depends-on): Likewise.
49818         * modules/strftime (Depends-on): Likewise.
49819
49820 2008-12-20  Bruno Haible  <bruno@clisp.org>
49821
49822         Ensure wctob is declared on IRIX 6.5.
49823         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
49824         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
49825         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
49826         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
49827         of HAVE_WCTOB.
49828         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
49829         HAVE_WCTOB.
49830         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
49831
49832 2008-12-19  Bruno Haible  <bruno@clisp.org>
49833
49834         * modules/mbsrtowcs-tests: New file.
49835         * tests/test-mbsrtowcs1.sh: New file.
49836         * tests/test-mbsrtowcs2.sh: New file.
49837         * tests/test-mbsrtowcs3.sh: New file.
49838         * tests/test-mbsrtowcs4.sh: New file.
49839         * tests/test-mbsrtowcs.c: New file.
49840
49841         New module 'mbsrtowcs'.
49842         * lib/wchar.in.h (mbsrtowcs): New declaration.
49843         * lib/mbsrtowcs.c: New file.
49844         * m4/mbsrtowcs.m4: New file.
49845         * modules/mbsrtowcs: New file.
49846         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
49847         HAVE_MBSRTOWCS.
49848         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
49849         HAVE_MBSRTOWCS.
49850         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
49851
49852 2008-12-19  Bruno Haible  <bruno@clisp.org>
49853
49854         New module 'mbrlen'.
49855         * lib/wchar.in.h (mbrlen): New declaration.
49856         * lib/mbrlen.c: New file.
49857         * m4/mbrlen.m4: New file.
49858         * modules/mbrlen: New file.
49859         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
49860         HAVE_MBRLEN.
49861         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
49862         HAVE_MBRLEN.
49863         * doc/posix-functions/mbrlen.texi: Document the new module.
49864
49865 2008-12-19  Bruno Haible  <bruno@clisp.org>
49866
49867         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
49868         * modules/mbrtowc (Depends-on): Add verify.
49869         Suggested by Paul Eggert.
49870
49871 2008-12-18  Bruno Haible  <bruno@clisp.org>
49872
49873         * modules/mbsinit-tests: New file.
49874         * tests/test-mbsinit.sh: New file.
49875         * tests/test-mbsinit.c: New file.
49876
49877 2008-12-18  Bruno Haible  <bruno@clisp.org>
49878
49879         * modules/mbrtowc-tests: New file.
49880         * tests/test-mbrtowc1.sh: New file.
49881         * tests/test-mbrtowc2.sh: New file.
49882         * tests/test-mbrtowc3.sh: New file.
49883         * tests/test-mbrtowc4.sh: New file.
49884         * tests/test-mbrtowc.c: New file.
49885
49886         New module 'mbrtowc'.
49887         * lib/wchar.in.h (mbstate_t): Override when the system does not have
49888         mbsinit and mbrtowc.
49889         (mbrtowc): New declaration.
49890         * lib/mbrtowc.c: New file.
49891         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
49892         * modules/mbrtowc: New file.
49893         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
49894         HAVE_MBRTOWC.
49895         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
49896         HAVE_MBRTOWC.
49897         * doc/posix-functions/mbrtowc.texi: Document the new module.
49898
49899 2008-12-18  Bruno Haible  <bruno@clisp.org>
49900
49901         New module 'wctob'.
49902         * lib/wchar.in.h (wctob): New declaration.
49903         * lib/wctob.c: New file.
49904         * m4/wctob.m4: New file.
49905         * modules/wctob: New file.
49906         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
49907         HAVE_WCTOB.
49908         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
49909         * doc/posix-functions/wctob.texi: Document the new module.
49910
49911 2008-12-18  Bruno Haible  <bruno@clisp.org>
49912
49913         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
49914         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
49915
49916 2008-12-18  Simon Josefsson  <simon@josefsson.org>
49917
49918         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
49919         G. Christensen" <tgc@jupiterrise.com>.
49920
49921         * lib/flock.c: Need to include errno.h.  Reported by "Tom
49922         G. Christensen" <tgc@jupiterrise.com>.
49923
49924         * lib/flock.c: Need to include string.h.  Reported by "Tom
49925         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
49926         <ebb9@byu.net>.
49927
49928 2008-12-18  Bruno Haible  <bruno@clisp.org>
49929
49930         * m4/locale-ja.m4: New file, from GNU gettext.
49931
49932 2008-12-17  Bruno Haible  <bruno@clisp.org>
49933
49934         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
49935         Suggested by Eric Blake.
49936
49937 2008-12-17  Bruno Haible  <bruno@clisp.org>
49938
49939         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
49940
49941 2008-12-17  Bruno Haible  <bruno@clisp.org>
49942
49943         * lib/mbsinit.c: Include verify.h. Verify an assumption.
49944         * modules/mbsinit (Depends-on): Add verify.
49945         Suggested by Paul Eggert.
49946
49947 2008-12-17  Bruno Haible  <bruno@clisp.org>
49948
49949         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
49950         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
49951         gl_FUNC_MBRTOWC.
49952         * m4/mbiter.m4 (gl_MBITER): LIkewise.
49953         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
49954         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
49955         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
49956         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
49957         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
49958         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
49959         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
49960         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
49961         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
49962         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
49963         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
49964         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
49965         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
49966         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
49967         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
49968         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
49969         * modules/trim (configure.ac): Likewise.
49970
49971 2008-12-17  Bruno Haible  <bruno@clisp.org>
49972
49973         * modules/btowc-tests: New file.
49974         * tests/test-btowc1.sh: New file.
49975         * tests/test-btowc2.sh: New file.
49976         * tests/test-btowc.c: New file.
49977
49978         New module 'btowc'.
49979         * lib/wchar.in.h (btowc): New declaration.
49980         * lib/btowc.c: New file.
49981         * m4/btowc.m4: New file.
49982         * modules/btowc: New file.
49983         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
49984         HAVE_BTOWC.
49985         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
49986         * doc/posix-functions/btowc.texi: Document the new module.
49987
49988 2008-12-17  Bruno Haible  <bruno@clisp.org>
49989
49990         New module 'mbsinit'.
49991         * lib/wchar.in.h (mbsinit): New declaration.
49992         * lib/mbsinit.c: New file.
49993         * m4/mbsinit.m4: New file.
49994         * modules/mbsinit: New file.
49995         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
49996         HAVE_MBSINIT.
49997         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
49998         HAVE_MBSINIT.
49999         * doc/posix-functions/mbsinit.texi: Document the new module.
50000
50001 2008-12-16  Bruno Haible  <bruno@clisp.org>
50002
50003         * lib/unistd.in.h: Add comment.
50004         * tests/test-environ.c: Don't include <stdlib.h>.
50005
50006 2008-12-16  Bruno Haible  <bruno@clisp.org>
50007
50008         * lib/parse-duration.h (parse_duration): Document return value
50009         convention.
50010         * lib/parse-duration.c: Include specification header first. Add
50011         comments.
50012         (_): Remove macro.
50013         (parse_year_month_day, parse_hour_minute_second): Move side effects
50014         outside of strchr call.
50015         (parse_non_iso8601): Move side effects outside of isspace call.
50016         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
50017         call.
50018
50019 2008-12-16  Bruno Haible  <bruno@clisp.org>
50020
50021         * tests/test-parse-duration.sh: Produce no output when the test
50022         succeeds.
50023
50024 2008-12-16  Bruno Haible  <bruno@clisp.org>
50025
50026         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
50027         expressions.
50028
50029 2008-12-15  Bruno Haible  <bruno@clisp.org>
50030
50031         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
50032         * doc/glibc-functions/flistxattr.texi: Likewise.
50033         * doc/glibc-functions/fopencookie.texi: Likewise.
50034         * doc/glibc-functions/fremovexattr.texi: Likewise.
50035         * doc/glibc-functions/fsetxattr.texi: Likewise.
50036         * doc/glibc-functions/getxattr.texi: Likewise.
50037         * doc/glibc-functions/lgetxattr.texi: Likewise.
50038         * doc/glibc-functions/listxattr.texi: Likewise.
50039         * doc/glibc-functions/llistxattr.texi: Likewise.
50040         * doc/glibc-functions/lremovexattr.texi: Likewise.
50041         * doc/glibc-functions/lsetxattr.texi: Likewise.
50042         * doc/glibc-functions/removexattr.texi: Likewise.
50043         * doc/glibc-functions/setxattr.texi: Likewise.
50044         * doc/posix-functions/open_memstream.texi: Likewise.
50045
50046 2008-12-15  Eric Blake  <ebb9@byu.net>
50047
50048         Update doc for cygwin 1.7.
50049         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
50050         functions.
50051         * doc/posix-functions/fchmodat.texi: Likewise.
50052         * doc/posix-functions/fchownat.texi: Likewise.
50053         * doc/posix-functions/fdopendir.texi: Likewise.
50054         * doc/posix-functions/fmemopen.texi: Likewise.
50055         * doc/posix-functions/freeaddrinfo.texi: Likewise.
50056         * doc/posix-functions/fstatat.texi: Likewise.
50057         * doc/posix-functions/futimens.texi: Likewise.
50058         * doc/posix-functions/gai_strerror.texi: Likewise.
50059         * doc/posix-functions/getaddrinfo.texi: Likewise.
50060         * doc/posix-functions/getnameinfo.texi: Likewise.
50061         * doc/posix-functions/if_freenameindex.texi: Likewise.
50062         * doc/posix-functions/if_indextoname.texi: Likewise.
50063         * doc/posix-functions/if_nameindex.texi: Likewise.
50064         * doc/posix-functions/if_nametoindex.texi: Likewise.
50065         * doc/posix-functions/insque.texi: Likewise.
50066         * doc/posix-functions/linkat.texi: Likewise.
50067         * doc/posix-functions/llrint.texi: Likewise.
50068         * doc/posix-functions/llrintf.texi: Likewise.
50069         * doc/posix-functions/llrintl.texi: Likewise.
50070         * doc/posix-functions/lockf.texi: Likewise.
50071         * doc/posix-functions/lrintl.texi: Likewise.
50072         * doc/posix-functions/mkdirat.texi: Likewise.
50073         * doc/posix-functions/mkfifoat.texi: Likewise.
50074         * doc/posix-functions/mknodat.texi: Likewise.
50075         * doc/posix-functions/mq_close.texi: Likewise.
50076         * doc/posix-functions/mq_getattr.texi: Likewise.
50077         * doc/posix-functions/mq_notify.texi: Likewise.
50078         * doc/posix-functions/mq_open.texi: Likewise.
50079         * doc/posix-functions/mq_receive.texi: Likewise.
50080         * doc/posix-functions/mq_send.texi: Likewise.
50081         * doc/posix-functions/mq_setattr.texi: Likewise.
50082         * doc/posix-functions/mq_timedreceive.texi: Likewise.
50083         * doc/posix-functions/mq_timedsend.texi: Likewise.
50084         * doc/posix-functions/mq_unlink.texi: Likewise.
50085         * doc/posix-functions/open_memstream.texi: Likewise.
50086         * doc/posix-functions/openat.texi: Likewise.
50087         * doc/posix-functions/posix_fadvise.texi: Likewise.
50088         * doc/posix-functions/posix_fallocate.texi: Likewise.
50089         * doc/posix-functions/posix_madvise.texi: Likewise.
50090         * doc/posix-functions/posix_memalign.texi: Likewise.
50091         * doc/posix-functions/posix_openpt.texi: Likewise.
50092         * doc/posix-functions/readlinkat.texi: Likewise.
50093         * doc/posix-functions/remque.texi: Likewise.
50094         * doc/posix-functions/renameat.texi: Likewise.
50095         * doc/posix-functions/rintl.texi: Likewise.
50096         * doc/posix-functions/sem_unlink.texi: Likewise.
50097         * doc/posix-functions/shm_open.texi: Likewise.
50098         * doc/posix-functions/shm_unlink.texi: Likewise.
50099         * doc/posix-functions/signgam.texi: Likewise.
50100         * doc/posix-functions/sigset.texi: Likewise.
50101         * doc/posix-functions/stpcpy.texi: Likewise.
50102         * doc/posix-functions/stpncpy.texi: Likewise.
50103         * doc/posix-functions/strerror.texi: Likewise.
50104         * doc/posix-functions/strtod.texi: Likewise.
50105         * doc/posix-functions/symlinkat.texi: Likewise.
50106         * doc/posix-functions/unlinkat.texi: Likewise.
50107         * doc/posix-functions/utimensat.texi: Likewise.
50108         * doc/glibc-functions/bindresvport.texi: Likewise.
50109         * doc/glibc-functions/dn_expand.texi: Likewise.
50110         * doc/glibc-functions/exp10.texi: Likewise.
50111         * doc/glibc-functions/exp10f.texi: Likewise.
50112         * doc/glibc-functions/fgetxattr.texi: Likewise.
50113         * doc/glibc-functions/flistxattr.texi: Likewise.
50114         * doc/glibc-functions/fopencookie.texi: Likewise.
50115         * doc/glibc-functions/freeifaddrs.texi: Likewise.
50116         * doc/glibc-functions/fremovexattr.texi: Likewise.
50117         * doc/glibc-functions/fsetxattr.texi: Likewise.
50118         * doc/glibc-functions/getifaddrs.texi: Likewise.
50119         * doc/glibc-functions/getxattr.texi: Likewise.
50120         * doc/glibc-functions/lgetxattr.texi: Likewise.
50121         * doc/glibc-functions/listxattr.texi: Likewise.
50122         * doc/glibc-functions/llistxattr.texi: Likewise.
50123         * doc/glibc-functions/lremovexattr.texi: Likewise.
50124         * doc/glibc-functions/lsetxattr.texi: Likewise.
50125         * doc/glibc-functions/pow10.texi: Likewise.
50126         * doc/glibc-functions/pow10f.texi: Likewise.
50127         * doc/glibc-functions/rcmd_af.texi: Likewise.
50128         * doc/glibc-functions/removexattr.texi: Likewise.
50129         * doc/glibc-functions/res_init.texi: Likewise.
50130         * doc/glibc-functions/res_mkquery.texi: Likewise.
50131         * doc/glibc-functions/res_query.texi: Likewise.
50132         * doc/glibc-functions/res_querydomain.texi: Likewise.
50133         * doc/glibc-functions/res_send.texi: Likewise.
50134         * doc/glibc-functions/rresvport_af.texi: Likewise.
50135         * doc/glibc-functions/setxattr.texi: Likewise.
50136         * doc/glibc-functions/strcasestr.texi: Likewise.
50137
50138 2008-12-15  Bruno Haible  <bruno@clisp.org>
50139
50140         Fix compilation error on OSF/1 4.0.
50141         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
50142         <sys/time.h>, simply delegate to the system header.
50143         Reported by Daniel Richard G. <oss@teragram.com>.
50144
50145 2008-12-15  Bruno Haible  <bruno@clisp.org>
50146
50147         * doc/posix-functions/openat.texi: Mention the 'openat' module.
50148         * doc/posix-functions/fchmodat.texi: Likewise.
50149         * doc/posix-functions/fchownat.texi: Likewise.
50150         * doc/posix-functions/fdopendir.texi: Likewise.
50151         * doc/posix-functions/fstatat.texi: Likewise.
50152         * doc/posix-functions/mkdirat.texi: Likewise.
50153         * doc/posix-functions/unlinkat.texi: Likewise.
50154
50155 2008-12-14  Bruno Haible  <bruno@clisp.org>
50156
50157         Update doc for POSIX:2008.
50158         * doc/posix-functions/faccessat.texi: New file.
50159         * doc/posix-functions/fchmodat.texi: New file.
50160         * doc/posix-functions/fchownat.texi: New file.
50161         * doc/posix-functions/fdopendir.texi: New file.
50162         * doc/posix-functions/fstatat.texi: New file.
50163         * doc/posix-functions/futimens.texi: New file.
50164         * doc/posix-functions/linkat.texi: New file.
50165         * doc/posix-functions/mkdirat.texi: New file.
50166         * doc/posix-functions/mkfifoat.texi: New file.
50167         * doc/posix-functions/mknodat.texi: New file.
50168         * doc/posix-functions/open_wmemstream.texi: New file.
50169         * doc/posix-functions/openat.texi: New file.
50170         * doc/posix-functions/psiginfo.texi: New file.
50171         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
50172         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
50173         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
50174         * doc/posix-functions/readlinkat.texi: New file.
50175         * doc/posix-functions/renameat.texi: New file.
50176         * doc/posix-functions/strerror_l.texi: New file.
50177         * doc/posix-functions/symlinkat.texi: New file.
50178         * doc/posix-functions/unlinkat.texi: New file.
50179         * doc/posix-functions/utimensat.texi: New file.
50180         * doc/gnulib.texi (Function Substitutes): Add these subsections.
50181
50182 2008-12-14  Bruno Haible  <bruno@clisp.org>
50183
50184         Update doc for POSIX:2008.
50185         * doc/posix-functions/alphasort.texi: Renamed from
50186         doc/glibc-functions/alphasort.texi.
50187         * doc/posix-functions/dirfd.texi: Renamed from
50188         doc/glibc-functions/dirfd.texi.
50189         * doc/posix-functions/dprintf.texi: Renamed from
50190         doc/glibc-functions/dprintf.texi.
50191         * doc/posix-functions/duplocale.texi: Renamed from
50192         doc/glibc-functions/duplocale.texi.
50193         * doc/posix-functions/fexecve.texi: Renamed from
50194         doc/glibc-functions/fexecve.texi.
50195         * doc/posix-functions/fmemopen.texi: Renamed from
50196         doc/glibc-functions/fmemopen.texi.
50197         * doc/posix-functions/freelocale.texi: Renamed from
50198         doc/glibc-functions/freelocale.texi.
50199         * doc/posix-functions/getdate_err.texi: Renamed from
50200         doc/glibc-functions/getdate_err.texi.
50201         * doc/posix-functions/isalnum_l.texi: Renamed from
50202         doc/glibc-functions/isalnum_l.texi.
50203         * doc/posix-functions/isalpha_l.texi: Renamed from
50204         doc/glibc-functions/isalpha_l.texi.
50205         * doc/posix-functions/isblank_l.texi: Renamed from
50206         doc/glibc-functions/isblank_l.texi.
50207         * doc/posix-functions/iscntrl_l.texi: Renamed from
50208         doc/glibc-functions/iscntrl_l.texi.
50209         * doc/posix-functions/isdigit_l.texi: Renamed from
50210         doc/glibc-functions/isdigit_l.texi.
50211         * doc/posix-functions/isgraph_l.texi: Renamed from
50212         doc/glibc-functions/isgraph_l.texi.
50213         * doc/posix-functions/islower_l.texi: Renamed from
50214         doc/glibc-functions/islower_l.texi.
50215         * doc/posix-functions/isprint_l.texi: Renamed from
50216         doc/glibc-functions/isprint_l.texi.
50217         * doc/posix-functions/ispunct_l.texi: Renamed from
50218         doc/glibc-functions/ispunct_l.texi.
50219         * doc/posix-functions/isspace_l.texi: Renamed from
50220         doc/glibc-functions/isspace_l.texi.
50221         * doc/posix-functions/isupper_l.texi: Renamed from
50222         doc/glibc-functions/isupper_l.texi.
50223         * doc/posix-functions/iswalnum_l.texi: Renamed from
50224         doc/glibc-functions/iswalnum_l.texi.
50225         * doc/posix-functions/iswalpha_l.texi: Renamed from
50226         doc/glibc-functions/iswalpha_l.texi.
50227         * doc/posix-functions/iswblank_l.texi: Renamed from
50228         doc/glibc-functions/iswblank_l.texi.
50229         * doc/posix-functions/iswcntrl_l.texi: Renamed from
50230         doc/glibc-functions/iswcntrl_l.texi.
50231         * doc/posix-functions/iswctype_l.texi: Renamed from
50232         doc/glibc-functions/iswctype_l.texi.
50233         * doc/posix-functions/iswdigit_l.texi: Renamed from
50234         doc/glibc-functions/iswdigit_l.texi.
50235         * doc/posix-functions/iswgraph_l.texi: Renamed from
50236         doc/glibc-functions/iswgraph_l.texi.
50237         * doc/posix-functions/iswlower_l.texi: Renamed from
50238         doc/glibc-functions/iswlower_l.texi.
50239         * doc/posix-functions/iswprint_l.texi: Renamed from
50240         doc/glibc-functions/iswprint_l.texi.
50241         * doc/posix-functions/iswpunct_l.texi: Renamed from
50242         doc/glibc-functions/iswpunct_l.texi.
50243         * doc/posix-functions/iswspace_l.texi: Renamed from
50244         doc/glibc-functions/iswspace_l.texi.
50245         * doc/posix-functions/iswupper_l.texi: Renamed from
50246         doc/glibc-functions/iswupper_l.texi.
50247         * doc/posix-functions/iswxdigit_l.texi: Renamed from
50248         doc/glibc-functions/iswxdigit_l.texi.
50249         * doc/posix-functions/isxdigit_l.texi: Renamed from
50250         doc/glibc-functions/isxdigit_l.texi.
50251         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
50252         doc/glibc-functions/mbsnrtowcs.texi.
50253         * doc/posix-functions/mkdtemp.texi: Renamed from
50254         doc/glibc-functions/mkdtemp.texi.
50255         * doc/posix-functions/newlocale.texi: Renamed from
50256         doc/glibc-functions/newlocale.texi.
50257         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
50258         doc/glibc-functions/nl_langinfo_l.texi.
50259         * doc/posix-functions/open_memstream.texi: Renamed from
50260         doc/glibc-functions/open_memstream.texi.
50261         * doc/posix-functions/opterr.texi: Renamed from
50262         doc/glibc-functions/opterr.texi.
50263         * doc/posix-functions/optind.texi: Renamed from
50264         doc/glibc-functions/optind.texi.
50265         * doc/posix-functions/optopt.texi: Renamed from
50266         doc/glibc-functions/optopt.texi.
50267         * doc/posix-functions/psignal.texi: Renamed from
50268         doc/glibc-functions/psignal.texi.
50269         * doc/posix-functions/scandir.texi: Renamed from
50270         doc/glibc-functions/scandir.texi.
50271         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
50272         doc/glibc-functions/sched_get_priority_min.texi.
50273         * doc/posix-functions/signgam.texi: Renamed from
50274         doc/glibc-functions/signgam.texi.
50275         * doc/posix-functions/stpcpy.texi: Renamed from
50276         doc/glibc-functions/stpcpy.texi.
50277         * doc/posix-functions/stpncpy.texi: Renamed from
50278         doc/glibc-functions/stpncpy.texi.
50279         * doc/posix-functions/strcasecmp_l.texi: Renamed from
50280         doc/glibc-functions/strcasecmp_l.texi.
50281         * doc/posix-functions/strcoll_l.texi: Renamed from
50282         doc/glibc-functions/strcoll_l.texi.
50283         * doc/posix-functions/strfmon_l.texi: Renamed from
50284         doc/glibc-functions/strfmon_l.texi.
50285         * doc/posix-functions/strftime_l.texi: Renamed from
50286         doc/glibc-functions/strftime_l.texi.
50287         * doc/posix-functions/strncasecmp_l.texi: Renamed from
50288         doc/glibc-functions/strncasecmp_l.texi.
50289         * doc/posix-functions/strndup.texi: Renamed from
50290         doc/glibc-functions/strndup.texi.
50291         * doc/posix-functions/strnlen.texi: Renamed from
50292         doc/glibc-functions/strnlen.texi.
50293         * doc/posix-functions/strsignal.texi: Renamed from
50294         doc/glibc-functions/strsignal.texi.
50295         * doc/posix-functions/strxfrm_l.texi: Renamed from
50296         doc/glibc-functions/strxfrm_l.texi.
50297         * doc/posix-functions/timer_gettime.texi: Renamed from
50298         doc/glibc-functions/timer_gettime.texi.
50299         * doc/posix-functions/tolower_l.texi: Renamed from
50300         doc/glibc-functions/tolower_l.texi.
50301         * doc/posix-functions/toupper_l.texi: Renamed from
50302         doc/glibc-functions/toupper_l.texi.
50303         * doc/posix-functions/towctrans_l.texi: Renamed from
50304         doc/glibc-functions/towctrans_l.texi.
50305         * doc/posix-functions/towlower_l.texi: Renamed from
50306         doc/glibc-functions/towlower_l.texi.
50307         * doc/posix-functions/towupper_l.texi: Renamed from
50308         doc/glibc-functions/towupper_l.texi.
50309         * doc/posix-functions/uselocale.texi: Renamed from
50310         doc/glibc-functions/uselocale.texi.
50311         * doc/posix-functions/vdprintf.texi: Renamed from
50312         doc/glibc-functions/vdprintf.texi.
50313         * doc/posix-functions/wcpcpy.texi:
50314         Renamed from doc/glibc-functions/wcpcpy.texi.
50315         * doc/posix-functions/wcpncpy.texi: Renamed from
50316         doc/glibc-functions/wcpncpy.texi.
50317         * doc/posix-functions/wcscasecmp.texi: Renamed from
50318         doc/glibc-functions/wcscasecmp.texi.
50319         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
50320         doc/glibc-functions/wcscasecmp_l.texi.
50321         * doc/posix-functions/wcscoll_l.texi: Renamed from
50322         doc/glibc-functions/wcscoll_l.texi.
50323         * doc/posix-functions/wcsdup.texi: Renamed from
50324         doc/glibc-functions/wcsdup.texi.
50325         * doc/posix-functions/wcsncasecmp.texi: Renamed from
50326         doc/glibc-functions/wcsncasecmp.texi.
50327         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
50328         doc/glibc-functions/wcsncasecmp_l.texi.
50329         * doc/posix-functions/wcsnlen.texi: Renamed from
50330         doc/glibc-functions/wcsnlen.texi.
50331         * doc/posix-functions/wcsnrtombs.texi: Renamed from
50332         doc/glibc-functions/wcsnrtombs.texi.
50333         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
50334         doc/glibc-functions/wcsxfrm_l.texi.
50335         * doc/posix-functions/wctrans_l.texi: Renamed from
50336         doc/glibc-functions/wctrans_l.texi.
50337         * doc/posix-functions/wctype_l.texi: Renamed from
50338         doc/glibc-functions/wctype_l.texi.
50339         * doc/gnulib.texi (Function Substitutes): Add these subsections.
50340         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
50341         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
50342         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
50343         these subsections.
50344         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
50345         Remove sections.
50346
50347 2008-12-14  Bruno Haible  <bruno@clisp.org>
50348
50349         Update doc for POSIX:2008.
50350         * doc/posix-functions/*.texi: Update URL of POSIX specification.
50351
50352 2008-12-14  Bruno Haible  <bruno@clisp.org>
50353
50354         Update doc for POSIX:2008.
50355         * doc/pastposix-functions/bcmp.texi: Renamed from
50356         doc/posix-functions/bcmp.texi.
50357         * doc/pastposix-functions/bcopy.texi: Renamed from
50358         doc/posix-functions/bcopy.texi.
50359         * doc/pastposix-functions/bsd_signal.texi: Renamed from
50360         doc/posix-functions/bsd_signal.texi.
50361         * doc/pastposix-functions/bzero.texi: Renamed from
50362         doc/posix-functions/bzero.texi.
50363         * doc/pastposix-functions/ecvt.texi: Renamed from
50364         doc/posix-functions/ecvt.texi.
50365         * doc/pastposix-functions/fcvt.texi: Renamed from
50366         doc/posix-functions/fcvt.texi.
50367         * doc/pastposix-functions/ftime.texi: Renamed from
50368         doc/posix-functions/ftime.texi.
50369         * doc/pastposix-functions/gcvt.texi: Renamed from
50370         doc/posix-functions/gcvt.texi.
50371         * doc/pastposix-functions/getcontext.texi: Renamed from
50372         doc/posix-functions/getcontext.texi.
50373         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
50374         doc/posix-functions/gethostbyaddr.texi.
50375         * doc/pastposix-functions/gethostbyname.texi: Renamed from
50376         doc/posix-functions/gethostbyname.texi.
50377         * doc/pastposix-functions/getwd.texi: Renamed from
50378         doc/posix-functions/getwd.texi.
50379         * doc/pastposix-functions/h_errno.texi: Renamed from
50380         doc/posix-functions/h_errno.texi.
50381         * doc/pastposix-functions/index.texi: Renamed from
50382         doc/posix-functions/index.texi.
50383         * doc/pastposix-functions/makecontext.texi: Renamed from
50384         doc/posix-functions/makecontext.texi.
50385         * doc/pastposix-functions/mktemp.texi: Renamed from
50386         doc/posix-functions/mktemp.texi.
50387         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
50388         doc/posix-functions/pthread_attr_getstackaddr.texi.
50389         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
50390         doc/posix-functions/pthread_attr_setstackaddr.texi.
50391         * doc/pastposix-functions/rindex.texi: Renamed from
50392         doc/posix-functions/rindex.texi.
50393         * doc/pastposix-functions/scalb.texi: Renamed from
50394         doc/posix-functions/scalb.texi.
50395         * doc/pastposix-functions/setcontext.texi: Renamed from
50396         doc/posix-functions/setcontext.texi.
50397         * doc/pastposix-functions/swapcontext.texi: Renamed from
50398         doc/posix-functions/swapcontext.texi.
50399         * doc/pastposix-functions/ualarm.texi: Renamed from
50400         doc/posix-functions/ualarm.texi.
50401         * doc/pastposix-functions/usleep.texi: Renamed from
50402         doc/posix-functions/usleep.texi.
50403         * doc/pastposix-functions/vfork.texi: Renamed from
50404         doc/posix-functions/vfork.texi.
50405         * doc/pastposix-functions/wcswcs.texi: Renamed from
50406         doc/posix-functions/wcswcs.texi.
50407         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
50408         (Function Substitutes): Update.
50409
50410 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50411
50412         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
50413         m4/strerror.m4.
50414
50415 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50416             Bruno Haible  <bruno@clisp.org>
50417
50418         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
50419
50420 2008-12-13  Bruno Haible  <bruno@clisp.org>
50421
50422         * modules/strtoull (Depends-on): Remove unistd.
50423
50424 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50425
50426         * modules/strtoull (Depends-on): Add stdlib.
50427
50428 2008-12-11  Simon Josefsson  <simon@josefsson.org>
50429
50430         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
50431
50432 2008-12-10  Jim Meyering  <meyering@redhat.com>
50433
50434         gl_ASSERT: don't say assertions are disabled when they're not
50435         * m4/assert.m4 (gl_ASSERT): Do not make configure report
50436         "checking whether to enable assertions... no", when they are in
50437         fact enabled.  This is solely a bug in the output of configure.
50438         In spite of saying "no", NDEBUG was not defined in that case.
50439         Also, as noted by Eric Blake, leave assertions enabled upon
50440         --enable-assert=INVALID.
50441
50442 2008-12-10  Bruno Haible  <bruno@clisp.org>
50443
50444         Change MODULES.html to refer to POSIX:2008 where possible.
50445         * MODULES.html.sh (POSIX2008_URL): New variable.
50446         (posix_headers): Remove sys/timeb, ucontext.
50447         (posix2001_headers): New variable.
50448         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
50449         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
50450         index, makecontext, mktemp, pthread_attr_getstackaddr,
50451         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
50452         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
50453         (posix2001_functions): New variable.
50454         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
50455         otherwise.
50456
50457 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50458
50459         add missing include to parse-duration.c
50460         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
50461         * modules/parse-duration (Depends-on): Add xalloc.
50462
50463         fix sed script reading maint.mk
50464         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
50465         (syntax-check-rules): Use it.
50466
50467 2008-12-09  Bruno Haible  <bruno@clisp.org>
50468
50469         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
50470         MacOS X 10.4/PowerPC.
50471         Reported by Simon Josefsson.
50472
50473 2008-12-08  Jim Meyering  <meyering@redhat.com>
50474
50475         work around mingw's lack of some S_IF definitions
50476         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
50477         Reported by Simon Josefsson.
50478
50479 2008-12-08  Bruno Haible  <bruno@clisp.org>
50480
50481         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
50482         applied to variables. Needed on MacOS X 10.4/PowerPC.
50483         Reported by Simon Josefsson.
50484
50485 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
50486         and Eric Blake  <ebb9@byu.net>
50487
50488         assert: honor --enable-assert
50489         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
50490         order to honor --enable-assert, rather than treating it as a
50491         synonym for --disable-assert.
50492
50493 2008-12-08  Jim Meyering  <meyering@redhat.com>
50494
50495         * lib/posixtm.c: Remove now-useless declaration of mktime.
50496
50497         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
50498
50499 2008-12-07  Bruno Haible  <bruno@clisp.org>
50500
50501         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
50502         test_once): Mark functions as static.
50503         * tests/test-tls.c (test_tls): Likewise.
50504
50505 2008-12-07  Bruno Haible  <bruno@clisp.org>
50506
50507         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
50508         iconv_register_autodetect.
50509
50510 2008-12-07  Jim Meyering  <meyering@redhat.com>
50511
50512         posixtm.c: avoid a warning
50513         * lib/posixtm.c (posixtime): Don't initialize tm0.
50514         It's no longer needed to placate gcc4's -Wuninitialized,
50515         and the attempt to placate would elicit a new warning.
50516
50517         unicodeio.c: mark unused parameters
50518         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
50519         (fallback_failure_callback): Likewise.
50520
50521 2008-12-07  Bruno Haible  <bruno@clisp.org>
50522
50523         * gnulib-tool (func_create_testdir): When building the tests
50524         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
50525         Reported by Simon Josefsson.
50526
50527 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50528
50529         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
50530
50531 2008-12-06  Bruno Haible  <bruno@clisp.org>
50532
50533         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
50534         Suggested by Eric Blake.
50535
50536 2008-12-06  Bruno Haible  <bruno@clisp.org>
50537
50538         Fix a c-stack test failure on MacOS X.
50539         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
50540         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
50541         handler for SIGBUS as well.
50542         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
50543         install a signal handler for SIGBUS as well.
50544         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
50545
50546 2008-12-06  Bruno Haible  <bruno@clisp.org>
50547
50548         Advocacy documentation.
50549         * doc/gnulib-intro.texi (Benefits): New section.
50550         * doc/gnulib.texi: Update.
50551
50552 2008-12-06  Bruno Haible  <bruno@clisp.org>
50553
50554         Document the 'manywarnings' module.
50555         * doc/manywarnings.texi: New file.
50556         * doc/gnulib.texi: Include it.
50557
50558 2008-12-05  Eric Blake  <ebb9@byu.net>
50559
50560         tests: silence some gcc warnings
50561         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
50562         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
50563         type mismatches.
50564
50565 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50566             Bruno Haible  <bruno@clisp.org>
50567
50568         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
50569
50570 2008-11-29  Jim Meyering  <meyering@redhat.com>
50571
50572         unicodeio.c: mark unused parameters
50573         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
50574         (fallback_failure_callback): Likewise.
50575
50576         fts: fix a thinko
50577         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
50578         (set_stat_type): Return S_IF*-valued "type" directly.
50579         Prompted by James Youngman's spotting a related bug.
50580         Confirmed by further testing through find.
50581
50582         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
50583         * lib/fts.c (D_TYPE): Define.
50584         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
50585         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
50586         (s_ifmt_shift_bits): New function.
50587         (set_stat_type): New function.
50588         (fts_build): When not calling fts_stat, call set_stat_type
50589         to propagate dirent.d_type info to fts_read caller.
50590         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
50591         fts_statp->st_mode type information may be valid.
50592
50593 2008-11-28  Simon Josefsson  <simon@josefsson.org>
50594
50595         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
50596         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
50597         <sds@gnu.org>.
50598
50599 2008-11-20  Bruno Haible  <bruno@clisp.org>
50600
50601         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
50602         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
50603         INCLUDE_NEXT.
50604         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
50605         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
50606         * modules/math (Makefile.am): Substitute
50607         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
50608         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
50609
50610 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
50611             Bruno Haible  <bruno@clisp.org>
50612
50613         * lib/stdint.in.h: Define all type macros so that their expansion is
50614         a single typedef'ed token. Fixes a compilation failure in Boost which
50615         does "using ::int8_t;".
50616
50617 2008-11-18  Simon Josefsson  <simon@josefsson.org>
50618
50619         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
50620         gl_MANYWARN_ALL_GCC.
50621         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
50622         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
50623         * modules/manywarnings: New file.
50624         * MODULES.html.sh: Mention manywarnings module.
50625
50626 2008-11-18  Bruno Haible  <bruno@clisp.org>
50627
50628         * doc/gnulib-tool.texi (Unit tests): New section.
50629
50630 2008-11-18  Simon Josefsson  <simon@josefsson.org>
50631
50632         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
50633         paths like 'lib/po/foo.po'.
50634
50635 2008-11-17  Simon Josefsson  <simon@josefsson.org>
50636
50637         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
50638         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
50639
50640 2008-11-17  Simon Josefsson  <simon@josefsson.org>
50641
50642         * m4/warnings.m4: Use CPPFLAGS to really check whether the
50643         parameter works.
50644
50645 2008-11-17  Simon Josefsson  <simon@josefsson.org>
50646
50647         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
50648
50649 2008-11-17  Bruce Korb  <bkorb@gnu.org>
50650
50651         * modules/parse-duration-tests: New file.
50652         * tests/test-parse-duration.sh: New file.
50653         * tests/test-parse-duration.c: New file.
50654
50655         New module 'parse-duration'.
50656         * lib/parse-duration.h: New file.
50657         * lib/parse-duration.c: New file.
50658         * modules/parse-duration: New file.
50659
50660 2008-11-17  Bruno Haible  <bruno@clisp.org>
50661
50662         * tests/test-select-out.sh: Comment out the first pipe test.
50663         Reported by Simon Josefsson.
50664
50665 2008-11-17  Bruno Haible  <bruno@clisp.org>
50666
50667         * modules/getaddrinfo (Depends-on): Add servent, hostent.
50668         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
50669         gl_HOSTENT.
50670
50671 2008-11-17  Bruno Haible  <bruno@clisp.org>
50672
50673         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
50674         -lnetwork and -lnet. Needed for Haiku and BeOS.
50675
50676 2008-11-16  Bruno Haible  <bruno@clisp.org>
50677
50678         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
50679
50680 2008-11-16  Bruno Haible  <bruno@clisp.org>
50681
50682         Avoid test failure on Haiku.
50683         * tests/test-fsync.c: Include <errno.h>.
50684         (main): Don't require that fsync (0) fails.
50685
50686 2008-11-15  Bruno Haible  <bruno@clisp.org>
50687
50688         New module 'hostent'.
50689         * modules/hostent: New file.
50690         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
50691
50692 2008-11-15  Bruno Haible  <bruno@clisp.org>
50693
50694         New module 'servent'.
50695         * modules/servent: New file.
50696         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
50697
50698 2008-11-15  Bruno Haible  <bruno@clisp.org>
50699
50700         Avoid generating same test program with two different rules.
50701         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
50702         test-frexp to test-frexp-nolibm.
50703         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
50704         test-frexpl to test-frexpl-nolibm.
50705
50706 2008-11-15  Bruno Haible  <bruno@clisp.org>
50707
50708         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
50709         $(FREXPL_LIBM).
50710
50711 2008-11-15  Bruno Haible  <bruno@clisp.org>
50712
50713         * lib/netdb.in.h: Activate the definitions also when the system's
50714         <netdb.h> has 'struct addrinfo'.
50715         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
50716         EAI_OVERFLOW or AI_NUMERICSERV.
50717         * doc/posix-headers/netdb.texi: Document the problem.
50718
50719 2008-11-15  Bruno Haible  <bruno@clisp.org>
50720
50721         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
50722
50723         Make the 'sched' module work on platforms where <sched.h> exists but
50724         is incomplete (such as Haiku).
50725         * lib/sched.in.h; Include the system's <sched.h> if it exists.
50726         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
50727         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
50728         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
50729         HAVE_STRUCT_SCHED_PARAM.
50730         * modules/sched (Depends-on): Add include_next.
50731         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
50732         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
50733         * doc/posix-headers/sched.texi: Document the issue.
50734
50735 2008-11-13  Jim Meyering  <meyering@redhat.com>
50736
50737         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
50738         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
50739         test would fail due to the difference in the Report bugs to ...
50740         line.  The expected address is empty, "<>", while the actual
50741         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
50742
50743 2008-11-12  Bruno Haible  <bruno@clisp.org>
50744
50745         lstat: don't compile lstat.c on systems lacking lstat
50746         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
50747         which don't have lstat; this is handled by lib/sys_stat.in.h already.
50748         Reported by Daniel P. Berrange via Jim Meyering.
50749
50750 2008-11-12  Jim Meyering  <meyering@redhat.com>
50751
50752         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
50753
50754 2008-11-12  Simon Josefsson  <simon@josefsson.org>
50755
50756         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
50757         instead.
50758
50759 2008-11-12  Bruno Haible  <bruno@clisp.org>
50760
50761         * lib/unicodeio.c: Include unistr.h.
50762         (utf8_wctomb): Remove function.
50763         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
50764
50765 2008-11-12  Simon Josefsson  <simon@josefsson.org>
50766
50767         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
50768         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
50769         <bruno@clisp.org>.
50770         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
50771
50772 2008-11-12  Simon Josefsson  <simon@josefsson.org>
50773
50774         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
50775         * doc/gnulib.texi: Add section for warnings.
50776
50777 2008-11-11  Bruno Haible  <bruno@clisp.org>
50778
50779         * lib/sockets.h: Add a comment.
50780
50781 2008-11-11  Karl Berry  <karl@gnu.org>
50782
50783         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
50784
50785 2008-11-11  Eric Blake  <ebb9@byu.net>
50786
50787         fdl.texi: avoid git symlinks
50788         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
50789
50790 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
50791
50792         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
50793
50794 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
50795
50796         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
50797         (gl_WARN_ADD): Substitute $2 if literal.
50798
50799 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
50800
50801         * m4/warning.m4: Remove.
50802
50803 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
50804
50805         * m4/warnings.m4: Almost complete rewrite. :-)
50806
50807 2008-11-10  Simon Josefsson  <simon@josefsson.org>
50808
50809         * modules/warnings: New module.
50810         * m4/warnings.m4: New file.
50811         * MODULES.html.sh: Mention warnings module.
50812         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
50813         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
50814
50815 2008-11-10  Eric Blake  <ebb9@byu.net>
50816
50817         fdl.texi: make a symlink to the latest version
50818         * doc/standards.texi: Revert today's earlier change.
50819         * doc/fdl-1.2.texi: Rename from old fdl.texi...
50820         * doc/fdl.texi: ...and replace this with a symlink to the newer
50821         fdl-1.3.texi.
50822
50823 2008-11-10  Bruno Haible  <bruno@clisp.org>
50824
50825         * tests/test-select-fd.c (main): Accept the result file name as fourth
50826         argument.
50827         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
50828         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
50829
50830 2008-11-10  Bruno Haible  <bruno@clisp.org>
50831
50832         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
50833         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
50834         as autoconf-substituted macros.
50835         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
50836         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
50837         gl_NETDB_H_DEFAULTS. Set these variables.
50838         * modules/netdb (Makefile.am): Substitute these variables.
50839
50840 2008-11-10  Eric Blake  <ebb9@byu.net>
50841
50842         standards.texi: include correct file for FDL 1.3
50843         * doc/standards.texi (GNU Free Documentation License): Change
50844         include file to pull in FDL 1.3, not 1.2.
50845
50846         fdl.texi: revert accidental change to license
50847         * doc/fdl.texi: This is FDL 1.2, not 1.3.
50848
50849 2008-11-10  Bruno Haible  <bruno@clisp.org>
50850
50851         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
50852         cross-compiling guesses also when the native compile gives no result.
50853
50854 2008-11-10  Bruno Haible  <bruno@clisp.org>
50855
50856         * lib/spawni.c (__spawni): Force variable into the stack.
50857
50858 2008-11-10  Bruno Haible  <bruno@clisp.org>
50859
50860         Add support for Haiku.
50861         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
50862         glibc and BeOS, but also on Haiku.
50863         * lib/fpurge.c (fpurge): Likewise.
50864         * lib/freadable.c (freadable): Likewise.
50865         * lib/freadahead.c (freadahead): Likewise.
50866         * lib/freading.c (freading): Likewise.
50867         * lib/freadptr.c (freadptr): Likewise.
50868         * lib/freadseek.c (freadptrinc): Likewise.
50869         * lib/fseeko.c (rpl_fseeko): Likewise.
50870         * lib/fseterr.c (fseterr): Likewise.
50871         * lib/fwritable.c (fwritable): Likewise.
50872         * lib/fwriting.c (fwriting): Likewise.
50873         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
50874
50875 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
50876
50877         * lib/config.charset: Treat Haiku like BeOS.
50878
50879 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
50880
50881         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
50882         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
50883
50884 2008-11-08  Bruno Haible  <bruno@clisp.org>
50885
50886         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
50887         AC_CACHE_CHECK.
50888
50889 2008-11-08  Bruno Haible  <bruno@clisp.org>
50890
50891         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
50892
50893 2008-11-08  Bruno Haible  <bruno@clisp.org>
50894
50895         * tests/test-select-fd.c: New file.
50896         * tests/test-select-in.sh: New file.
50897         * tests/test-select-out.sh: New file.
50898         * tests/test-select-stdin.c: New file.
50899         * modules/select-tests (Files): Add the new files.
50900         (Depends-on): Add gettimeofday.
50901         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
50902         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
50903         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
50904
50905 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
50906             Bruno Haible  <bruno@clisp.org>
50907
50908         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
50909
50910 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
50911
50912         * build-aux/pmccabe2html: Added support for C++ source files.
50913
50914 2008-11-05  Ben Pfaff  <blp@gnu.org>
50915
50916         Fix lib/close.c build on Windows.
50917         * modules/close (Files): Add lib/w32sock.h.
50918
50919 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
50920
50921         Accept Bison's NEWS format.
50922         * build-aux/announce-gen (print_news_deltas): Tweak
50923         $re_prefix.
50924
50925 2008-11-04  Bruno Haible  <bruno@clisp.org>
50926
50927         * modules/random_r (Maintainer): Add glibc.
50928
50929 2008-11-04  Simon Josefsson  <simon@josefsson.org>
50930
50931         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
50932         by karl@freefriends.org (Karl Berry).
50933         * doc/alloca.texi: Likewise.
50934         * doc/c-ctype.texi: Likewise.
50935         * doc/c-strcase.texi: Likewise.
50936         * doc/c-strcaseeq.texi: Likewise.
50937         * doc/c-strcasestr.texi: Likewise.
50938         * doc/c-strstr.texi: Likewise.
50939         * doc/c-strtod.texi: Likewise.
50940         * doc/c-strtold.texi: Likewise.
50941         * doc/ctime.texi: Likewise.
50942         * doc/error.texi: Likewise.
50943         * doc/fdl.texi: Likewise.
50944         * doc/gcd.texi: Likewise.
50945         * doc/getdate.texi: Likewise.
50946         * doc/gnulib-intro.texi: Likewise.
50947         * doc/gnulib-tool.texi: Likewise.
50948         * doc/gnulib.texi: Likewise.
50949         * doc/inet_ntoa.texi: Likewise.
50950         * doc/maintain.texi: Likewise.
50951         * doc/make-stds.texi: Likewise.
50952         * doc/quote.texi: Likewise.
50953         * doc/regexprops-generic.texi: Likewise.
50954         * doc/standards.texi: Likewise.
50955         * doc/verify.texi: Likewise.
50956         * doc/visibility.texi: Likewise.
50957         * doc/gnulib.texi (GNU Free Documentation License): Include
50958         fdl-1.3.texi instead of fdl.texi.
50959
50960 2008-11-04  Simon Josefsson  <simon@josefsson.org>
50961
50962         * doc/fdl-1.3.texi: New file, from
50963         <http://www.gnu.org/licenses/fdl-1.3.texi>.
50964         * modules/fdl-1.3: Add.
50965         * MODULES.html.sh: Add fdl-1.3.
50966
50967 2008-11-03  Bruno Haible  <bruno@clisp.org>
50968
50969         Make determination of absolute name of header file work with AIX xlc.
50970         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
50971         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
50972         preprocessing.
50973         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
50974         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
50975
50976 2008-11-03  Simon Josefsson  <simon@josefsson.org>
50977
50978         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
50979         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
50980         <ludo@gnu.org>.
50981
50982 2008-11-02  Bruno Haible  <bruno@clisp.org>
50983
50984         Mark 'strpbrk' obsolete.
50985         * modules/strpbrk (Status, Notice): New sections.
50986         * modules/strtok_r (Depends-on): Add strpbrk.
50987
50988 2008-11-02  Bruno Haible  <bruno@clisp.org>
50989
50990         Mark 'strdup' obsolete.
50991         * modules/strdup (Status, Notice): New sections.
50992         * modules/findprog (Depends-on): Add strdup.
50993         * modules/getaddrinfo (Depends-on): Likewise.
50994         * modules/localename (Depends-on): Likewise.
50995         * modules/relocatable-lib (Depends-on): Likewise.
50996         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
50997         * modules/relocatable-prog (Depends-on): Likewise.
50998         * modules/trim (Depends-on): Likewise.
50999         * modules/unictype/gen-ctype (Depends-on): Likewise.
51000         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
51001
51002 2008-11-02  Bruno Haible  <bruno@clisp.org>
51003
51004         Mark 'strcspn' obsolete.
51005         * modules/strcspn (Status, Notice): New sections.
51006
51007 2008-11-02  Bruno Haible  <bruno@clisp.org>
51008
51009         Mark 'rmdir' obsolete.
51010         * modules/rmdir (Status, Notice): New sections.
51011         * modules/clean-temp (Depends-on): Add rmdir.
51012         * modules/openat (Depends-on): Likewise.
51013
51014 2008-11-02  Bruno Haible  <bruno@clisp.org>
51015
51016         Mark 'raise' obsolete.
51017         * modules/raise (Status, Notice): New sections.
51018         (Include): Specify <signal.h>.
51019         * modules/stdio (Depends-on): Add raise.
51020         * modules/write (Depends-on): Likewise.
51021
51022 2008-11-02  Bruno Haible  <bruno@clisp.org>
51023
51024         Mark 'memset' obsolete.
51025         * modules/memset (Status, Notice): New sections.
51026
51027 2008-11-02  Bruno Haible  <bruno@clisp.org>
51028
51029         Mark 'memmove' obsolete.
51030         * modules/memmove (Status, Notice): New sections.
51031         * modules/argp (Depends-on): Add memmove.
51032         * modules/argz (Depends-on): Likewise.
51033         * modules/canonicalize (Depends-on): Likewise.
51034         * modules/canonicalize-lgpl (Depends-on): Likewise.
51035         * modules/fts (Depends-on): Likewise.
51036         * modules/getcwd (Depends-on): Likewise.
51037         * modules/human (Depends-on): Likewise.
51038         * modules/regex (Depends-on): Likewise.
51039         * modules/striconveh (Depends-on): Likewise.
51040         * modules/trim (Depends-on): Likewise.
51041         * modules/unistr/u8-move (Depends-on): Likewise.
51042         * modules/unistr/u16-move (Depends-on): Likewise.
51043         * modules/unistr/u32-move (Depends-on): Likewise.
51044
51045 2008-11-02  Bruno Haible  <bruno@clisp.org>
51046
51047         Mark 'memcpy' obsolete.
51048         * modules/memcpy (Status, Notice): New sections.
51049
51050 2008-11-02  Bruno Haible  <bruno@clisp.org>
51051
51052         Mark 'memcmp' obsolete.
51053         * modules/memcmp (Status, Notice): New sections.
51054         * modules/argmatch (Depends-on): Add memchr.
51055         * modules/backupfile (Depends-on): Likewise.
51056         * modules/c-strcasestr (Depends-on): Likewise.
51057         * modules/crypto/des (Depends-on): Likewise.
51058         * modules/csharpcomp (Depends-on): Likewise.
51059         * modules/fnmatch (Depends-on): Likewise.
51060         * modules/git-merge-changelog (Depends-on): Likewise.
51061         * modules/isnand (Depends-on): Likewise.
51062         * modules/isnand-nolibm (Depends-on): Likewise.
51063         * modules/isnanf (Depends-on): Likewise.
51064         * modules/isnanf-nolibm (Depends-on): Likewise.
51065         * modules/isnanl (Depends-on): Likewise.
51066         * modules/isnanl-nolibm (Depends-on): Likewise.
51067         * modules/mbchar (Depends-on): Likewise.
51068         * modules/memcoll (Depends-on): Likewise.
51069         * modules/quotearg (Depends-on): Likewise.
51070         * modules/regex (Depends-on): Likewise.
51071         * modules/relocatable-prog (Depends-on): Likewise.
51072         * modules/same (Depends-on): Likewise.
51073         * modules/signbit (Depends-on): Likewise.
51074         * modules/strcasestr-simple (Depends-on): Likewise.
51075         * modules/unictype/gen-ctype (Depends-on): Likewise.
51076         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
51077         * modules/uniname/uniname (Depends-on): Likewise.
51078         * modules/unistr/u8-cmp (Depends-on): Likewise.
51079
51080 2008-11-02  Bruno Haible  <bruno@clisp.org>
51081
51082         Mark 'memchr' obsolete.
51083         * modules/memchr (Status, Notice): New sections.
51084         * modules/argp (Depends-on): Add memchr.
51085         * modules/base64 (Depends-on): Likewise.
51086         * modules/c-strcasestr (Depends-on): Likewise.
51087         * modules/chdir-long (Depends-on): Likewise.
51088         * modules/fnmatch (Depends-on): Likewise.
51089         * modules/getsubopt (Depends-on): Likewise.
51090         * modules/git-merge-changelog (Depends-on): Likewise.
51091         * modules/glob (Depends-on): Likewise.
51092         * modules/strcasestr-simple (Depends-on): Likewise.
51093         * modules/strnlen (Depends-on): Likewise.
51094
51095 2008-11-02  Bruno Haible  <bruno@clisp.org>
51096
51097         Mark 'atexit' obsolete.
51098         * modules/atexit (Status, Notice): New sections.
51099         * modules/chdir-long (Depends-on): Add atexit.
51100         * modules/wait-process (Depends-on): Likewise.
51101
51102 2008-11-02  Bruno Haible  <bruno@clisp.org>
51103
51104         * gnulib-tool: New option --with-obsolete.
51105         (func_usage): Document it.
51106         (func_modules_transitive_closure): Drop obsolete dependencies if
51107         incobsolete is not true.
51108         (func_import): Read and save the incobsolete variable to the cache.
51109
51110 2008-11-02  Bruno Haible  <bruno@clisp.org>
51111
51112         * modules/TEMPLATE-EXTENDED: New field 'Status'.
51113         * gnulib-tool: New option --extract-status.
51114         (func_usage): Document it.
51115         (sed_extract_prog): Recognize it.
51116         (func_get_status): New function.
51117
51118 2008-10-30  Simon Josefsson  <simon@josefsson.org>
51119
51120         * modules/sockets (License): Change from LGPL to LGPLv2+.
51121
51122 2008-10-28  Simon Josefsson  <simon@josefsson.org>
51123
51124         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
51125
51126 2008-10-28  Simon Josefsson  <simon@josefsson.org>
51127
51128         * MODULES.html.sh (Support for systems lacking POSIX:2001):
51129         Mention times and sys_times.
51130         * modules/sys_times, modules/sys_times-tests: New modules.
51131         * modules/times, modules/times-tests: Likewise
51132         * m4/sys_times_h.m4: New file.
51133         * lib/sys_times.in.h: Likewise
51134         * lib/times.c: Likewise.
51135         * tests/test-sys_times.c: Likewise.
51136         * tests/test-times.c: Likewise.
51137         * doc/posix-headers/sys_times.texi: Update.
51138         * doc/posix-functions/times.texi: Update.
51139
51140 2008-10-28  Jim Meyering  <meyering@redhat.com>
51141
51142         * modules/tempname (Depends-on): Add lstat.
51143
51144         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
51145
51146 2008-10-28  Simon Josefsson  <simon@josefsson.org>
51147
51148         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
51149         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
51150         using idiom used elsewhere in gnulib.
51151
51152 2008-10-27  Jim Meyering  <meyering@redhat.com>
51153
51154         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
51155
51156 2008-10-27  Simon Josefsson  <simon@josefsson.org>
51157
51158         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
51159         TESTS_ENVIRONMENT, for shell scripts that needs to call built
51160         programs.
51161         * tests/test-argp-2.sh: Use $EXEEXT when needed.
51162
51163 2008-10-27  Simon Josefsson  <simon@josefsson.org>
51164
51165         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
51166
51167 2008-10-27  Bruno Haible  <bruno@clisp.org>
51168
51169         * tests/test-lstat.c: Include <stdio.h>.
51170
51171 2008-10-27  Simon Josefsson  <simon@josefsson.org>
51172
51173         * modules/lstat-tests: New module.
51174         * tests/test-lstat.c: New file.
51175
51176 2008-10-26  Jim Meyering  <meyering@redhat.com>
51177
51178         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
51179
51180 2008-10-26  Simon Josefsson  <simon@josefsson.org>
51181             Bruno Haible  <bruno@clisp.org>
51182
51183         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
51184         * modules/configmake (Include): Add a note that the include must come
51185         after all system headers.
51186         * lib/javaversion.c: Include configmake.h after all other includes.
51187
51188 2008-10-26  Bruno Haible  <bruno@clisp.org>
51189
51190         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
51191         HAVE_STRUCT_RANDOM_DATA to 1.
51192         (gl_STDLIB_H): Simplify.
51193
51194 2008-10-26  Simon Josefsson  <simon@josefsson.org>
51195
51196         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
51197         substitute HAVE_STRUCT_RANDOM_DATA.
51198         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
51199         random_data.
51200         * modules/stdlib (Makefile.am): Substitute
51201         HAVE_STRUCT_RANDOM_DATA.
51202
51203 2008-10-26  Simon Josefsson  <simon@josefsson.org>
51204
51205         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
51206         * doc/gnulib-intro.texi (Copyright): Likewise.
51207
51208 2008-10-26  Simon Josefsson  <simon@josefsson.org>
51209
51210         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
51211         findings.
51212
51213 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
51214             Bruno Haible  <bruno@clisp.org>
51215
51216         * lib/unistd.in.h: Include <winsock2.h>.
51217         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
51218         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
51219         Provide dummy declarations.
51220         (gethostname): Override.
51221         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
51222         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
51223         gl_PREREQ_SYS_H_WINSOCK2.
51224         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
51225         * doc/posix-functions/gethostname.texi: More details.
51226
51227 2008-10-25  Bruno Haible  <bruno@clisp.org>
51228
51229         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
51230         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
51231         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
51232
51233         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
51234         here ...
51235         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
51236         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
51237         gl_UNISTD_H_DEFAULTS.
51238
51239 2008-10-25  Eric Blake  <ebb9@byu.net>
51240
51241         signbit: avoid spurious compiler failure
51242         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
51243         declarations inside function.
51244
51245 2008-10-24  Simon Josefsson  <simon@josefsson.org>
51246             Bruno Haible  <bruno@clisp.org>
51247
51248         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
51249         * modules/random_r (Depends-on): Add stdint.
51250
51251 2008-10-24  Bruno Haible  <bruno@clisp.org>
51252
51253         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
51254         Eggert.
51255         * modules/strerror (License): Likewise.
51256
51257 2008-10-24  Jim Meyering  <meyering@redhat.com>
51258
51259         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
51260         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
51261
51262 2008-10-24  Eric Blake  <ebb9@byu.net>
51263
51264         getgroups: fix compilation when getgroups is available
51265         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
51266         but with <config.h> override of getgroups disabled.
51267
51268 2008-10-24  Simon Josefsson  <simon@josefsson.org>
51269
51270         * doc/gnulib.texi (Header files): Add note about C++ problems.
51271         Explained by Bruno Haible <bruno@clisp.org>.
51272
51273 2008-10-23  Bruno Haible  <bruno@clisp.org>
51274
51275         Define a dummy SA_NODEFER macro on Interix.
51276         * lib/signal.in.h (SA_NODEFER): Define fallback.
51277         Reported by Aleksey Cheusov <cheusov@tut.by> via
51278         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
51279
51280 2008-10-23  Bruno Haible  <bruno@clisp.org>
51281
51282         * modules/freadahead (License): Change to LGPLv2+.
51283         Suggested by Simon Josefsson.
51284
51285 2008-10-23  Jim Meyering  <meyering@redhat.com>
51286
51287         random_r: new module
51288         * modules/random_r: New file.
51289         * m4/random_r.m4: New file.
51290         * lib/random_r.c: New file, from glibc.
51291         * modules/random_r-tests: New file.
51292         * tests/test-random_r.c: New file.
51293         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
51294          Declare.
51295         (RAND_MAX): Define.
51296         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
51297         * modules/stdlib: Substitute them, too.
51298         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
51299         * doc/glibc-functions/initstate_r.texi: Mention the new module.
51300         * doc/glibc-functions/random_r.texi: Likewise.
51301         * doc/glibc-functions/setstate_r.texi: Likewise.
51302         * doc/glibc-functions/srandom_r.texi: Likewise.
51303         * config/srclist.txt: Mention it.
51304
51305 2008-10-23  David Lutterkort  <lutter@redhat.com>
51306
51307         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
51308         link requirement
51309
51310 2008-10-23  Jim Meyering  <meyering@redhat.com>
51311
51312         selinux-h: mark parameters of stub functions as intentionally unused
51313         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
51314         * lib/se-context.in.h: Likewise.
51315
51316 2008-10-22  Simon Josefsson  <simon@josefsson.org>
51317
51318         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
51319
51320 2008-10-22  Simon Josefsson  <simon@josefsson.org>
51321
51322         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
51323
51324 2008-10-22  Eric Blake  <ebb9@byu.net>
51325
51326         glthread/thread: avoid compiler warning
51327         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
51328         Add unreachable abort to silence compiler.
51329
51330 2008-10-22  Eric Blake  <ebb9@byu.net>
51331
51332         netdb: also supply struct addrinfo for cygwin 1.5.x
51333         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
51334         older cygwin.
51335         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
51336         cygwin.
51337         * doc/posix-headers/netdb.texi (netdb.h): Document this.
51338
51339 2008-10-22  Bruno Haible  <bruno@clisp.org>
51340
51341         * users.txt: Update entry about pspp.
51342
51343 2008-10-21  Bruno Haible  <bruno@clisp.org>
51344
51345         Simplification.
51346         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
51347         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
51348
51349         Simplification.
51350         * lib/ioctl.c (ioctl): Don't undefine.
51351         * lib/socket.c (socket): Don't undefine.
51352
51353         Remove unused module indicator macros.
51354         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
51355         GNULIB_$1 as a C macro.
51356
51357         * doc/posix-functions/close.texi: Undo last change.
51358         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
51359         Windows platforms.
51360
51361 2008-10-21  Bruno Haible  <bruno@clisp.org>
51362
51363         Add gethostname() declaration to <unistd.h>.
51364         * lib/unistd.in.h (gethostname): New declaration.
51365         * lib/gethostname.c: Include <unistd.h>.
51366         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
51367         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
51368         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
51369         and HAVE_GETHOSTNAME.
51370         * modules/gethostname (Depends-on): Add unistd.
51371         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51372         (Include): Specify <unistd.h>.
51373         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
51374         HAVE_GETHOSTNAME.
51375         * tests/test-gethostname.c: Include <unistd.h> first.
51376
51377 2008-10-21  Bruno Haible  <bruno@clisp.org>
51378
51379         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
51380         * modules/select-tests (Depends-on): Likewise.
51381         Reported by Simon Josefsson.
51382
51383 2008-10-21  Simon Josefsson  <simon@josefsson.org>
51384
51385         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
51386         * lib/accept.c: New file, based on winsock.c.
51387         * lib/bind.c: New file, based on winsock.c.
51388         * lib/connect.c: New file, based on winsock.c.
51389         * lib/getpeername.c: New file, based on winsock.c.
51390         * lib/getsockname.c: New file, based on winsock.c.
51391         * lib/getsockopt.c: New file, based on winsock.c.
51392         * lib/ioctl.c: New file, based on winsock.c.
51393         * lib/listen.c: New file, based on winsock.c.
51394         * lib/recv.c: New file, based on winsock.c.
51395         * lib/recvfrom.c: New file, based on winsock.c.
51396         * lib/send.c: New file, based on winsock.c.
51397         * lib/sendto.c: New file, based on winsock.c.
51398         * lib/setsockopt.c: New file, based on winsock.c.
51399         * lib/shutdown.c: New file, based on winsock.c.
51400         * lib/socket.c: New file, based on winsock.c.
51401         * lib/w32sock.h: New file, based on winsock.c.
51402         * lib/winsock.c: Remove file.
51403         * modules/accept: Likewise.
51404         * modules/bind: Likewise.
51405         * modules/connect: Likewise.
51406         * modules/getpeername: Likewise.
51407         * modules/getsockname: Likewise.
51408         * modules/getsockopt: Likewise.
51409         * modules/ioctl: Likewise.
51410         * modules/listen: Likewise.
51411         * modules/recv: Likewise.
51412         * modules/recvfrom: Likewise.
51413         * modules/send: Likewise.
51414         * modules/sendto: Likewise.
51415         * modules/setsockopt: Likewise.
51416         * modules/shutdown: Likewise.
51417         * modules/socket: Use socket.c instead of winsock.c.
51418         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
51419         * doc/posix-functions/accept.texi: Doc fix.
51420         * doc/posix-functions/bind.texi: Doc fix.
51421         * doc/posix-functions/close.texi: Doc fix.
51422         * doc/posix-functions/connect.texi: Doc fix.
51423         * doc/posix-functions/getpeername.texi: Doc fix.
51424         * doc/posix-functions/getsockname.texi: Doc fix.
51425         * doc/posix-functions/getsockopt.texi: Doc fix.
51426         * doc/posix-functions/ioctl.texi: Doc fix.
51427         * doc/posix-functions/listen.texi: Doc fix.
51428         * doc/posix-functions/recv.texi: Doc fix.
51429         * doc/posix-functions/recvfrom.texi: Doc fix.
51430         * doc/posix-functions/send.texi: Doc fix.
51431         * doc/posix-functions/sendto.texi: Doc fix.
51432         * doc/posix-functions/setsockopt.texi: Doc fix.
51433         * doc/posix-functions/shutdown.texi: Doc fix.
51434         * doc/posix-functions/socket.texi: Doc fix.
51435
51436 2008-10-20  Bruno Haible  <bruno@clisp.org>
51437
51438         Take into account the role of SIGABRT_COMPAT on Windows 2008.
51439         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
51440         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
51441         as an alias for SIGABRT.
51442         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
51443         (sigaction): Map it to SIGABRT.
51444         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
51445
51446 2008-10-20  Bruno Haible  <bruno@clisp.org>
51447
51448         * lib/fts.c: Don't include lstat.h.
51449         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
51450
51451         Move the lstat() declaration to <sys/stat.h>.
51452         * lib/lstat.h: Remove file.
51453         * lib/sys_stat.in.h: Add special invocation convention.
51454         (lstat): New declaration.
51455         * lib/lstat.c (orig_lstat): New function.
51456         (rpl_lstat): Use orig_lstat instead of lstat.
51457         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
51458         AC_C_INLINE. Set REPLACE_LSTAT.
51459         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
51460         and REPLACE_LSTAT.
51461         * modules/lstat (Files): Remove lib/lstat.h.
51462         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
51463         (Include): Specify <sys/stat.h> instead of lstat.h.
51464         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
51465         REPLACE_LSTAT.
51466         * NEWS: Mention the change.
51467
51468 2008-10-20  Bruno Haible  <bruno@clisp.org>
51469
51470         * modules/posix_spawn-tests: New file.
51471         * tests/test-posix_spawn3.c: New file.
51472
51473 2008-10-20  Bruno Haible  <bruno@clisp.org>
51474
51475         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
51476         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
51477         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
51478         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
51479         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
51480
51481 2008-10-20  Bruno Haible  <bruno@clisp.org>
51482
51483         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
51484         of posix_spawn on AIX 5.3.
51485
51486 2008-10-20  Bruno Haible  <bruno@clisp.org>
51487
51488         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
51489
51490 2008-10-20  Bruno Haible  <bruno@clisp.org>
51491
51492         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
51493         of AC_LANG_PROGRAM.
51494
51495 2008-10-20  Simon Josefsson  <simon@josefsson.org>
51496
51497         * lib/netdb.in.h: Don't define GNU specific constants until they
51498         are supported or needed.  Reported by Bruno Haible
51499         <bruno@clisp.org>.
51500
51501 2008-10-20  Simon Josefsson  <simon@josefsson.org>
51502
51503         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
51504
51505 2008-10-20  Simon Josefsson  <simon@josefsson.org>
51506
51507         * lib/getaddrinfo.h: Remove file.
51508         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
51509         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
51510         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
51511         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
51512         * modules/netdb: Substitute GNULIB_GETADDRINFO.
51513         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
51514         * tests/test-getaddrinfo.c: Likewise.
51515         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
51516         * NEWS: Mention change.
51517
51518 2008-10-19  Bruno Haible  <bruno@clisp.org>
51519
51520         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
51521
51522 2008-10-19  Bruno Haible  <bruno@clisp.org>
51523
51524         * lib/wait-process.c: Include simply <sys/wait.h>.
51525         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
51526         WIFSTOPPED): Remove fallback definitions.
51527         * modules/wait-process (Depends-on): Add sys_wait.
51528
51529         New module 'sys_wait'.
51530         * modules/sys_wait: New file.
51531         * lib/sys_wait.in.h: New file, partially copied from
51532         lib/wait-process.c.
51533         * m4/sys_wait_h.m4: New file.
51534         * doc/posix-headers/sys_wait.texi: Mention the new module.
51535
51536 2008-10-19  Bruno Haible  <bruno@clisp.org>
51537
51538         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
51539
51540 2008-10-19  Bruno Haible  <bruno@clisp.org>
51541
51542         Assume that waitpid() fills an 'int' status, not a 'union wait'.
51543         * lib/wait-process.c (WAIT_T): Remove type.
51544         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
51545         (wait_subprocess): Update.
51546
51547 2008-10-19  Bruno Haible  <bruno@clisp.org>
51548
51549         New module 'atoll'.
51550         * modules/atoll: New file.
51551         * lib/stdlib.in.h (atoll): New declaration.
51552         * lib/atoll.c: New file, from glibc with modifications.
51553         * m4/atoll.m4: New file.
51554         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
51555         HAVE_ATOLL.
51556         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
51557         * doc/posix-functions/atoll.texi: Mention the new module.
51558
51559 2008-10-19  Bruno Haible  <bruno@clisp.org>
51560
51561         Add strtoull() declaration to <stdlib.h>.
51562         * lib/stdlib.in.h (strtoull): New declaration.
51563         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
51564         Set HAVE_STRTOULL.
51565         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
51566         HAVE_STRTOULL.
51567         * modules/strtoull (Depends-on): Add stdlib.
51568         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
51569         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
51570         HAVE_STRTOULL.
51571
51572 2008-10-19  Bruno Haible  <bruno@clisp.org>
51573
51574         Add strtoll() declaration to <stdlib.h>.
51575         * lib/stdlib.in.h (strtoll): New declaration.
51576         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
51577         Set HAVE_STRTOLL.
51578         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
51579         HAVE_STRTOLL.
51580         * modules/strtoll (Depends-on): Add stdlib.
51581         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
51582         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
51583
51584 2008-10-19  Bruno Haible  <bruno@clisp.org>
51585
51586         * modules/bcopy (Depends-on): Add strings.
51587         (Include): Specify <strings.h>.
51588
51589 2008-10-19  Bruno Haible  <bruno@clisp.org>
51590
51591         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
51592
51593 2008-10-19  Bruno Haible  <bruno@clisp.org>
51594
51595         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
51596         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
51597         mingw.
51598
51599 2008-10-19  Bruno Haible  <bruno@clisp.org>
51600
51601         * lib/atanl.c: Don't include isnanl.h.
51602         * lib/cosl.c: Likewise.
51603         * lib/ldexpl.c: Likewise.
51604         * lib/logl.c: Likewise.
51605         * lib/sinl.c: Likewise.
51606         * lib/sqrtl.c: Likewise.
51607         * lib/tanl.c: Likewise.
51608
51609         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
51610         * lib/isnanf.h: Remove file.
51611         * lib/isnand.h: Remove file.
51612         * lib/isnanl.h: Remove file.
51613         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
51614         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
51615         macros.
51616         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
51617         HAVE_ISNANF, don't define it as a C macro.
51618         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
51619         HAVE_ISNAND, don't define it as a C macro.
51620         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
51621         HAVE_ISNANL, don't define it as a C macro.
51622         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
51623         HAVE_ISNAN[FDL].
51624         * modules/isnanf (Files): Remove lib/isnanf.h.
51625         (Depends-on): Add math.
51626         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
51627         (Include): Specify <math.h> instead of isnanf.h.
51628         * modules/isnand (Files): Remove lib/isnand.h.
51629         (Depends-on): Add math.
51630         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
51631         (Include): Specify <math.h> instead of isnand.h.
51632         * modules/isnanl (Files): Remove lib/isnanl.h.
51633         (Depends-on): Add math.
51634         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
51635         (Include): Specify <math.h> instead of isnanl.h.
51636         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
51637         HAVE_ISNAN[FDL].
51638         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
51639         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
51640         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
51641         * NEWS: Mention the change.
51642
51643 2008-10-18  Bruno Haible  <bruno@clisp.org>
51644
51645         Add getusershell(), setusershell(), endusershell() declarations to
51646         <unistd.h>.
51647         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
51648         declarations.
51649         * lib/getusershell.c: Include unistd.h.
51650         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
51651         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
51652         HAVE_GETUSERSHELL.
51653         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
51654         and HAVE_GETUSERSHELL.
51655         * modules/getusershell (Depends-on): Add unistd, extensions.
51656         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51657         (Include): Specify <unistd.h>.
51658         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
51659         HAVE_GETUSERSHELL.
51660
51661 2008-10-18  Bruno Haible  <bruno@clisp.org>
51662
51663         Add a getloadavg() declaration to <stdlib.h>.
51664         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
51665         getloadavg declaration.
51666         (getloadavg): New declaration.
51667         * lib/getloadavg.c: Include <stdlib.h> first.
51668         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
51669         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
51670         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
51671         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
51672         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
51673         * modules/getloadavg (Depends-on): Add stdlib, extensions.
51674         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
51675         (Include): Specify <stdlib.h>.
51676         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
51677         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
51678
51679 2008-10-18  Bruno Haible  <bruno@clisp.org>
51680
51681         * lib/dirchownmod.c: Don't include lchmod.h.
51682
51683         Move the lchmod() declaration to <sys/stat.h>.
51684         * lib/lchmod.h: Remove file.
51685         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
51686         (lchmod): New declaration, moved here from lib/lchown.h.
51687         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
51688         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
51689         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
51690         and HAVE_LCHMOD.
51691         * modules/lchmod (Files): Remove lib/lchmod.h.
51692         (Depends-on): Add sys_stat, extensions.
51693         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
51694         (Include): Specify <sys/stat.h> instead of lchmod.h.
51695         * modules/sys_stat (Depends-on): Add link-warning.
51696         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
51697         definition of GL_LINK_WARNING.
51698         * NEWS: Mention the change.
51699
51700 2008-10-18  Bruno Haible  <bruno@clisp.org>
51701
51702         * lib/fchdir.c: Don't include dirfd.h.
51703         * lib/fts.c: Likewise.
51704         * lib/getcwd.c: Likewise.
51705         * lib/glob.c: Likewise.
51706
51707         Move the dirfd() declaration to <dirent.h>.
51708         * lib/dirfd.h: Remove file.
51709         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
51710         (dirfd): New declaration.
51711         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
51712         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
51713         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
51714         HAVE_DECL_DIRFD.
51715         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
51716         HAVE_DECL_DIRFD.
51717         * modules/dirfd (Files): Remove lib/dirfd.h.
51718         (Depends-on): Add dirent, extensions.
51719         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
51720         (Include): Specify <dirent.h> instead of dirfd.h.
51721         * modules/dirent (Depends-on): Add link-warning.
51722         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
51723         definition of GL_LINK_WARNING.
51724         * NEWS: Mention the change.
51725
51726 2008-10-18  Bruno Haible  <bruno@clisp.org>
51727
51728         Move the euidaccess() declaration to <unistd.h>.
51729         * lib/euidaccess.h: Remove file.
51730         * lib/unistd.in.h (euidaccess): New declaration.
51731         * lib/euidaccess.c: Don't include euidaccess.h.
51732         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
51733         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
51734         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
51735         and HAVE_EUIDACCESS.
51736         * modules/euidaccess (Files): Remove lib/euidaccess.h.
51737         (Depends-on): Add unistd.
51738         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51739         (Include): Specify <unistd.h> instead of euidaccess.h.
51740         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
51741         HAVE_EUIDACCESS.
51742         * NEWS: Mention the change.
51743
51744 2008-10-18  Bruno Haible  <bruno@clisp.org>
51745
51746         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
51747
51748         Move the getdomainname() declaration to <unistd.h>.
51749         * lib/getdomainname.h: Remove file.
51750         * lib/unistd.in.h (getdomainname): New declaration.
51751         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
51752         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
51753         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
51754         HAVE_GETDOMAINNAME.
51755         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
51756         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
51757         * modules/getdomainname (Files): Remove lib/getdomainname.h.
51758         (Depends-on): Add unistd, extensions.
51759         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51760         (Includes): Specify <unistd.h> instead of getdomainname.h.
51761         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
51762         HAVE_GETDOMAINNAME.
51763         * NEWS: Mention the change.
51764
51765 2008-10-18  Bruno Haible  <bruno@clisp.org>
51766
51767         * modules/dirent: New file.
51768         * m4/dirent_h.m4: New file.
51769         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
51770         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
51771         * modules/fchdir (Files): Remove lib/dirent.in.h.
51772         (Depends-on): Add dirent.
51773         (Makefile.am): Move rules to modules/dirent.
51774         * doc/posix-headers/dirent.texi: Mention the new module.
51775
51776 2008-10-18  Bruno Haible  <bruno@clisp.org>
51777
51778         Avoid -Wunused-parameter warnings in public gnulib header files.
51779         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
51780         macro.
51781         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
51782
51783 2008-10-18  Bruno Haible  <bruno@clisp.org>
51784
51785         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
51786         * doc/glibc-functions/error.texi: Mention the module 'error'.
51787         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
51788         * doc/glibc-functions/getdomainname.texi: Mention the module
51789         'getdomainname'.
51790         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
51791         * doc/glibc-functions/getpagesize.texi: Mention the module
51792         'getpagesize'.
51793         * doc/glibc-functions/getusershell.texi: Mention the module
51794         'getusershell'.
51795         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
51796         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
51797         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
51798         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
51799         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
51800         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
51801         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
51802         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
51803         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
51804         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
51805         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
51806         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
51807         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
51808         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
51809
51810 2008-10-17  Bruno Haible  <bruno@clisp.org>
51811
51812         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
51813         HP-UX and IRIX, use -0.0L.
51814         * tests/test-ceill.c (minus_zero): Likewise.
51815         * tests/test-floorl.c (minus_zero): Likewise.
51816         * tests/test-frexpl.c (minus_zero): Likewise.
51817         * tests/test-isnan.c (minus_zerol): Likewise.
51818         * tests/test-isnanl.h (minus_zero): Likewise.
51819         * tests/test-ldexpl.c (minus_zero): Likewise.
51820         * tests/test-roundl.c (minus_zero): Likewise.
51821         * tests/test-signbit.c (minus_zerol): Likewise.
51822         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
51823         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
51824         * tests/test-truncl.c (minus_zero): Likewise.
51825         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
51826         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
51827         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
51828         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
51829
51830 2008-10-17  Bruno Haible  <bruno@clisp.org>
51831
51832         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
51833         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
51834         that it gets activated only for gcc >= 3.0.
51835         * lib/dirent.in.h: Likewise.
51836         * lib/errno.in.h: Likewise.
51837         * lib/fcntl.in.h: Likewise.
51838         * lib/float.in.h: Likewise.
51839         * lib/iconv.in.h: Likewise.
51840         * lib/inttypes.in.h: Likewise.
51841         * lib/locale.in.h: Likewise.
51842         * lib/math.in.h: Likewise.
51843         * lib/netdb.in.h: Likewise.
51844         * lib/netinet_in.in.h: Likewise.
51845         * lib/search.in.h: Likewise.
51846         * lib/signal.in.h: Likewise.
51847         * lib/spawn.in.h: Likewise.
51848         * lib/stdarg.in.h: Likewise.
51849         * lib/stdint.in.h: Likewise.
51850         * lib/stdio.in.h: Likewise.
51851         * lib/stdlib.in.h: Likewise.
51852         * lib/string.in.h: Likewise.
51853         * lib/strings.in.h: Likewise.
51854         * lib/sys_file.in.h: Likewise.
51855         * lib/sys_ioctl.in.h: Likewise.
51856         * lib/sys_select.in.h: Likewise.
51857         * lib/sys_socket.in.h: Likewise.
51858         * lib/sys_stat.in.h: Likewise.
51859         * lib/sys_time.in.h: Likewise.
51860         * lib/sysexits.in.h: Likewise.
51861         * lib/time.in.h: Likewise.
51862         * lib/unistd.in.h: Likewise.
51863         * lib/wchar.in.h: Likewise.
51864         * lib/wctype.in.h: Likewise.
51865         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
51866
51867 2008-10-17  Jim Meyering  <meyering@redhat.com>
51868
51869         ignore-value: don't depend on inline module
51870         * modules/ignore-value (Depends-on): Remove 'inline'.
51871         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
51872         Suggestion from Bruno Haible.
51873
51874 2008-10-17  Bruno Haible  <bruno@clisp.org>
51875
51876         New implementation of condition variables for Win32.
51877         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
51878         (gl_linked_waitqueue_t): New type.
51879         (gl_cond_t): Use it.
51880         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
51881         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
51882         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
51883         (glthread_cond_init_func, glthread_cond_wait_func,
51884         glthread_cond_timedwait_func, glthread_cond_signal_func,
51885         glthread_cond_broadcast_func, glthread_cond_destroy_func):
51886         Reimplemented on the basis of gl_linked_waitqueue_t.
51887         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
51888         gl_waitqueue_t.
51889         (gl_rwlock_t): Update.
51890         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
51891
51892 2008-10-17  Simon Josefsson  <simon@josefsson.org>
51893
51894         * modules/recvfrom (Depends-on): Add dependency on getpeername.
51895         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
51896
51897 2008-10-17  Jim Meyering  <meyering@redhat.com>
51898
51899         ignore-value: new module
51900         * modules/ignore-value: New file.
51901         * lib/ignore-value.h: New file.
51902         * MODULES.html.sh (Compiler warning management): New section,
51903         just for this module.  More to come.
51904
51905 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
51906
51907         open-safer.c: avoid 'signed and unsigned in conditional...' warning
51908         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
51909         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
51910
51911 2008-10-16  Jim Meyering  <meyering@redhat.com>
51912
51913         openat-die.c: avoid 'no previous prototype' warning
51914         * lib/openat-die.c: Include "openat.h".
51915         Reported by Reuben Thomas <rrt@sc3d.org>.
51916
51917 2008-10-16  Simon Josefsson  <simon@josefsson.org>
51918
51919         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
51920         * lib/netdb.in.h: Fix typo.
51921         Reported by Bruno Haible  <bruno@clisp.org>
51922
51923         * lib/netdb.in.h: Include sys/socket.h for platforms without
51924         netdb.h, to get structures like hostent on MinGW.
51925         * modules/netdb (Depends-on): Add sys_socket.
51926
51927 2008-10-15  Simon Josefsson  <simon@josefsson.org>
51928
51929         * modules/netdb, modules/netdb-tests: New file.
51930         * m4/netdb_h.m4: New file.
51931         * lib/netdb.in.h: Add, currently just an empty file pending
51932         definitions.
51933         * tests/test-netdb.c: New file.
51934         * doc/posix-headers/netdb.texi: Mention that we replace it if
51935         needed.
51936         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
51937         netdb.
51938
51939 2008-10-15  Simon Josefsson  <simon@josefsson.org>
51940
51941         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
51942         with code.
51943
51944 2008-10-13  Bruno Haible  <bruno@clisp.org>
51945
51946         * lib/glthread/cond.c (glthread_cond_wait_func,
51947         glthread_cond_timedwait_func): Add a comment.
51948
51949 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
51950
51951         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
51952         * tests/test-select.c: Likewise,
51953
51954 2008-10-13  Bruno Haible  <bruno@clisp.org>
51955
51956         * lib/glthread/cond.c (glthread_cond_wait_func,
51957         glthread_cond_timedwait_func): Fix variable name.
51958         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
51959
51960 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
51961
51962         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
51963         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
51964         struct sockaddr.sa_len.
51965         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
51966
51967 2008-10-13  Simon Josefsson  <simon@josefsson.org>
51968
51969         * build-aux/pmccabe2html: Add css and css_url parameters.
51970
51971 2008-10-12  Bruno Haible  <bruno@clisp.org>
51972
51973         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
51974         calling aclx_get.
51975         Reported by Rainer Tammer <tammer@tammer.net>.
51976
51977 2008-10-12  Bruno Haible  <bruno@clisp.org>
51978
51979         Use msvcrt aware primitives for creation/termination of Win32 threads.
51980         * lib/glthread/thread.c: Include <process.h>.
51981         (glthread_create_func): Use _beginthreadex instead of CreateThread.
51982         (wrapper_func): Update signature.
51983         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
51984
51985 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
51986             Bruno Haible  <bruno@clisp.org>
51987
51988         Provide a Win32 implementation of the 'cond' module.
51989         * lib/glthread/cond.h [USE_WIN32]: New implementation.
51990         * lib/glthread/cond.c (glthread_cond_init_func,
51991         glthread_cond_wait_func, glthread_cond_timedwait_func,
51992         glthread_cond_signal_func, glthread_cond_broadcast_func,
51993         glthread_cond_destroy_func) [USE_WIN32]: New functions.
51994         * modules/cond (Dependencies): Add gettimeofday.
51995
51996 2008-10-11  Bruno Haible  <bruno@clisp.org>
51997
51998         Make sleep work on older versions of mingw.
51999         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
52000         only whether it exists.
52001         * doc/posix-functions/sleep.texi: Mention the problem with older
52002         versions of mingw.
52003
52004 2008-10-11  Bruno Haible  <bruno@clisp.org>
52005
52006         New module 'shutdown'.
52007         * modules/shutdown: New file.
52008         * lib/sys_socket.in.h (shutdown): New declaration.
52009         * lib/winsock.c (shutdown): New function.
52010         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
52011         GNULIB_SHUTDOWN.
52012         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
52013         * doc/posix-functions/shutdown.texi: Document the new module.
52014
52015 2008-10-11  Jim Meyering  <meyering@redhat.com>
52016
52017         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
52018
52019 2008-10-11  Bruno Haible  <bruno@clisp.org>
52020
52021         New module 'fclose'.
52022         * modules/fclose: New file.
52023         * lib/stdio.in.h (fclose): New declaration.
52024         * lib/fclose.c: New file.
52025         * m4/fclose.m4: New file.
52026         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
52027         REPLACE_FCLOSE.
52028         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
52029         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
52030         REPLACE_FCLOSE.
52031         * modules/close (Depends-on): fclose.
52032         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
52033
52034 2008-10-11  Bruno Haible  <bruno@clisp.org>
52035
52036         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
52037         set errno and don't call _close.
52038
52039 2008-10-10  Bruno Haible  <bruno@clisp.org>
52040
52041         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
52042         ACL, not afterwards. Fixes test failure on Cygwin.
52043
52044 2008-10-09  Ben Pfaff  <blp@gnu.org>
52045
52046         * build-aux/announce-gen: Fix gnulib version related part of usage
52047         message.  Die with a useful error message if no tarballs are
52048         found.
52049
52050 2008-10-10  Jim Meyering  <meyering@redhat.com>
52051
52052         bootstrap: use git's --depth=N option only if it's supported
52053         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
52054         recognize the --depth option.  Reported by Pádraig Brady.
52055
52056 2008-10-09  Bruno Haible  <bruno@clisp.org>
52057
52058         New module 'ioctl'.
52059         * modules/ioctl: New file.
52060         * lib/sys_socket.in.h (ioctl): Remove declaration.
52061         * lib/winsock.c: Include <sys/ioctl.h>.
52062         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
52063         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
52064         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
52065         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
52066         * doc/posix-functions/ioctl.texi: Mention the new module.
52067
52068 2008-10-09  Bruno Haible  <bruno@clisp.org>
52069
52070         New module 'sys_ioctl'.
52071         * lib/sys_ioctl.in.h: New file.
52072         * m4/sys_ioctl_h.m4: New file.
52073         * modules/sys_ioctl: New file.
52074         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
52075
52076 2008-10-09  Bruno Haible  <bruno@clisp.org>
52077
52078         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
52079         * lib/winsock.c: Include <stdarg.h>.
52080         (rpl_ioctl): Change to second argument 'int' and then varargs.
52081
52082 2008-10-09  Bruno Haible  <bruno@clisp.org>
52083
52084         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
52085         when the sys_socket module is present and the system has <winsock2.h>.
52086
52087 2008-10-09  Bruno Haible  <bruno@clisp.org>
52088
52089         * doc/posix-functions/close.texi: Mention module 'close' instead of
52090         module 'sys_socket'.
52091
52092 2008-10-09  Bruno Haible  <bruno@clisp.org>
52093
52094         * doc/glibc-headers/sys_ioctl.texi: New file.
52095         * doc/gnulib.texi: Include it.
52096
52097 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
52098             Bruno Haible  <bruno@clisp.org>
52099
52100         Combine the two replacements of 'close'.
52101         * lib/sys_socket.in.h (close): Define to a reminder to include
52102         <unistd.h>.
52103         (_gl_close_fd_maybe_socket): New declaration.
52104         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
52105         * lib/winsock.c (close): Remove undefinition.
52106         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
52107         needed for the gnulib module 'close'.
52108         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
52109         define to an error symbol or to a warning, if suitable.
52110         * lib/close.c: Include <sys/socket.h>.
52111         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
52112         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
52113         UNISTD_H_HAVE_WINSOCK2_H.
52114         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
52115         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
52116         UNISTD_H_HAVE_WINSOCK2_H.
52117         * modules/sys_socket (Files): Add m4/unistd_h.m4.
52118         (configure.ac): Set a module indicator.
52119         (Makefile.am): Substitute GNULIB_CLOSE.
52120         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
52121         * modules/poll-tests (Depends-on): Add close.
52122         * modules/select-tests (Depends-on): Likewise.
52123
52124 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
52125             Bruno Haible  <bruno@clisp.org>
52126
52127         New module 'close'.
52128         * modules/close: New file.
52129         * lib/unistd.in.h (close): Move declaration out of the
52130         FCHDIR_REPLACEMENT scope.
52131         (_gl_unregister_fd): New declaration.
52132         * lib/close.c: New file.
52133         * lib/fchdir.c (rpl_close): Remove function.
52134         * m4/close.m4: New file.
52135         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
52136         close.
52137         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
52138         REPLACE_CLOSE.
52139         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
52140         REPLACE_CLOSE.
52141         * modules/fchdir (Depends-on): Add close.
52142
52143 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
52144             Bruno Haible  <bruno@clisp.org>
52145
52146         * lib/fcntl.in.h (open): Simplify conditionals.
52147         (_gl_register_fd): New declaration.
52148         * lib/fchdir.c (rpl_open): Remove function.
52149         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
52150         also.
52151         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
52152         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
52153         open.
52154
52155 2008-10-09  Jim Meyering  <meyering@redhat.com>
52156
52157         GNUmakefile: use the more name-space-friendly "_version"
52158         * top/GNUmakefile (_dummy): Update.
52159         (_version): Rename from "version".
52160
52161 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
52162             Bruno Haible  <bruno@clisp.org>
52163
52164         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
52165         rpl_close.
52166         (_gl_register_fd): New function, extracted from rpl_open.
52167         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
52168         (rpl_open, rpl_opendir): Use _gl_register_fd.
52169
52170 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
52171
52172         Fix organization of 'open' replacement.
52173         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
52174         (gl_FUNC_OPEN): Use it.
52175         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
52176
52177 2008-10-08  Bruno Haible  <bruno@clisp.org>
52178
52179         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
52180
52181 2008-10-08  Simon Josefsson  <simon@josefsson.org>
52182
52183         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
52184         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
52185         listen).
52186
52187 2008-10-08  Eric Blake  <ebb9@byu.net>
52188
52189         GNUmakefile: add 'make version' target
52190         * top/GNUmakefile (_curr-ver): Split version update rules...
52191         (version): ...into a target.
52192
52193 2008-10-07  Bruno Haible  <bruno@clisp.org>
52194
52195         Use a more portable replacement expression for -0.0L.
52196         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
52197         instead of -0.0L. Fix m4 quotation.
52198
52199         * tests/test-signbit.c: Include <float.h>.
52200         (minus_zero): New variable.
52201         (test_signbitl): Use minus_zero instead of -zero.
52202         * modules/signbit-tests (Depends-on): Add float.
52203
52204         * tests/test-ceill.c: Include <float.h>.
52205         (zero): Remove variable.
52206         (minus_zero): New variable.
52207         (main): Use minus_zero instead of -zero.
52208         * modules/ceill-tests (Depends-on): Add float.
52209
52210         * tests/test-floorl.c: Include <float.h>.
52211         (zero): Remove variable.
52212         (minus_zero): New variable.
52213         (main): Use minus_zero instead of -zero.
52214         * modules/floorl-tests (Depends-on): Add float.
52215
52216         * tests/test-roundl.c: Include <float.h>.
52217         (zero): Remove variable.
52218         (minus_zero): New variable.
52219         (main): Use minus_zero instead of -zero.
52220         * modules/roundl-tests (Depends-on): Add float.
52221
52222         * tests/test-truncl.c: Include <float.h>.
52223         (zero): Remove variable.
52224         (minus_zero): New variable.
52225         (main): Use minus_zero instead of -zero.
52226         * modules/truncl-tests (Depends-on): Add float.
52227
52228         * tests/test-frexpl.c (zero): Remove variable.
52229         (minus_zero): New variable.
52230         (main): Use minus_zero instead of -zero.
52231         * modules/frexpl-tests (Depends-on): Add float.
52232
52233         * tests/test-isnan.c (zerol): Remove variable.
52234         (minus_zerol): New variable.
52235         (test_long_double): Use minus_zerol instead of -zerol.
52236         * modules/isnan-tests (Depends-on): Add float.
52237
52238         * tests/test-isnanl.h (zero): Remove variable.
52239         (minus_zero): New variable.
52240         (main): Use minus_zero instead of -zero.
52241         * modules/isnanl-nolibm-tests (Depends-on): Add float.
52242         * modules/isnanl-tests (Depends-on): Add float.
52243
52244         * tests/test-ldexpl.c (zero): Remove variable.
52245         (minus_zero): New variable.
52246         (main): Use minus_zero instead of -zero.
52247         * modules/ldexpl-tests (Depends-on): Add float.
52248
52249         * tests/test-snprintf-posix.h (zerol): Remove variable.
52250         (minus_zerol): New variable.
52251         (test_function): Use minus_zerol instead of -zerol.
52252         * modules/snprintf-posix-tests (Depends-on): Add float.
52253         * modules/vsnprintf-posix-tests (Depends-on): Add float.
52254
52255         * tests/test-sprintf-posix.h (zerol): Remove variable.
52256         (minus_zerol): New variable.
52257         (test_function): Use minus_zerol instead of -zerol.
52258         * modules/sprintf-posix-tests (Depends-on): Add float.
52259         * modules/vsprintf-posix-tests (Depends-on): Add float.
52260
52261         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
52262         (minus_zerol): New variable.
52263         (test_function): Use minus_zerol instead of -zerol.
52264         * modules/vasnprintf-posix-tests (Depends-on): Add float.
52265
52266         * tests/test-vasprintf-posix.c (zerol): Remove variable.
52267         (minus_zerol): New variable.
52268         (test_function): Use minus_zerol instead of -zerol.
52269         * modules/vasprintf-posix-tests (Depends-on): Add float.
52270
52271 2008-10-07  Simon Josefsson  <simon@josefsson.org>
52272
52273         * MODULES.html.sh (Support for building documentation): Mention
52274         pmccabe2html.  Sort entries.
52275
52276         Add pmccabe2html module, from gnupdf.
52277         * build-aux/pmccabe.css: New file.
52278         * build-aux/pmccabe2html: New file.
52279         * m4/pmccabe2html.m4: New file.
52280         * modules/pmccabe2html: New file.
52281
52282 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
52283
52284         flock: new module
52285         * MODULES.html.sh: Add to list of modules.
52286         * lib/flock.c: flock implementation for Windows and Unix systems
52287         which have fcntl.
52288         * doc/glibc-functions/flock.texi: Update documentation.
52289         * lib/sys_file.in.h: <sys/file.h> header file.
52290         * m4/flock.m4: M4 macros.
52291         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
52292         * modules/flock: flock module.
52293         * modules/flock-tests: flock tests module.
52294         * modules/sys_file: sys/file.h module.
52295         * tests/test-flock.c: test suite for flock.
52296
52297 2008-10-06  Jim Meyering  <meyering@redhat.com>
52298
52299         bootstrap: check for LT_INIT more portably still ;-)
52300         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
52301         Spotted by Bruno Haible.
52302
52303 2008-10-06  Eric Blake  <ebb9@byu.net>
52304
52305         test-signbit: avoid tripping Irix cc bug on -0.0L
52306         * tests/test-signbit.c (minus_zerol): Delete, and replace with
52307         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
52308         entire testsuite consistent and avoids an Irix 6.2 bug.
52309
52310 2008-10-05  Bruno Haible  <bruno@clisp.org>
52311             Jim Meyering  <jim@meyering.net>
52312
52313         Add an option for ignoring EPIPE during close_stdout.
52314         * lib/closeout.h: Include <stdbool.h>.
52315         (close_stdout_set_ignore_EPIPE): New declaration.
52316         * lib/closeout.c: Include <stdbool.h>.
52317         (ignore_EPIPE): New variable.
52318         (close_stdout_set_ignore_EPIPE): New function.
52319         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
52320         * lib/close-stream.c (close_stream): Mention the possible EPIPE
52321         failure.
52322         * modules/closeout (Depends-on): Add stdbool.
52323
52324 2008-10-05  Bruno Haible  <bruno@clisp.org>
52325
52326         * modules/accept: New file.
52327         * modules/bind: New file.
52328         * modules/connect: New file.
52329         * modules/getpeername: New file.
52330         * modules/getsockname: New file.
52331         * modules/getsockopt: New file.
52332         * modules/listen: New file.
52333         * modules/recv: New file.
52334         * modules/recvfrom: New file.
52335         * modules/send: New file.
52336         * modules/sendto: New file.
52337         * modules/setsockopt: New file.
52338         * modules/socket: New file.
52339         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
52340         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
52341         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
52342         the particular module is requested. Add a link warning when the
52343         particular module is not requested.
52344         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
52345         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
52346         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
52347         the particular module is requested.
52348         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
52349         gl_SYS_SOCKET_H_DEFAULTS): New macros.
52350         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
52351         * modules/sys_socket (Depends-on): Add link-warning.
52352         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
52353         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
52354         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
52355         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
52356         GL_LINK_WARNING.
52357         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
52358         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
52359         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
52360         * doc/posix-functions/getpeername.texi: Mention the new module
52361         'getpeername'.
52362         * doc/posix-functions/getsockname.texi: Mention the new module
52363         'getsockname'.
52364         * doc/posix-functions/getsockopt.texi: Mention the new module
52365         'getsockopt'.
52366         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
52367         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
52368         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
52369         * doc/posix-functions/send.texi: Mention the new module 'send'.
52370         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
52371         * doc/posix-functions/setsockopt.texi: Mention the new module
52372         'setsockopt'.
52373         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
52374         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
52375         listen, connect, accept.
52376         * modules/select-tests (Depends-on): Likewise.
52377
52378 2008-10-05  Bruno Haible  <bruno@clisp.org>
52379
52380         * lib/winsock.c (strerror): Remove unused #undef.
52381         (rpl_close): Remove unused local variable.
52382
52383         * modules/sys_socket (Depends-on); Add errno.
52384
52385 2008-10-05  Bruno Haible  <bruno@clisp.org>
52386
52387         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
52388         (select): Add a link warning when the 'select' module is not used.
52389         * modules/sys_select (Depends-on): Add link-warning.
52390         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
52391         Suggested by Paolo Bonzini.
52392
52393 2008-10-05  Jim Meyering  <meyering@redhat.com>
52394
52395         bootstrap: check for LT_INIT more portably
52396         * build-aux/bootstrap: Avoid using grep -E, since it's not
52397         portable enough.  Suggestion from Bruno Haible.
52398
52399 2008-10-05  Bruno Haible  <bruno@clisp.org>
52400
52401         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
52402         as being fixed by gnulib.
52403
52404 2008-10-05  Bruno Haible  <bruno@clisp.org>
52405
52406         * modules/select-tests: New file, mostly copied from
52407         modules/sys_select-tests.
52408         * tests/test-select.c: New file, mostly copied from
52409         tests/test-sys_select.c.
52410         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
52411         * modules/sys_select-tests (Depends-on): Remove all dependencies.
52412         (Makefile.am): Remove test_sys_select_LDADD.
52413
52414         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
52415         to an undefined symbol, for an error message.
52416         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
52417         (gl_SYS_SELECT_H_DEFAULTS): New macro.
52418         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
52419         winsock-select.c here.
52420         * modules/sys_select (Files): Remove lib/winsock-select.c.
52421         (Depends-on): Remove alloca.
52422         (Makefile.am): Substitute GNULIB_SELECT.
52423         * modules/select: New file.
52424         * doc/posix-functions/select.texi: Update.
52425
52426 2008-10-05  Bruno Haible  <bruno@clisp.org>
52427
52428         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
52429         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
52430         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
52431         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
52432         getdtablesize.
52433         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
52434         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
52435
52436 2008-10-05  Bruno Haible  <bruno@clisp.org>
52437
52438         * modules/getdtablesize-tests: New file.
52439         * tests/test-getdtablesize.c: New file.
52440
52441         New module 'getdtablesize'.
52442         * lib/unistd.in.h (getdtablesize): New declaration.
52443         * lib/getdtablesize.c: New file.
52444         * m4/getdtablesize.m4: New file.
52445         * modules/getdtablesize: New file.
52446         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
52447         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
52448         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
52449         HAVE_GETDTABLESIZE.
52450         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
52451
52452 2008-10-05  Bruno Haible  <bruno@clisp.org>
52453
52454         * modules/sched (Makefile.am): Fix typo.
52455         Reported by Simon Josefsson.
52456
52457 2008-10-05  Jim Meyering  <meyering@redhat.com>
52458
52459         bootstrap: check for LT_INIT, too
52460         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
52461         are deprecated.  Suggestion from Ralf Wildenhues.
52462
52463 2008-10-05  Bruno Haible  <bruno@clisp.org>
52464
52465         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
52466         overriding them by ours.
52467         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
52468
52469 2008-10-05  Jim Meyering  <meyering@redhat.com>
52470
52471         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
52472         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
52473         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
52474
52475 2008-10-04  Bruno Haible  <bruno@clisp.org>
52476
52477         * modules/dup2 (License): Change to LGPLv2+.
52478         * modules/sleep (License): Likewise.
52479         * modules/perror (License): Likewise.
52480         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
52481         Blake.
52482         * modules/signal (License): Likewise.
52483         * modules/sigprocmask (License): Likewise.
52484         * modules/raise (License): Change to LGPLv2+, with approval by Jim
52485         Meyering.
52486
52487 2008-10-04  Bruno Haible  <bruno@clisp.org>
52488
52489         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
52490         Reported by Rainer Tammer <tammer@tammer.net>.
52491
52492 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
52493             Bruno Haible  <bruno@clisp.org>
52494
52495         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
52496         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
52497         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
52498
52499 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
52500
52501         filevercmp: new module
52502         * lib/filevercmp.h: New function filevercmp comparing version strings.
52503         * lib/filevercmp.c: Implementation of filevercmp function.
52504         * modules/filevercmp: Module metadata.
52505         * tests/test-filevercmp.c: Unit test for new module.
52506         * modules/filevercmp-tests: Unit test metadata.
52507         * MODULES.html.sh: Add filevercmp module.
52508
52509 2008-10-03  Bruno Haible  <bruno@clisp.org>
52510
52511         * lib/c-ctype.h: Add comment.
52512         Reported by Jim Meyering.
52513
52514 2008-10-02  Bruno Haible  <bruno@clisp.org>
52515
52516         * modules/posix_spawn-internal (Depends-on): Add 'open'.
52517
52518 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
52519
52520         * build-aux/bootstrap: Allow renaming bootstrap, and change the
52521         name of bootstrap.conf accordingly.
52522
52523 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
52524
52525         * build-aux/bootstrap: Install git-merge-changelog configuration
52526         items into .gitconfig if needed.
52527
52528 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
52529
52530         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
52531         git repository, and initialize/update it accordingly.
52532
52533 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
52534
52535         * modules/fsync-tests: New file.
52536         * tests/test-fsync.c: New file.
52537
52538         New module 'fsync'.
52539         * lib/fsync.c: New file.
52540         * m4/fsync.m4: New file.
52541         * modules/fsync: New file.
52542         * lib/unistd.in.h (fsync): New declaration.
52543         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
52544         GNULIB_FSYNC and HAVE_FSYNC.
52545         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
52546         * MODULES.html.sh (posix_functions): Add fsync.
52547         * doc/posix-functions/fsync.texi: Mention the new module.
52548
52549 2008-10-02  Jim Meyering  <meyering@redhat.com>
52550
52551         fts.c: sync with similar code from coreutils' remove.c
52552         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
52553         Guard also with "#if defined __linux__", since for now at least,
52554         this code is Linux-kernel-specific.
52555
52556 2008-10-02  Jim Meyering  <meyering@redhat.com>
52557
52558         fts: bug fixes
52559         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
52560         Include <sys/vfs.h>, not <sys/statfs.h>.
52561
52562         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
52563         Include <sys/vfs.h>, not <sys/statfs.h>.
52564
52565 2008-10-01  Bruno Haible  <bruno@clisp.org>
52566
52567         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
52568         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
52569         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
52570         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
52571         * doc/posix-functions/posix_spawnp.texi: Likewise.
52572         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
52573         whether posix_spawn actually works.
52574         * m4/pipe.m4 (gl_PIPE): Likewise.
52575         * modules/execute (Files): Add m4/posix_spawn.m4.
52576         * modules/pipe (Files): Add m4/posix_spawn.m4.
52577         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
52578
52579 2008-10-01  Jim Meyering  <meyering@redhat.com>
52580
52581         remove trailing spaces
52582         * NEWS: Likewise.
52583         * lib/poll.c (poll): Likewise.
52584         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
52585         * lib/winsock.c (rpl_close): Likewise.
52586         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
52587         * modules/yield: Likewise.
52588         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
52589         * tests/test-sys_select.c (connect_to_socket): Likewise.
52590
52591         fts.c: adjust a new interface to be more generally useful
52592         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
52593         (fts_build): Adjust caller.
52594
52595 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52596
52597         * modules/cond-tests: New file.
52598         * tests/test-cond.c: New file.
52599
52600 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52601             Bruno Haible  <bruno@clisp.org>
52602
52603         * modules/cond (Dependencies): Add errno, time.
52604         * lib/glthread/cond.h: Include <time.h>.
52605         (gl_cond_define, gl_cond_define_initialized): Use the same definition
52606         across platforms.
52607
52608 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52609             Bruno Haible  <bruno@clisp.org>
52610
52611         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
52612
52613 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52614             Bruno Haible  <bruno@clisp.org>
52615
52616         * modules/tls-tests (Depends-on): Add thread, yield.
52617         (configure.ac): Remove all checks.
52618         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
52619         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
52620         gl_thread_self): Remove definitions. Include glthread/thread.h and
52621         glthread/yield.h instead.
52622         (test_tls): Pass an additional NULL argument to gl_thread_join.
52623
52624 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52625             Bruno Haible  <bruno@clisp.org>
52626
52627         * modules/lock-tests (Depends-on): Add thread, yield.
52628         (configure.ac): Remove all checks.
52629         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
52630         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
52631         gl_thread_self): Remove definitions. Include glthread/thread.h and
52632         glthread/yield.h instead.
52633         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
52634         additional NULL argument to gl_thread_join.
52635
52636 2008-09-30  Bruno Haible  <bruno@clisp.org>
52637
52638         Fix the Win32 implementation of the 'thread' module.
52639         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
52640         pointer type.
52641         (gl_thread_self): Invoke gl_thread_self_func.
52642         (gl_thread_self_func): New declaration.
52643         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
52644         (do_init_self_key, init_self_key): New functions.
52645         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
52646         Remove some fields.
52647         (running_threads, running_lock): Remove variables.
52648         (get_current_thread_handle): New function.
52649         (gl_thread_self_func, wrapper_func, glthread_create_func,
52650         glthread_join_func, gl_thread_exit_func): Largely rewritten and
52651         simplified.
52652
52653 2008-09-30  Bruno Haible  <bruno@clisp.org>
52654
52655         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
52656         files.
52657
52658 2008-09-30  Jim Meyering  <meyering@redhat.com>
52659
52660         fts.m4: correct the test for statfs.f_type
52661         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
52662         when checking for statfs.f_type.
52663
52664 2008-09-15  Simon Josefsson  <simon@josefsson.org>
52665
52666         tests: avoid some compiler warnings
52667         * tests/test-memchr.c (main): Pass NULL indirectly.
52668         * tests/test-getdate.c (main): Remove unused variable 'ret'.
52669
52670 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
52671
52672         getdate.y: disallow countable dayshifts like "4 yesterday ago"
52673         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
52674         exactly specified dayshifts.
52675         (dayshift): New rule.
52676         (rel): Add dayshift.
52677         (relative_time_table) [tomorrow, yesterday, today, now]:
52678         Use tDAY_SHIFT in place of tDAY_UNIT.
52679         * tests/test-getdate.c: Add tests for now-disallowed countable
52680         dayshifts, e.g., "4 yesterday ago".
52681
52682 2008-09-29  Bruno Haible  <bruno@clisp.org>
52683
52684         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
52685         * tests/test-posix_spawn1.in.sh: Renamed from
52686         tests/test-posix_spawn.in.sh.
52687         * tests/test-posix_spawn2.c: New file.
52688         * tests/test-posix_spawn2.in.sh: New file.
52689         * modules/posix_spawnp-tests (Files): Update.
52690         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
52691
52692 2008-09-29  Bruno Haible  <bruno@clisp.org>
52693
52694         Propagate effects of putenv/setenv/unsetenv to child processes.
52695         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
52696         * lib/pipe.c (create_pipe): Likewise.
52697
52698 2008-09-29  Bruno Haible  <bruno@clisp.org>
52699
52700         Enable use of shell scripts as executables in mingw.
52701         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
52702         run the program as a shell script.
52703         * lib/pipe.c (create_pipe): Likewise.
52704         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
52705         resulting array.
52706
52707 2008-09-29  Eric Blake  <ebb9@byu.net>
52708
52709         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
52710
52711 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
52712
52713         * doc/posix-functions/accept.texi: Update mingw problems.
52714         * doc/posix-functions/bind.texi: Update mingw problems.
52715         * doc/posix-functions/close.texi: Update mingw problems.
52716         * doc/posix-functions/connect.texi: Update mingw problems.
52717         * doc/posix-functions/getpeername.texi: Update mingw problems.
52718         * doc/posix-functions/getsockname.texi: Update mingw problems.
52719         * doc/posix-functions/getsockopt.texi: Update mingw problems.
52720         * doc/posix-functions/ioctl.texi: Update mingw problems.
52721         * doc/posix-functions/listen.texi: Update mingw problems.
52722         * doc/posix-functions/recv.texi: Update mingw problems.
52723         * doc/posix-functions/recvfrom.texi: Update mingw problems.
52724         * doc/posix-functions/select.texi: Update mingw problems.
52725         * doc/posix-functions/send.texi: Update mingw problems.
52726         * doc/posix-functions/sendto.texi: Update mingw problems.
52727         * doc/posix-functions/setsockopt.texi: Update mingw problems.
52728         * doc/posix-functions/socket.texi: Update mingw problems.
52729
52730 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
52731             Bruno Haible  <bruno@clisp.org>
52732
52733         * lib/sys_select.in.h: Include sys/time.h.
52734         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
52735         * modules/sys_select: Depend on sys_time.
52736         * tests/test-sys_select.c: Test that sys/select.h defines struct
52737         timeval fully.
52738
52739 2008-09-29  Bruno Haible  <bruno@clisp.org>
52740
52741         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
52742         * lib/sys_select.in.h: Likewise.
52743
52744 2008-09-29  Bruno Haible  <bruno@clisp.org>
52745
52746         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
52747
52748 2008-09-29  Bruno Haible  <bruno@clisp.org>
52749
52750         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
52751         Set LIBSOCKET instead of augmenting LIBS.
52752         * modules/sockets (Link): New section.
52753         * modules/sockets-tests (test_sockets_LDADD): New variable.
52754         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
52755         * modules/poll-tests (test_poll_LDADD): New variable.
52756         * NEWS: Document the change.
52757
52758 2008-09-29  Bruno Haible  <bruno@clisp.org>
52759
52760         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
52761         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
52762         ARPA_INET_H directly.
52763         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
52764
52765 2008-09-28  Bruno Haible  <bruno@clisp.org>
52766
52767         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
52768         from gl_HEADER_SYS_SOCKET.
52769         (gl_HEADER_SYS_SOCKET): Invoke it.
52770         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
52771
52772 2008-09-28  Bruno Haible  <bruno@clisp.org>
52773
52774         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
52775         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
52776         Needed on OSF/1 4.0.
52777
52778 2008-09-28  Bruno Haible  <bruno@clisp.org>
52779
52780         Override open more carefully.
52781         * lib/open.c (orig_open): New function.
52782         (rpl_open): Use orig_open instead of open.
52783         * lib/fcntl.in.h: Add special invocation convention.
52784         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
52785         (gl_FUNC_OPEN): Invoke it.
52786
52787         Override freopen more carefully.
52788         * lib/freopen.c (orig_freopen): New function.
52789         (rpl_freopen): Use orig_freopen instead of freopen.
52790         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
52791         (gl_FUNC_FREOPEN): Invoke it.
52792
52793         Override fopen more carefully.
52794         * lib/fopen.c (orig_fopen): New function.
52795         (rpl_fopen): Use orig_fopen instead of fopen.
52796         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
52797         (gl_FUNC_FOPEN): Invoke it.
52798         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
52799
52800 2008-09-28  Bruno Haible  <bruno@clisp.org>
52801
52802         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
52803         SIGPIPE.
52804
52805 2008-09-28  Bruno Haible  <bruno@clisp.org>
52806
52807         * tests/test-sigaction.c (handler, main): Disable the check whether
52808         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
52809         glibc systems with LinuxThreads.
52810
52811 2008-09-28  Bruno Haible  <bruno@clisp.org>
52812
52813         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
52814
52815         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
52816         with AIX xlc.
52817         * lib/fcntl.in.h (open): Likewise.
52818         Reported by Rainer Tammer <tammer@tammer.net>.
52819
52820 2008-09-28  Bruno Haible  <bruno@clisp.org>
52821
52822         * modules/posix_spawnp-tests: New file.
52823         * tests/test-posix_spawn.c: New file.
52824         * tests/test-posix_spawn.in.sh: New file.
52825
52826         New module 'posix_spawnp'.
52827         * modules/posix_spawnp: New file.
52828         * lib/spawnp.c: New file, from GNU libc with modifications.
52829         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
52830
52831         New module 'posix_spawn'.
52832         * modules/posix_spawn: New file.
52833         * lib/spawn.c: New file, from GNU libc with modifications.
52834         * doc/posix-functions/posix_spawn.texi: Mention the new module.
52835
52836         New module 'posix_spawnattr_destroy'.
52837         * modules/posix_spawnattr_destroy: New file.
52838         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
52839         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
52840         module.
52841
52842         New module 'posix_spawnattr_setsigmask'.
52843         * modules/posix_spawnattr_setsigmask: New file.
52844         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
52845         modifications.
52846         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
52847         new module.
52848
52849         New module 'posix_spawnattr_getsigmask'.
52850         * modules/posix_spawnattr_getsigmask: New file.
52851         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
52852         modifications.
52853         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
52854         new module.
52855
52856         New module 'posix_spawnattr_setsigdefault'.
52857         * modules/posix_spawnattr_setsigdefault: New file.
52858         * lib/spawnattr_setdefault.c: New file, from GNU libc with
52859         modifications.
52860         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
52861         new module.
52862
52863         New module 'posix_spawnattr_getsigdefault'.
52864         * modules/posix_spawnattr_getsigdefault: New file.
52865         * lib/spawnattr_getdefault.c: New file, from GNU libc with
52866         modifications.
52867         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
52868         new module.
52869
52870         New module 'posix_spawnattr_setschedpolicy'.
52871         * modules/posix_spawnattr_setschedpolicy: New file.
52872         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
52873         modifications.
52874         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
52875         new module.
52876
52877         New module 'posix_spawnattr_getschedpolicy'.
52878         * modules/posix_spawnattr_getschedpolicy: New file.
52879         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
52880         modifications.
52881         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
52882         new module.
52883
52884         New module 'posix_spawnattr_setschedparam'.
52885         * modules/posix_spawnattr_setschedparam: New file.
52886         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
52887         modifications.
52888         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
52889         new module.
52890
52891         New module 'posix_spawnattr_getschedparam'.
52892         * modules/posix_spawnattr_getschedparam: New file.
52893         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
52894         modifications.
52895         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
52896         new module.
52897
52898         New module 'posix_spawnattr_setpgroup'.
52899         * modules/posix_spawnattr_setpgroup: New file.
52900         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
52901         modifications.
52902         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
52903         module.
52904
52905         New module 'posix_spawnattr_getpgroup'.
52906         * modules/posix_spawnattr_getpgroup: New file.
52907         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
52908         modifications.
52909         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
52910         module.
52911
52912         New module 'posix_spawnattr_setflags'.
52913         * modules/posix_spawnattr_setflags: New file.
52914         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
52915         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
52916         module.
52917
52918         New module 'posix_spawnattr_getflags'.
52919         * modules/posix_spawnattr_getflags: New file.
52920         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
52921         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
52922         module.
52923
52924         New module 'posix_spawnattr_init'.
52925         * modules/posix_spawnattr_init: New file.
52926         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
52927         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
52928         module.
52929
52930         New module 'posix_spawn_file_actions_destroy'.
52931         * modules/posix_spawn_file_actions_destroy: New file.
52932         * lib/spawn_faction_destroy.c: New file, from GNU libc with
52933         modifications.
52934         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
52935         the new module.
52936
52937         New module 'posix_spawn_file_actions_addopen'.
52938         * modules/posix_spawn_file_actions_addopen: New file.
52939         * lib/spawn_faction_addopen.c: New file, from GNU libc with
52940         modifications.
52941         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
52942         the new module.
52943
52944         New module 'posix_spawn_file_actions_adddup2'.
52945         * modules/posix_spawn_file_actions_adddup2: New file.
52946         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
52947         modifications.
52948         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
52949         the new module.
52950
52951         New module 'posix_spawn_file_actions_addclose'.
52952         * modules/posix_spawn_file_actions_addclose: New file.
52953         * lib/spawn_faction_addclose.c: New file, from GNU libc with
52954         modifications.
52955         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
52956         the new module.
52957
52958         New module 'posix_spawn_file_actions_init'.
52959         * modules/posix_spawn_file_actions_init: New file.
52960         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
52961         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
52962         new module.
52963
52964         New module 'posix_spawn-internal'.
52965         * modules/posix_spawn-internal: New file.
52966         * lib/spawn_int.h: New file, from GNU libc with modifications.
52967         * lib/spawni.c: New file, from GNU libc with modifications.
52968         * m4/posix_spawn.m4: New file.
52969
52970         New module 'spawn'.
52971         * modules/spawn: New file.
52972         * lib/spawn.in.h: New file, from GNU libc with modifications.
52973         * m4/spawn_h.m4: New file.
52974         * doc/posix-headers/spawn.texi: Mention the new module.
52975
52976 2008-09-28  Bruno Haible  <bruno@clisp.org>
52977
52978         * modules/sched-tests: New file.
52979         * tests/test-sched.c: New file.
52980
52981         New module 'sched'.
52982         * modules/sched: New file.
52983         * lib/sched.in.h: New file.
52984         * m4/sched_h.m4: New file.
52985         * doc/posix-headers/sched.texi: Mention the new module.
52986
52987 2008-09-27  Eric Blake  <ebb9@byu.net>
52988
52989         Fix previous patch, and tweak references to $0.
52990         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
52991         (func_version, func_gnulib_dir): Don't call this program
52992         gnulib-tool.
52993         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
52994         with using $0 in function.
52995         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
52996         (func_fatal_error): Reuse the name the user invoked us with.
52997
52998 2008-09-27  Bruno Haible  <bruno@clisp.org>
52999
53000         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
53001         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
53002         (gl_ICONV_H): Not here.
53003         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
53004         instead of assigning ICONV_H directly.
53005
53006         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
53007         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
53008         WCHAR_H directly.
53009
53010 2008-09-27  Bruno Haible  <bruno@clisp.org>
53011
53012         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
53013         * modules/arpa_inet (Depends-on): Add link-warning.
53014         (Makefile.am): Insert the definition of GL_LINK-WARNING.
53015         * modules/unistd (Makefile.am): Likewise.
53016
53017 2008-09-26  Bruno Haible  <bruno@clisp.org>
53018
53019         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
53020         variables.
53021         (func_version): Essentially copied from gnulib-tool.
53022         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
53023         func_readlink): Copied from gnulib-tool.
53024
53025 2008-09-26  Bruno Haible  <bruno@clisp.org>
53026
53027         * gnulib-tool (func_version): Change directory to $gnulib_dir before
53028         invoking git-version-gen.
53029
53030 2008-09-26  Bruno Haible  <bruno@clisp.org>
53031
53032         * posix-modules: Update to directory names changed on 2008-01-19.
53033         Remove commas in output before splitting into words. No more need to
53034         avoid 'ftruncate' since 2007-02-19.
53035
53036 2008-09-26  Bruno Haible  <bruno@clisp.org>
53037
53038         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
53039
53040 2008-09-26  Bruno Haible  <bruno@clisp.org>
53041
53042         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
53043         * modules/fwriteerror (Depends-on): Add errno.
53044
53045 2008-09-26  Bruno Haible  <bruno@clisp.org>
53046
53047         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
53048         * tests/test-vc-list-files-cvs.sh: Likewise.
53049
53050 2008-09-26  Bruno Haible  <bruno@clisp.org>
53051
53052         * doc/posix-headers/sys_resource.texi: Reorder items.
53053
53054 2008-09-26  Jim Meyering  <meyering@redhat.com>
53055
53056         fts: tweak inode comparison function
53057         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
53058         inode numbers, as documented.
53059
53060         fts: sort dirent entries on inode number before traversing
53061         This avoids a quadratic, seek-related performance penalty when
53062         operating on a directory containing many entries (measurable at 10k;
53063         3.5 hours at 2 million entries with a cold cache) on certain types
53064         of file systems, including ext3 and ext4, but not tmpfs.
53065         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
53066         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
53067         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
53068         (fs_handles_readdir_ordered_dirents_efficiently): New function.
53069         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
53070         (fts_build): Set the stat.st_ino member from D_INO.
53071         If it is likely to be useful, sort dirent entries on inode number.
53072
53073         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
53074         and the struct statfs.f_type member.
53075         * modules/fts (Depends-on): Add d-ino.
53076
53077 2008-09-26  Bruno Haible  <bruno@clisp.org>
53078
53079         * modules/sigpipe-die (Depends-on): Add sigpipe.
53080
53081         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
53082         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
53083         and GNULIB_STDIO_H_SIGPIPE are set.
53084         * lib/stdio-write.c: New file.
53085         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
53086         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
53087         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
53088         REPLACE_STDIO_WRITE_FUNCS.
53089         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
53090         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
53091         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
53092         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
53093         * modules/stdio (Files): Add lib/stdio-write.c.
53094         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
53095         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
53096         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
53097         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
53098         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
53099         REPLACE_FPRINTF_POSIX.
53100         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
53101         REPLACE_PRINTF_POSIX.
53102         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
53103         REPLACE_VFPRINTF_POSIX.
53104         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
53105         REPLACE_VPRINTF_POSIX.
53106         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
53107         SIGPIPE issue.
53108         * doc/posix-functions/fputc.texi: Likewise.
53109         * doc/posix-functions/fputs.texi: Likewise.
53110         * doc/posix-functions/fwrite.texi: Likewise.
53111         * doc/posix-functions/printf.texi: Likewise.
53112         * doc/posix-functions/putc.texi: Likewise.
53113         * doc/posix-functions/putchar.texi: Likewise.
53114         * doc/posix-functions/puts.texi: Likewise.
53115         * doc/posix-functions/vfprintf.texi: Likewise.
53116         * doc/posix-functions/vprintf.texi: Likewise.
53117
53118         * modules/safe-write (Depends-on): Add write.
53119
53120         * modules/sigpipe-tests: New file.
53121         * tests/test-sigpipe.c: New file.
53122         * tests/test-sigpipe.sh: New file.
53123
53124         * modules/write: New file.
53125         * lib/unistd.in.h: Include <sys/types.h>.
53126         (write): New declaration.
53127         * lib/write.c: New file.
53128         * m4/write.m4: New file.
53129         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
53130         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
53131         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
53132         GNULIB_WRITE, REPLACE_WRITE.
53133         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
53134         and the SIGPIPE issue.
53135
53136         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
53137         (raise): New declaration.
53138         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
53139         (ext_signal): New function.
53140         (rpl_raise): New function.
53141         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
53142         GNULIB_SIGNAL_H_SIGPIPE.
53143         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
53144         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
53145
53146         * modules/sigpipe: New file.
53147         * m4/sigpipe.m4: New file.
53148
53149 2008-09-25  Derek Price  <derek@ximbiot.com>
53150             Bruno Haible  <bruno@clisp.org>
53151
53152         * gnulib-tool (func_import): Report all license incompatibilities, not
53153         just the first one.
53154
53155 2008-09-25  Bruno Haible  <bruno@clisp.org>
53156
53157         * gnulib-tool (func_import): When computing the edits, consider not
53158         only the Makefile.ams that exist but also those that will be generated.
53159
53160 2008-09-25  Simon Josefsson  <simon@josefsson.org>
53161
53162         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
53163         fixes gnulib-tool --test warning about duplicate dependency.
53164
53165 2008-09-25  Bruno Haible  <bruno@clisp.org>
53166
53167         * gnulib-tool: Don't ask the user to perform edits in the generated
53168         Makefile.ams.
53169         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
53170         apply to the Makefile.am being generated.
53171         (func_emit_tests_Makefile_am): Execute edits that apply to the
53172         Makefile.am being generated.
53173         (func_import): Setup list of Makefile.am edits before emitting the
53174         Makefile.ams, not at the end.
53175         (func_create_testdir): Update.
53176         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
53177
53178 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53179
53180         * gnulib-tool (func_import): Store the --tests-base option in the
53181         comment in gnulib-cache.m4.
53182
53183 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
53184
53185         * NEWS: Document increased portability that sys_select now provides.
53186
53187         * lib/sys_select.in.h: Install select wrapper.
53188         * lib/sys_socket.in.h: Use more descriptive name when there is no
53189         select wrapper.
53190         * lib/winsock-select.c: New.
53191         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
53192         Require gl_HEADER_SYS_SOCKET.
53193         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
53194         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
53195         * tests/test-sys_select.c: Add functional tests.
53196
53197 2008-09-24  Eric Blake  <ebb9@byu.net>
53198
53199         open, fopen: close fd leak in last patch
53200         * lib/open.c (rpl_open): Close fd before returning error.
53201         * lib/fopen.c (rpl_fopen): Close fd before returning error.
53202         * doc/posix-functions/open.texi (open): Document that Irix also
53203         has the bug.
53204         * doc/posix-functions/fopen.texi (fopen): Likewise.
53205         Reported by Paolo Bonzini.
53206
53207 2008-09-24  Bruno Haible  <bruno@clisp.org>
53208
53209         Ensure that a filename ending in a slash cannot be used to access a
53210         non-directory.
53211         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
53212         to check whether it's really a directory.
53213         * lib/fopen.c: Include fcntl.h, unistd.h.
53214         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
53215         and fdopen().
53216         * modules/fopen (Depends-on): Add unistd.
53217         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
53218         * tests/test-fopen.c (main): Likewise.
53219         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
53220         * doc/posix-functions/fopen.texi: Likewise.
53221         Reported by Eric Blake.
53222
53223 2008-09-23  Eric Blake  <ebb9@byu.net>
53224
53225         c-stack: avoid compiler optimizations when provoking overflow
53226         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
53227         recursion harder to optimize, to ensure a stack overflow occurs.
53228         * tests/test-c-stack.c (recurse): Likewise.
53229         Borrowed from libsigsegv.
53230
53231         c-stack: work around Irix sigaltstack bug
53232         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
53233         whether sigaltstack uses wrong end of stack_t (copied in part from
53234         libsigsegv).
53235         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
53236         Irix bug, without requiring an over-allocation.
53237         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
53238         bug.
53239
53240         fopen: document mingw bug on directories
53241         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
53242         not allowing a stream visiting a directory, even though reading
53243         from such a stream is not portable.
53244
53245 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
53246
53247         * lib/poll.c: Rewrite.
53248         * modules/poll: Depend on alloca.
53249
53250 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
53251
53252         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
53253         instead define prototypes for a full set of wrappers.  Ensure
53254         that Cygwin does not use the compatibility code, which is only
53255         for MinGW.
53256         * lib/winsock.c: New.
53257         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
53258         * modules/sys_socket: Add lib/winsock.c.
53259
53260         * modules/poll-tests: Add errno and perror.
53261         * tests/test-poll.c: Use ioctl, not ioctlsocket.
53262
53263 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
53264
53265         * tests/test-poll.c: Downgrade minimum needed Winsock version.
53266
53267 2008-09-23  Bruno Haible  <bruno@clisp.org>
53268
53269         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
53270         * doc/glibc-functions/*: Likewise.
53271
53272 2008-09-23  Simon Josefsson  <simon@josefsson.org>
53273
53274         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
53275         success.
53276
53277 2008-09-22  Eric Blake  <ebb9@byu.net>
53278             Bruno Haible  <bruno@clisp.org>
53279
53280         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
53281         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
53282         supply %A but mishandle pseudo-NaN.
53283         Reported by Simon Josefsson.
53284
53285 2008-09-21  Bruno Haible  <bruno@clisp.org>
53286
53287         * tests/test-lock.c (main): Tweak skip message.
53288         * tests/test-tls.c (main): Likewise.
53289
53290 2008-09-21  Bruno Haible  <bruno@clisp.org>
53291
53292         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
53293         whether 'struct sigaction' has sa_sigaction here...
53294         (gl_PREREQ_SIG_HANDLER_H): ... not here.
53295         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
53296
53297 2008-09-21  Bruno Haible  <bruno@clisp.org>
53298
53299         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
53300         section.
53301         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
53302         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
53303         the new section.
53304         (Support for obsolete systems lacking POSIX:2001): New section.
53305         (String handling <string.h>): Move strdup to the new section.
53306         Suggested by Simon Josefsson and Paolo Bonzini.
53307
53308 2008-09-21  Bruno Haible  <bruno@clisp.org>
53309
53310         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
53311         exponents in %e and %g results on 'long double'. Needed for mingw's
53312         improved *printf functions.
53313         * tests/test-vasprintf-posix.c (test_function): Likewise.
53314         * tests/test-snprintf-posix.h (test_function): Likewise.
53315         * tests/test-sprintf-posix.h (test_function): Likewise.
53316         Reported by Eric Blake.
53317
53318 2008-09-21  Bruno Haible  <bruno@clisp.org>
53319
53320         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
53321         * tests/test-sprintf-posix.h (test_function): Likewise.
53322
53323 2008-09-21  Bruno Haible  <bruno@clisp.org>
53324
53325         * modules/getpass (Depends-on): Add strdup-posix.
53326
53327         New module 'strdup-posix'.
53328         * modules/strdup-posix: New file.
53329         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
53330         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
53331         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
53332         REPLACE_STRDUP.
53333         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
53334         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
53335         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
53336         strdup-posix.
53337
53338         * modules/strdup (Depends-on): Remove malloc-posix.
53339
53340 2008-09-20  Bruno Haible  <bruno@clisp.org>
53341
53342         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
53343         Wildenhues.
53344
53345 2008-09-20  Bruno Haible  <bruno@clisp.org>
53346
53347         Ensure that wint_t gets defined on IRIX 5.3.
53348         * lib/wchar.in.h (wint_t): Define if not defined by the system.
53349         * lib/wctype.in.h (wint_t): Likewise.
53350         (__wctype_wint_t): Remove type.
53351         (isw*): Use wint_t instead of __wctype_wint_t.
53352         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
53353         * modules/wchar (Files): Add m4/wint_t.m4.
53354         (Makefile.am): Substitute HAVE_WINT_T.
53355         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
53356         * tests/test-wctype.c: Check that wint_t is defined.
53357         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
53358         * doc/posix-headers/wctype.texi: Likewise.
53359         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
53360
53361 2008-09-18  Bruno Haible  <bruno@clisp.org>
53362
53363         * gnulib-tool (func_exit): Update comment.
53364
53365 2008-09-18  Simon Josefsson  <simon@josefsson.org>
53366
53367         * modules/getaddrinfo (Depends-on): Remove strdup, this module
53368         assumes strdup exists and does not depend on strdup to return
53369         ENOMEM on out of memory conditions.
53370
53371 2008-09-18  Bruno Haible  <bruno@clisp.org>
53372
53373         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
53374         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
53375         digits for the exponent.
53376
53377 2008-09-18  Jim Meyering  <meyering@redhat.com>
53378             Bruno Haible  <bruno@clisp.org>
53379
53380         * lib/vasnprintf.c (decimal_point_char): Define also if
53381         NEED_PRINTF_INFINITE_LONG_DOUBLE.
53382
53383 2008-09-16  Bruno Haible  <bruno@clisp.org>
53384         and Eric Blake  <ebb9@byu.net>
53385
53386         vasnprintf: support Irix 5.3
53387         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
53388         that mishandle long double infinity.
53389         Reported by Tom G. Christensen.
53390
53391 2008-09-16  Bruno Haible  <bruno@clisp.org>
53392
53393         * doc/glibc-functions/scandir.texi: Mention the function is missing on
53394         Solaris 9.
53395         * doc/glibc-functions/alphasort.texi: Likewise.
53396         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
53397
53398 2008-09-16  Jim Meyering  <meyering@redhat.com>
53399
53400         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
53401         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
53402         a umask modification leak out of a subshell.  Otherwise, the
53403         opensolaris /bin/sh would be accepted and thus cause unwarranted
53404         failures in the coreutils test suite.
53405
53406 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
53407
53408         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
53409         to succeed.
53410
53411 2008-09-16  Jim Meyering  <meyering@redhat.com>
53412
53413         avoid spurious test failure when library is built without ACL support
53414         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
53415         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
53416         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
53417         * tests/test-copy-acl.sh: Likewise.
53418
53419 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53420
53421         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
53422         based on character occurrence counts.
53423
53424 2008-09-15  Eric Blake  <ebb9@byu.net>
53425
53426         tests: avoid some compiler warnings
53427         * tests/test-memchr.c (main): Pass NULL indirectly.
53428         * tests/test-closein.c (main): Avoid unused variable.
53429
53430 2008-09-15  Bruno Haible  <bruno@clisp.org>
53431
53432         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
53433         are missing on OpenBSD 4.0 individually.
53434         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
53435
53436 2008-09-15  Bruno Haible  <bruno@clisp.org>
53437
53438         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
53439         * doc/posix-functions/strerror.texi: Mention also Cygwin.
53440         * doc/posix-functions/perror.texi: Likewise.
53441         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
53442         is missing.
53443         Reported by Eric Blake.
53444
53445         * lib/errno.in.h: Use replacement values >= 2000.
53446         Reported by Eric Blake.
53447
53448 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53449
53450         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
53451         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
53452         limit.
53453         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
53454         compareseq was aborted.
53455
53456 2008-09-14  Bruno Haible  <bruno@clisp.org>
53457
53458         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
53459         yvec_edit_count.
53460         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
53461         (fstrcmp_bounded): Simplify result computation accordingly.
53462
53463 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53464
53465         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
53466         (fstrcmp): Define in terms of fstrcmp_bounded.
53467         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
53468         lower_bound argument.
53469         Return quickly if the result is certainly < lower_bound.
53470         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
53471
53472 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53473
53474         * lib/diffseq.h (EARLY_ABORT): New macro.
53475         (compareseq): Change return type to bool. Return true when EARLY_ABORT
53476         evaluates to true.
53477
53478 2008-09-14  Bruno Haible  <bruno@clisp.org>
53479
53480         * modules/perror-tests: New file.
53481         * tests/test-perror.sh: New file.
53482         * tests/test-perror.c: New file.
53483
53484         New module 'perror'.
53485         * lib/stdio.in.h (perror): New declaration.
53486         * lib/perror.c: New file.
53487         * m4/perror.m4: New file.
53488         * modules/perror: New file.
53489         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
53490         * doc/posix-functions/perror.texi: Mention the perror module.
53491         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
53492         REPLACE_PERROR.
53493         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
53494         REPLACE_PERROR.
53495
53496 2008-09-14  Bruno Haible  <bruno@clisp.org>
53497
53498         * modules/stdio (Makefile.am): Reorder to match the order in
53499         lib/stdio.in.h.
53500         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
53501
53502 2008-09-13  Bruno Haible  <bruno@clisp.org>
53503
53504         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
53505
53506 2008-09-13  Bruno Haible  <bruno@clisp.org>
53507
53508         Extend strerror to cover the added errno values.
53509         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
53510         (rpl_strerror): Provide error messages for the added errno values and
53511         for the WSA* values.
53512         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
53513         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
53514         strerror.
53515         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
53516         * modules/strerror (Depends-on): Add errno.
53517         * doc/posix-functions/strerror.texi: Document the change.
53518         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
53519         and EOVERFLOW.
53520
53521 2008-09-13  Bruno Haible  <bruno@clisp.org>
53522
53523         * modules/EOVERFLOW: Remove file.
53524         * m4/eoverflow.m4: Remove file.
53525         * modules/EOVERFLOW-tests: Remove file.
53526         * tests/test-EOVERFLOW.c: Remove file.
53527         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
53528         * modules/ftell (Depends-on): Likewise.
53529         * modules/getdelim (Depends-on): Likewise.
53530         * modules/getugroups (Depends-on): Likewise.
53531         * modules/poll (Depends-on): Likewise.
53532         * modules/snprintf (Depends-on): Likewise.
53533         * modules/sprintf-posix (Depends-on): Likewise.
53534         * modules/vasnprintf (Depends-on): Likewise.
53535         * modules/vasprintf (Depends-on): Likewise.
53536         * modules/vfprintf-posix (Depends-on): Likewise.
53537         * modules/vsnprintf (Depends-on): Likewise.
53538         * modules/vsprintf-posix (Depends-on): Likewise.
53539         * modules/xvasprintf (Depends-on): Likewise.
53540         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
53541         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
53542         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
53543         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
53544         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
53545         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
53546         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
53547         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
53548         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
53549         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
53550         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
53551         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
53552         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
53553         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
53554         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
53555         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
53556         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
53557         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
53558         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
53559         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
53560         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
53561         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
53562         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
53563         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
53564         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
53565         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
53566         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
53567         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
53568         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
53569         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
53570         * MODULES.html.sh: Remove EOVERFLOW.
53571         * NEWS: Mention the change.
53572
53573 2008-09-13  Bruno Haible  <bruno@clisp.org>
53574
53575         * modules/errno-tests: New file.
53576         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
53577
53578         * lib/errno.in.h: New file.
53579         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
53580         * modules/errno: New file.
53581         * doc/posix-headers/errno.texi: Update documentation.
53582         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
53583
53584 2008-09-13  Bruno Haible  <bruno@clisp.org>
53585
53586         * tests/test-poll.c: Use #if for native Windows, rather than testing
53587         __MSVCRT__.
53588
53589 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53590             Bruno Haible  <bruno@clisp.org>
53591
53592         * lib/glob.c: Don't include <pwd.h> on native Windows.
53593         (WINDOWS32): New macro.
53594         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
53595
53596 2008-09-13  Bruno Haible  <bruno@clisp.org>
53597
53598         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
53599         (ETIMEDOUT): Remove macro.
53600         (glthread_cond_timedwait_multithreaded): New declaration.
53601         (glthread_cond_timedwait): Use it.
53602         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
53603         (glthread_cond_timedwait_multithreaded): New function.
53604
53605 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
53606
53607         * modules/poll-tests: Do not check for io.h.
53608         * tests/test-poll.c: Check for __MSVCRT__ instead.
53609
53610 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
53611
53612         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
53613         * modules/poll-tests: Add inet_pton, stdbool, sockets.
53614         * tests/test-poll.c: Use them.  Use _pipe on Windows.
53615
53616 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
53617
53618         * modules/poll-tests: New.
53619         * tests/test-poll.c: New.
53620
53621 2008-09-12  Eric Blake  <ebb9@byu.net>
53622
53623         frexp: test for NetBSD failure on -0.0
53624         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
53625         not all, bugs from NetBSD 3.0 have been fixed.
53626         * doc/posix-functions/frexp.texi (frexp): Document bug.
53627         Reported by Thomas Klausner.
53628
53629         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
53630         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
53631         literal -0.0.
53632         Reported by Jonathan C. Patschke <jp@centtech.com>.
53633
53634 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53635
53636         * lib/glthread/cond.h: Use dummy implementation also if
53637         USE_WIN32_THREADS.
53638
53639 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53640
53641         * modules/fnmatch-posix (License): Change to LGPLv2+.
53642         * modules/fnmatch-gnu (License): Likewise.
53643
53644 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53645
53646         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
53647
53648 2008-09-11  Jim Meyering  <meyering@redhat.com>
53649
53650         * users.txt: Add gtk-vnc.
53651
53652 2008-09-08  Simon Josefsson  <simon@josefsson.org>
53653
53654         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
53655         rotate amounts.
53656
53657         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
53658         required for 16-bit and 8-bit rotates.
53659         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
53660         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
53661         UINT8_MAX instead of hard-coded constants.
53662         Suggested by Paul Eggert.
53663
53664 2008-09-07  Bruno Haible  <bruno@clisp.org>
53665
53666         * tests/test-striconveh.c (main): Check behaviour when converting from
53667         UTF-7.
53668
53669         Make striconveh work better with stateful encodings.
53670         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
53671         that iconv does not increment the inptr when returning -1/EINVAL.
53672
53673 2008-09-07  Bruno Haible  <bruno@clisp.org>
53674
53675         * build-aux/config.rpath: Update according to libtool-2.2.6.
53676         * build-aux/config.libpath: Likewise.
53677
53678 2008-09-06  Bruno Haible  <bruno@clisp.org>
53679
53680         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
53681         * lib/freadptr.c (freadptr): Likewise.
53682         * lib/freadseek.c (freadptrinc): Likewise.
53683         Reported by Simon Josefsson.
53684
53685 2008-09-06  Bruno Haible  <bruno@clisp.org>
53686
53687         * modules/freadptr (License): Change to LGPLv2+.
53688         * modules/freadseek (License): Likewise.
53689         Suggested by Eric Blake.
53690
53691         * modules/memchr2 (License): Change to LGPLv2+.
53692         Approved by Eric Blake.
53693
53694 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53695             Bruno Haible  <bruno@clisp.org>
53696
53697         Make gnulib-tool work with native 'sed' on AIX.
53698         * gnulib-tool (sed_noop): New variable.
53699         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
53700         func_add_or_update, func_create_testdir): Use it to initialize sed
53701         script variables.
53702         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
53703
53704 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
53705             Bruno Haible  <bruno@clisp.org>
53706
53707         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
53708         also works after #include directives.
53709
53710 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
53711
53712         getdate.y: reject an out-of-range timezone value
53713         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
53714         the range [-24...+24].  When specified with only one or two digits,
53715         * tests/test-getdate.c: Tests for the fix.
53716         * doc/getdate.texi: Document this change.
53717
53718 2008-09-03  Bruno Haible  <bruno@clisp.org>
53719
53720         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
53721
53722 2008-09-02  Simon Josefsson  <simon@josefsson.org>
53723
53724         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
53725         <bruce.korb@gmail.com> with ideas from Ben Pfaff
53726         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
53727         Blake <ebb9@byu.net>.
53728
53729         * tests/test-bitrotate.c: Add more test vectors.
53730
53731 2008-09-02  Eric Blake  <ebb9@byu.net>
53732
53733         vasnprintf-posix: handle large precision via %.*d
53734         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
53735         when handling it ourselves.
53736         * tests/test-vasnprintf-posix.c (test_function): Add test.
53737         * tests/test-snprintf-posix.h (test_function): Likewise.
53738         * tests/test-sprintf-posix.h (test_function): Likewise.
53739         * tests/test-vasprintf-posix.c (test_function): Likewise.
53740         Reported by Alain Guibert.
53741
53742 2008-09-01  Eric Blake  <ebb9@byu.net>
53743
53744         c-stack: make configure-time check more robust
53745         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
53746         successful sigaction call.
53747         Reported by Tom G. Christensen.
53748
53749 2008-09-01  Bruno Haible  <bruno@clisp.org>
53750
53751         New module 'findprog-lgpl'.
53752         * modules/findprog-lgpl: New file.
53753         * lib/findprog-lgpl.c: New file.
53754         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
53755         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
53756         to decide whether to use strdup or xstrdup, concatenated_filename or
53757         xconcatenated_filename.
53758
53759 2008-09-01  Bruno Haible  <bruno@clisp.org>
53760
53761         Split module 'concat-filename' into 'concat-filename' (LGPL) and
53762         'xconcat-filename' (GPL).
53763         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
53764         (License): Change to LGPLv2+.
53765         * modules/xconcat-filename: New file.
53766         * lib/concat-filename.h (concatenated_filename): Change specification.
53767         (xconcatenated_filename): New declaration.
53768         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
53769         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
53770         memory situations.
53771         * lib/xconcat-filename.c: New file.
53772         * NEWS: Mention the change.
53773         * lib/findprog.c: Include concat-filename.h, not filename.h.
53774         (find_in_path): Use xconcatenated_filename instead of
53775         concatenated_filename.
53776         * lib/javacomp.c: Include concat-filename.h, not filename.h.
53777         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
53778         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
53779         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
53780         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
53781         instead of concatenated_filename.
53782         * lib/javaexec.c: Include concat-filename.h, not filename.h.
53783         (execute_java_class): Use xconcatenated_filename instead of
53784         concatenated_filename.
53785         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
53786         * modules/javacomp (Depends-on): Likewise.
53787         * modules/javaexec (Depends-on): Likewise.
53788
53789 2008-09-01  Bruno Haible  <bruno@clisp.org>
53790
53791         Split module 'filename' into 'filename' and 'concat-filename'.
53792         * modules/filename: Keep only lib/filename.h.
53793         (License): Change to LGPLv2+.
53794         * modules/concat-filename: New file, extracted from modules/filename.
53795         * lib/filename.h (concatenated_filename): Remove declaration.
53796         * lib/concat-filename.h: New file, extracted from lib/filename.h.
53797         * lib/concat-filename.c: Include concat-filename.h.
53798         * NEWS: Mention the change.
53799
53800 2008-09-01  Simon Josefsson  <simon@josefsson.org>
53801
53802         * lib/bitrotate.h (rotl8, rotr8): Add.
53803
53804         * modules/bitrotate (configure.ac): Need
53805         AC_REQUIRE([AC_C_INLINE]).
53806         (Description): Mention stdint.h.  Reported by Bruno Haible
53807         <bruno@clisp.org>.
53808
53809         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
53810         Paolo Bonzini <bonzini@gnu.org>.
53811
53812 2008-08-31  Bruno Haible  <bruno@clisp.org>
53813
53814         Assume Solaris specific bi-arch conventions on Solaris systems.
53815         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
53816         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
53817         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
53818         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
53819         like acl_libdirstem.
53820         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
53821         acl_libdirstem.
53822         * NEWS: Mention the change.
53823         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
53824
53825 2008-08-31  Jim Meyering  <meyering@redhat.com>
53826
53827         * lib/strftime.h: Add comments describing the two added arguments.
53828
53829         remove duplicate #include directives
53830         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
53831         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
53832
53833 2008-08-31  Bruno Haible  <bruno@clisp.org>
53834
53835         New module 'sigpipe-die'.
53836         * modules/sigpipe-die: New file.
53837         * lib/sigpipe-die.h: New file.
53838         * lib/sigpipe-die.c: New file.
53839         * MODULES.html.sh (Signal handling): Add sigpipe-die.
53840
53841 2008-08-31  Bruno Haible  <bruno@clisp.org>
53842
53843         Don't override previously installed signal handlers.
53844         * lib/fatal-signal.c (saved_sigactions): New variable.
53845         (uninstall_handlers): Reset the signal to the saved handler, not
53846         to SIG_DFL (except when ignored).
53847         (install_handlers): Save the previous handlers.
53848
53849 2008-08-30  Bruno Haible  <bruno@clisp.org>
53850
53851         * gnulib-tool (func_reset_sigpipe): New function.
53852         (func_get_automake_snippet, func_modules_transitive_closure,
53853         func_import): Invoke it before a join command that reads from stdin,
53854         to avoid "echo: write error: Broken pipe" error messages on stderr.
53855         Reported by Sam Steingold <sds@gnu.org>.
53856
53857 2008-08-30  Bruno Haible  <bruno@clisp.org>
53858
53859         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
53860         Code copied from m4/open.m4.
53861         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
53862         access and the filename ends in a slash. Code copied from lib/open.c.
53863         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
53864         * tests/test-fopen.c (main): Check against bug with trailing slash.
53865
53866 2008-08-29  Bruno Haible  <bruno@clisp.org>
53867
53868         Avoid some "gcc -pedantic" warnings.
53869         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
53870         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
53871         * lib/dirent.in.h: Likewise.
53872         * lib/fcntl.in.h: Likewise.
53873         * lib/float.in.h: Likewise.
53874         * lib/iconv.in.h: Likewise.
53875         * lib/inttypes.in.h: Likewise.
53876         * lib/locale.in.h: Likewise.
53877         * lib/math.in.h: Likewise.
53878         * lib/netinet_in.in.h: Likewise.
53879         * lib/search.in.h: Likewise.
53880         * lib/signal.in.h: Likewise.
53881         * lib/stdarg.in.h: Likewise.
53882         * lib/stdint.in.h: Likewise.
53883         * lib/stdio.in.h: Likewise.
53884         * lib/stdlib.in.h: Likewise.
53885         * lib/string.in.h: Likewise.
53886         * lib/strings.in.h: Likewise.
53887         * lib/sys_select.in.h: Likewise.
53888         * lib/sys_socket.in.h: Likewise.
53889         * lib/sys_stat.in.h: Likewise.
53890         * lib/sys_time.in.h: Likewise.
53891         * lib/sysexits.in.h: Likewise.
53892         * lib/time.in.h: Likewise.
53893         * lib/unistd.in.h: Likewise.
53894         * lib/wchar.in.h: Likewise.
53895         * lib/wctype.in.h: Likewise.
53896         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
53897         * modules/fchdir (Makefile.am): Likewise.
53898         * modules/fcntl (Makefile.am): Likewise.
53899         * modules/float (Makefile.am): Likewise.
53900         * modules/iconv_open (Makefile.am): Likewise.
53901         * modules/inttypes (Makefile.am): Likewise.
53902         * modules/locale (Makefile.am): Likewise.
53903         * modules/math (Makefile.am): Likewise.
53904         * modules/netinet_in (Makefile.am): Likewise.
53905         * modules/search (Makefile.am): Likewise.
53906         * modules/signal (Makefile.am): Likewise.
53907         * modules/stdarg (Makefile.am): Likewise.
53908         * modules/stdint (Makefile.am): Likewise.
53909         * modules/stdio (Makefile.am): Likewise.
53910         * modules/stdlib (Makefile.am): Likewise.
53911         * modules/string (Makefile.am): Likewise.
53912         * modules/strings (Makefile.am): Likewise.
53913         * modules/sys_select (Makefile.am): Likewise.
53914         * modules/sys_socket (Makefile.am): Likewise.
53915         * modules/sys_stat (Makefile.am): Likewise.
53916         * modules/sys_time (Makefile.am): Likewise.
53917         * modules/sysexits (Makefile.am): Likewise.
53918         * modules/time (Makefile.am): Likewise.
53919         * modules/unistd (Makefile.am): Likewise.
53920         * modules/wchar (Makefile.am): Likewise.
53921         * modules/wctype (Makefile.am): Likewise.
53922         Reported by Reuben Thomas <rrt@sc3d.org>.
53923
53924 2008-08-29  Bruno Haible  <bruno@clisp.org>
53925
53926         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
53927         any more.
53928
53929 2008-08-29  Simon Josefsson  <simon@josefsson.org>
53930
53931         * MODULES.html.sh (Misc): Add bitrotate.
53932
53933         * modules/bitrotate: New file.
53934
53935         * lib/bitrotate.h: New file.
53936
53937         * modules/bitrotate-tests: New file.
53938
53939         * tests/test-bitrotate.c: New file.
53940
53941         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
53942         on the bitrotate module.
53943
53944         * lib/arctwo.c: Use new bitrotate module.
53945
53946 2008-08-29  Jim Meyering  <meyering@redhat.com>
53947
53948         bootstrap: merge changes from coreutils
53949         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
53950         of copied files.  Remove a kludge, now that this is fixed.
53951         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
53952         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
53953         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
53954
53955 2008-08-29  Bruno Haible  <bruno@clisp.org>
53956
53957         * MODULES.html.sh: Remove --cvs-urls option.
53958
53959 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
53960
53961         maint.mk: adjust to file name change
53962         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
53963
53964 2008-08-28  Jim Meyering  <meyering@redhat.com>
53965
53966         * modules/getndelim2 (License): Relicense to LGPLv2+.
53967         Approved by Richard Stallman for the version of 1995, and by
53968         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
53969
53970 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
53971
53972         * lib/getdelim.c (flockfile, funlockfile): Make all of them
53973         dummy if one is not available.  Do not touch them if
53974         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
53975         (getc_maybe_unlocked): New.
53976         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
53977
53978 2008-08-26  Eric Blake  <ebb9@byu.net>
53979
53980         doc/INSTALL: resync from autoconf
53981         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
53982         (INSTALL_PRELUDE): Delete; this is done more efficiently by
53983         moving...
53984         * install.texi [!autoconf]: ...here.  Resync from autoconf.
53985         * INSTALL: Regenerate.
53986         * INSTALL.ISO: New file.
53987         * INSTALL.UTF-8: Likewise.
53988
53989 2008-08-26  Jim Meyering  <meyering@redhat.com>
53990
53991         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
53992         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
53993         these definitions conditional, so that they may be overridden, too.
53994
53995 2008-08-26  Bruno Haible  <bruno@clisp.org>
53996
53997         Generate INSTALL file variants with prettier quotes.
53998         * doc/Makefile (INSTALL_PRELUDE): New macro.
53999         (INSTALL): Use it.
54000         (INSTALL.ISO, INSTALL.UTF-8): New rules.
54001
54002 2008-08-26  Bruno Haible  <bruno@clisp.org>
54003
54004         Run makeinfo in an English locale.
54005         * doc/Makefile (MAKEINFO): New variable.
54006
54007 2008-08-26  Bruno Haible  <bruno@clisp.org>
54008
54009         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
54010         Suggested by Eric Blake.
54011
54012 2008-08-25  Bruno Haible  <bruno@clisp.org>
54013
54014         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
54015
54016 2008-08-25  Eric Blake  <ebb9@byu.net>
54017
54018         c-stack: test that stack overflow can be caught
54019         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
54020         that platform allows handling stack overflow; at least OS/2 EMX
54021         has sigaltstack, but crashes before transferring control to
54022         handler on stack overflow.
54023         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
54024         check for HAVE_STACK_OVERFLOW_HANDLING.
54025         Reported by Elbert Pol.
54026
54027 2008-08-25  Bruno Haible  <bruno@clisp.org>
54028
54029         * doc/posix-functions/strftime.texi: Fix description of strftime
54030         module.
54031
54032 2008-08-24  Bruno Haible  <bruno@clisp.org>
54033
54034         * tests/uniwidth/test-uc_width2.c: New file.
54035         * tests/uniwidth/test-uc_width2.sh: New file.
54036         * modules/uniwidth/width-tests (Files): Add the new files.
54037         (TESTS): Add uniwidth/test-uc_width2.sh.
54038         (TESTS_ENVIRONMENT): New variable.
54039         (check_PROGRAMS): Add test-uc_width2.
54040         (test_uc_width2_SOURCES): New variable.
54041
54042         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
54043         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
54044         not 0x00AB.
54045         Reported by Alexander V. Lukyanov <lav@netis.ru>.
54046
54047 2008-08-22  Eric Blake  <ebb9@byu.net>
54048
54049         test-lock, test-tls: mention why a test is skipped
54050         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
54051         skipped.
54052         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
54053
54054         count-one-bits: relax license
54055         * modules/count-one-bits (License): Relicense to LGPLv2+.
54056         Suggested by Ludovic Courtès, approved by Ben Pfaff.
54057
54058 2008-08-22  Andreas Schwab  <schwab@suse.de>
54059
54060         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
54061         Remove spurious space in assignment.
54062
54063 2008-08-21  Simon Josefsson  <simon@josefsson.org>
54064
54065         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
54066         Paul Eggert <eggert@CS.UCLA.EDU>.
54067
54068 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
54069
54070         * modules/gettext: Add m4/threadlib.m4.
54071
54072 2008-08-19  Eric Blake  <ebb9@byu.net>
54073
54074         test-c-stack: fix compilation failure on FreeBSD 5.0
54075         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
54076         headers before <sys/resource.h>.
54077         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
54078         the bug.
54079         Reported by Nelson H. F. Beebe.
54080
54081         strverscmp: migrate from "strverscmp.h" to <string.h>
54082         * modules/string (Makefile.am): Add new hooks.
54083         * modules/strverscmp (Files): Remove strverscmp.h.
54084         (Depends-on): Add string.
54085         (configure.ac): Add indicator.
54086         (Include): Mention new header.
54087         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
54088         defaults.
54089         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
54090         results.
54091         * lib/strverscmp.h: Delete.
54092         * lib/string.in.h (strverscmp): Provide declaration, when needed.
54093         * tests/test-strverscmp.c (includes): Adjust client.
54094         * lib/check-version.c (includes): Likewise.
54095         * NEWS: Document the change.
54096
54097         strverscmp: add unit test
54098         * modules/strverscmp-tests: New file.
54099         * tests/test-strverscmp.c: Likewise.
54100
54101 2008-08-19  Simon Josefsson  <simon@josefsson.org>
54102
54103         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
54104         regarding Windows crypto stuff, from Mono.
54105
54106 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
54107
54108         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
54109         if present, for intel RND.  Return error on failures.
54110
54111 2008-08-18  Ben Pfaff  <blp@gnu.org>
54112
54113         gitlog-to-changelog: give better diagnostic for failed pipe-open
54114         * build-aux/gitlog-to-changelog: Improve error message: suggest
54115         that the version of Git may be too old.
54116
54117 2008-08-18  Simon Josefsson  <simon@josefsson.org>
54118
54119         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
54120         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
54121
54122 2008-08-18  Bruno Haible  <bruno@clisp.org>
54123
54124         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
54125         pthread_in_use().
54126
54127 2008-08-18  Bruno Haible  <bruno@clisp.org>
54128
54129         * lib/glthread/threadlib.c: Include <pthread.h>.
54130
54131 2008-08-18  Bruno Haible  <bruno@clisp.org>
54132
54133         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
54134         glthread_recursive_lock_* macros.
54135         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
54136         Fix syntax error.
54137
54138 2008-08-18  Bruno Haible  <bruno@clisp.org>
54139
54140         * lib/glthread/thread.c: Avoid forcing a context switch right after
54141         thread creation.
54142
54143 2008-08-17  Bruno Haible  <bruno@clisp.org>
54144
54145         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
54146         * lib/glthread/thread.h: Provide Win32 specific implementation.
54147         * modules/thread (Files): Add lib/glthread/thread.c.
54148         (Depends-on): Add lock.
54149         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
54150
54151 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54152
54153         New module 'yield'.
54154         * modules/yield: New file.
54155         * lib/glthread/yield.h: New file.
54156         * m4/yield.m4: New file.
54157         * MODULES.html.sh (Multithreading): Add yield.
54158
54159 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54160
54161         New module 'thread'.
54162         * modules/thread: New file.
54163         * lib/glthread/thread.h: New file.
54164         * m4/thread.m4: New file.
54165         * MODULES.html.sh (Multithreading): Add thread.
54166
54167 2008-08-17  Bruno Haible  <bruno@clisp.org>
54168
54169         * lib/glthread/lock.h: Include <stdlib.h> always.
54170         * lib/glthread/tls.h: Likewise.
54171         * lib/glthread/cond.h: Likewise.
54172
54173 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54174
54175         New module 'cond'.
54176         * modules/cond: New file.
54177         * lib/glthread/cond.h: New file.
54178         * lib/glthread/cond.c: New file.
54179         * m4/cond.m4: New file.
54180         * MODULES.html.sh (Multithreading): Add cond.
54181
54182 2008-08-16  Eric Blake  <ebb9@byu.net>
54183
54184         c-stack: fix regression on Irix 5.3 from 2008-06-21
54185         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
54186         sa_sigaction...
54187         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
54188         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
54189         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
54190         * modules/signal (Makefile.am): Use the value.
54191         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
54192         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
54193         * doc/posix-headers/signal.texi (signal.h): Document this
54194         portability issue.
54195         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
54196         Reported by Tom G. Christensen.
54197
54198 2008-08-17  Bruno Haible  <bruno@clisp.org>
54199
54200         New module 'threadlib'.
54201         * modules/threadlib: New file.
54202         * lib/glthread/threadlib.c: New file, extracted from
54203         lib/glthread/lock.c.
54204         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
54205         functions.
54206         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
54207         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
54208         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
54209         macros.
54210         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
54211         (gl_DISABLE_THREADS): Remove macro.
54212         * modules/lock (Files): Remove build-aux/config.rpath.
54213         (Depends-on): Remove havelib. Add threadlib.
54214         (configure.ac-early): Remove section.
54215         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
54216         * modules/tls (Depends-on): Remove lock. Add threadlib.
54217         (Link): New section, copied from threadlib.
54218         * MODULES.html.sh (Multithreading): Add threadlib.
54219
54220 2008-08-14  Bruno Haible  <bruno@clisp.org>
54221
54222         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
54223         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
54224         glthread_rwlock_unlock, glthread_rwlock_destroy,
54225         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
54226         glthread_recursive_lock_destroy): Define as macros always.
54227         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
54228         glthread_lock_lock.
54229         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
54230         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
54231         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
54232         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
54233         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
54234         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
54235         (glthread_recursive_lock_lock_func): Renamed from
54236         glthread_recursive_lock_lock.
54237         (glthread_recursive_lock_unlock_func): Renamed from
54238         glthread_recursive_lock_unlock.
54239         (glthread_recursive_lock_destroy_func): Renamed from
54240         glthread_recursive_lock_destroy.
54241
54242 2008-08-14  Bruno Haible  <bruno@clisp.org>
54243
54244         * lib/glthread/lock.h: Renamed from lib/lock.h.
54245         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
54246         * lib/glthread/tls.h: Renamed from lib/tls.h.
54247         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
54248         * lib/fstrcmp.c: Update includes.
54249         * lib/strsignal.c: Update includes.
54250         * modules/lock (Files, Makefile.am): Update.
54251         (Include): Change to "glthread/lock.h".
54252         * modules/tls (Files, Makefile.am): Update.
54253         (Include): Change to "glthread/tls.h".
54254         * tests/test-lock.c: Update includes.
54255         * tests/test-tls.c: Update includes.
54256         * NEWS: Mention the renamed header files.
54257
54258 2008-08-11  Jim Meyering  <meyering@redhat.com>
54259
54260         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
54261
54262 2008-08-11  Eric Blake  <ebb9@byu.net>
54263
54264         test-c-stack: avoid C99-ism
54265         * tests/test-c-stack.c (main): Fix whitespace, move declaration
54266         before statement.
54267         Reported by Alain Guibert.
54268
54269 2008-08-10  Jim Meyering  <meyering@redhat.com>
54270
54271         ensure that return value of uinttostr et al are not ignored
54272         * lib/inttostr.h (__GNUC_PREREQ): Define.
54273         (__attribute_warn_unused_result__): Define.
54274         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
54275
54276 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
54277
54278         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
54279         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
54280
54281 2008-08-07  Jim Meyering  <meyering@redhat.com>
54282
54283         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
54284
54285         * modules/mkstemp (License): Relicense under LGPLv2+.
54286         * modules/tempname (License): Likewise.
54287
54288 2008-08-06  Bruno Haible  <bruno@clisp.org>
54289
54290         * lib/poll.c (poll): Further micro-optimization.
54291
54292 2008-08-06  Jim Meyering  <meyering@redhat.com>
54293
54294         inet_pton.c: use locale-independent tolower
54295         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
54296         (inet_pton6): Use c_tolower rather than tolower.
54297         * modules/inet_pton (Depends-on): Add c-ctype.
54298
54299 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
54300
54301         * lib/poll.c (poll): Avoid division when timeout is 0, cache
54302         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
54303
54304 2008-08-06  Jim Meyering  <meyering@redhat.com>
54305
54306         * modules/inet_pton (License): Relicense under LGPLv2+.
54307
54308 2008-08-03  Bruno Haible  <bruno@clisp.org>
54309
54310         Additional non-aborting API for lock and tls.
54311         * lib/lock.h: Include <errno.h>.
54312         (glthread_lock_init): New macro/function.
54313         (gl_lock_init): Define as wrapper around glthread_lock_init.
54314         (glthread_lock_lock): New macro/function.
54315         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
54316         (glthread_lock_unlock): New macro/function.
54317         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
54318         (glthread_lock_destroy): New macro/function.
54319         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
54320         (glthread_rwlock_init): New macro/function.
54321         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
54322         (glthread_rwlock_rdlock): New macro/function.
54323         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
54324         (glthread_rwlock_wrlock): New macro/function.
54325         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
54326         (glthread_rwlock_unlock): New macro/function.
54327         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
54328         (glthread_rwlock_destroy): New macro/function.
54329         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
54330         (glthread_recursive_lock_init): New macro/function.
54331         (gl_recursive_lock_init): Define as wrapper around
54332         glthread_recursive_lock_init.
54333         (glthread_recursive_lock_lock): New macro/function.
54334         (gl_recursive_lock_lock): Define as wrapper around
54335         glthread_recursive_lock_lock.
54336         (glthread_recursive_lock_unlock): New macro/function.
54337         (gl_recursive_lock_unlock): Define as wrapper around
54338         glthread_recursive_lock_unlock.
54339         (glthread_recursive_lock_destroy): New macro/function.
54340         (gl_recursive_lock_destroy): Define as wrapper around
54341         glthread_recursive_lock_destroy.
54342         (glthread_once): New macro/function.
54343         (gl_once): Define as wrapper around glthread_once.
54344         Update function declarations.
54345         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
54346         glthread_rwlock_init. Return error code.
54347         (glthread_rwlock_rdlock_multithreaded): Renamed from
54348         glthread_rwlock_rdlock. Return error code.
54349         (glthread_rwlock_wrlock_multithreaded): Renamed from
54350         glthread_rwlock_wrlock. Return error code.
54351         (glthread_rwlock_unlock_multithreaded): Renamed from
54352         glthread_rwlock_unlock. Return error code.
54353         (glthread_rwlock_destroy_multithreaded): Renamed from
54354         glthread_rwlock_destroy. Return error code.
54355         (glthread_recursive_lock_init_multithreaded): Renamed from
54356         glthread_recursive_lock_init. Return error code.
54357         (glthread_recursive_lock_lock_multithreaded): Renamed from
54358         glthread_recursive_lock_lock. Return error code.
54359         (glthread_recursive_lock_unlock_multithreaded): Renamed from
54360         glthread_recursive_lock_unlock. Return error code.
54361         (glthread_recursive_lock_destroy_multithreaded): Renamed from
54362         glthread_recursive_lock_destroy. Return error code.
54363         (glthread_once_call): Make static.
54364         (glthread_once_multithreaded): Renamed from glthread_once.
54365         * lib/tls.h: Include <errno.h>.
54366         (glthread_tls_key_init): New macro/function.
54367         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
54368         (glthread_tls_set): New macro/function.
54369         (gl_tls_set): Define as wrapper around glthread_tls_set.
54370         (glthread_tls_key_destroy): New macro/function.
54371         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
54372         Update function declarations.
54373         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
54374         glthread_tls_get.
54375         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
54376
54377 2008-08-04  Eric Blake  <ebb9@byu.net>
54378
54379         gnumakefile: use space, not TAB, outside of targets
54380         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
54381
54382 2008-08-02  Jim Meyering  <meyering@redhat.com>
54383
54384         getdate.y: avoid locale-dependent date parsing failure
54385         In Turkish locales, getdate would fail to recognize keywords
54386         containing a lowercase "i".  The solution is not to rely on
54387         locale-sensitive case-conversion.
54388         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
54389         (lookup_word): Use c_toupper in place of toupper.
54390         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
54391         Reported by Vefa Bicakci <bicave@superonline.com> in
54392         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
54393         * modules/getdate (Depends-on): Add c-ctype.
54394
54395 2008-08-02  Bruno Haible  <bruno@clisp.org>
54396
54397         * gnulib-tool (func_import): When updating or creating a .gitignore
54398         file, prepend each added line with a slash, and ignore leading slashes
54399         from the existing lines.
54400         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
54401
54402 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54403
54404         Portability fix for GNU make 3.79.1.
54405         * top/GNUmakefile: Avoid 'else COND', which older GNU make
54406         versions do not understand.
54407
54408 2008-08-01  Bruno Haible  <bruno@clisp.org>
54409
54410         Work around bug of HP-UX 10.20 cc with -0.0 literal.
54411         * tests/test-isnanf.h (zero): New variable.
54412         (main): Avoid literal -0.0f.
54413         * tests/test-isnand.h (zero): New variable.
54414         (main): Avoid literal -0.0.
54415         * tests/test-isnanl.h (zero): New variable.
54416         (main): Avoid literal -0.0L.
54417         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
54418         (test_float, test_double, test_long_double): Avoid literals -0.0f,
54419         -0.0, -0.0L.
54420         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
54421         (test_signbitd): Avoid literal -0.0.
54422         (test_signbitl): Avoid literal -0.0L.
54423         * tests/test-ceilf1.c (zero): New variable.
54424         (main): Avoid literal -0.0f.
54425         * tests/test-ceill.c (zero): New variable.
54426         (main): Avoid literal -0.0L.
54427         * tests/test-floorf1.c (zero): New variable.
54428         (main): Avoid literal -0.0f.
54429         * tests/test-floorl.c (zero): New variable.
54430         (main): Avoid literal -0.0L.
54431         * tests/test-roundf1.c (zero): New variable.
54432         (main): Avoid literal -0.0f.
54433         * tests/test-round1.c (zero): New variable.
54434         (main): Avoid literal -0.0.
54435         * tests/test-roundl.c (zero): New variable.
54436         (main): Avoid literal -0.0L.
54437         * tests/test-truncf1.c (zero): New variable.
54438         (main): Avoid literal -0.0f.
54439         * tests/test-trunc1.c (zero): New variable.
54440         (main): Avoid literal -0.0.
54441         * tests/test-truncl.c (zero): New variable.
54442         (main): Avoid literal -0.0L.
54443         * tests/test-frexp.c (zero): New variable.
54444         (main): Avoid literal -0.0.
54445         * tests/test-frexpl.c (zero): New variable.
54446         (main): Avoid literal -0.0L.
54447         * tests/test-ldexpl.c (zero): New variable.
54448         (main): Avoid literal -0.0L.
54449         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
54450         (zerod, zerol): New variables.
54451         (test_function): Avoid literals -0.0, -0.0L.
54452         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
54453         (zerod, zerol): New variables.
54454         (test_function): Avoid literals -0.0, -0.0L.
54455         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
54456         (zerod, zerol): New variables.
54457         (test_function): Avoid literals -0.0, -0.0L.
54458         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
54459         (zerod, zerol): New variables.
54460         (test_function): Avoid literals -0.0, -0.0L.
54461         * tests/test-strtod.c (zero): New variable.
54462         (main): Avoid literal -0.0.
54463         Reported by Jonathan C. Patschke <jp@centtech.com>.
54464
54465 2008-07-31  Jim Meyering  <meyering@redhat.com>
54466
54467         sha256.h: correct definition of SHA224_DIGEST_SIZE
54468         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
54469         Reported by Paulie Pena IV <paulie4@gmail.com>.
54470         Define as 224 / 8, rather than as a literal.
54471         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
54472         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
54473         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
54474
54475 2008-07-31  Bruno Haible  <bruno@clisp.org>
54476
54477         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
54478         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
54479         Reported by Jonathan Patschke <jp@centtech.com>.
54480
54481 2008-07-31  Bruno Haible  <bruno@clisp.org>
54482
54483         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
54484         Reported by Paolo Bonzini <bonzini@gnu.org>.
54485
54486 2008-07-30  Eric Blake  <ebb9@byu.net>
54487
54488         test-strtod: allow compilation without -lm
54489         * tests/test-strtod.c (main): Avoid link dependence on fabs.
54490         Reported by Dennis Clarke <blastwave@gmail.com>.
54491
54492 2008-07-28  Jim Meyering  <meyering@redhat.com>
54493
54494         bootstrap: work also when there are no .po files in po/
54495         * build-aux/bootstrap (update_po_files): Complete the change
54496         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
54497
54498 2008-07-27  Jim Meyering  <meyering@redhat.com>
54499
54500         * users.txt: Add zile.
54501
54502 2008-07-26  Ben Pfaff  <blp@gnu.org>
54503
54504         Add missing dependencies on new m4/exponent[fdl].m4 files.
54505         * modules/isnanf-nolibm: Add m4/exponentf.m4.
54506         * modules/isnand-nolibm: Add m4/exponentd.m4.
54507         * modules/isnanl-nolibm: Add m4/exponentl.m4.
54508         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
54509         m4/isnan[fdl].m4, because the macros actually used moved.
54510         Reported by Jim Meyering.
54511
54512 2008-07-14  Ben Pfaff  <blp@gnu.org>
54513
54514         Add isinf module.
54515         * lib/isinf.c: New file.
54516         * lib/math.in.h: Define isinf macro if we have decided to replace
54517         it.
54518         * m4/isinf.m4: New file.
54519         * m4/math_h.m4: Initialize and substitute variables for isinf
54520         module.
54521         * modules/isinf: New file.
54522         * modules/isinf-tests: New file.
54523         * modules/math: Add substitutions for new module.
54524         * tests/test-isinf.c: New file.
54525         * doc/posix-functions/isinf.texi: Mention new module.
54526         * MODULES.html.sh: Mention new module.
54527
54528 2008-07-14  Ben Pfaff  <blp@gnu.org>
54529
54530         Factor out some macros for use by additional modules.
54531         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
54532         exponentf.m4.
54533         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
54534         exponentd.m4.
54535         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
54536         file exponentl.m4.
54537         * m4/exponentf.m4: New file.
54538         * m4/exponentd.m4: New file.
54539         * m4/exponentl.m4: New file.
54540         * modules/isnanf: Use new file m4/exponentf.m4.
54541         * modules/isnand: Use new file m4/exponentd.m4.
54542         * modules/isnanl: Use new file m4/exponentl.m4.
54543
54544 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
54545
54546         mktime.c: normalize tp->tm_isdst value to -1/0/1.
54547         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
54548         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
54549         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
54550
54551         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
54552         readlink on platforms without PATH_MAX.
54553
54554 2008-07-21  Eric Blake  <ebb9@byu.net>
54555
54556         Warn, not fail, on stale version.
54557         * top/GNUmakefile (_curr-ver): Tone down previous patch.
54558
54559         Don't allow installation with stale devel version number.
54560         * top/GNUmakefile (_is-install-target): New macro.
54561         (_curr-ver): Forbid installation with stale version number.
54562
54563 2008-07-20  Bruno Haible  <bruno@clisp.org>
54564
54565         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
54566         TESTS_ENVIRONMENT.
54567         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
54568
54569 2008-07-20  Bruno Haible  <bruno@clisp.org>
54570
54571         * lib/c-stack.h (c_stack_action): Add documentation.
54572         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
54573
54574 2008-07-20  Bruno Haible  <bruno@clisp.org>
54575
54576         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
54577         * modules/readlink (License): Likewise.
54578
54579 2008-07-17  Eric Blake  <ebb9@byu.net>
54580
54581         * modules/c-stack (Link): Fix typo.
54582
54583         Make c-stack use libsigsegv, when available.
54584         * modules/c-stack (Depends-on): Add libsigsegv.
54585         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
54586         needed.
54587         * lib/c-stack.c (SIGSTKSZ): Define fallback.
54588         (segv_handler, overflow_handler, c_stack_action)
54589         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
54590         implementation when libsigsegv is available, but only when using
54591         the library is necessary.
54592         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
54593         comment, explaining why XSI check fails on Linux.
54594         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
54595         * tests/test-c-stack2.sh: Tweak skip message.
54596         * NEWS: Document new link-time requirements.
54597
54598 2008-07-16  Eric Blake  <ebb9@byu.net>
54599
54600         c-stack: Expose false positives when not using libsigsegv.
54601         * modules/c-stack-tests (Files): Expand test.
54602         * tests/test-c-stack.c (main): Add means to conditionally trigger
54603         non-overflow SIGSEGV.
54604         * tests/test-c-stack2.sh: New file.
54605
54606 2008-07-14  Bruno Haible  <bruno@clisp.org>
54607
54608         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
54609         Reported by Eric Blake.
54610
54611 2008-07-14  Sam Steingold  <sds@gnu.org>
54612             Bruno Haible  <bruno@clisp.org>
54613
54614         New module libsigsegv.
54615         * modules/libsigsegv: New file.
54616         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
54617         modifications.
54618         * MODULES.html.sh (Signal handling): New section.
54619
54620 2008-07-14  Bruno Haible  <bruno@clisp.org>
54621
54622         * modules/unictype/ctype-* (Description): Add the word "function".
54623         Improves the resulting doc in MODULES.html.
54624
54625 2008-07-12  Ben Pfaff  <blp@gnu.org>
54626
54627         Add longlong module.
54628         * modules/longlong: New file.
54629
54630 2008-07-12  Bruno Haible  <bruno@clisp.org>
54631
54632         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
54633         to empty.
54634
54635 2008-07-10  Ben Pfaff  <blp@gnu.org>
54636
54637         Add isnan module.
54638         * doc/posix-functions/isnan.texi: Mention new module.
54639         * lib/math.in.h: Define isnan macro if we have decided to replace
54640         it.
54641         * m4/isnan.m4: New file.
54642         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
54643         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
54644         also.
54645         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
54646         redundancy.
54647         * m4/math_h.m4: Initialize and substitute variables for isnan
54648         module.
54649         * modules/isnan: New file.
54650         * modules/isnan-tests: New file.
54651         * modules/math: Add substitutions for new module.
54652         * tests/test-isnan.c: New file.
54653         * MODULES.html.sh: Mention new module.
54654
54655 2008-07-10  Ben Pfaff  <blp@gnu.org>
54656
54657         Add isnanf module.
54658         * lib/isnanf.m4: New file.
54659         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
54660         (gl_HAVE_ISNANF_IN_LIBM): New macro.
54661         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
54662         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
54663         * modules/isnanf: New file.
54664         * modules/isnanf-tests: New file.
54665         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
54666         files.
54667         * tests/test-isnanf-nolibm.c: factored most of its contents into
54668         new file tests/test-isnanf.h.
54669         * tests/test-isnanf.h: New file.
54670         * tests/test-isnanf.c: New file.
54671         * MODULES.html.sh: Mention new module.
54672         * doc/glibc-functions/isnanf.texi: Mention new module.
54673
54674 2008-07-10  Ben Pfaff  <blp@gnu.org>
54675
54676         Add isnand module.
54677         * lib/isnand.h: New file.
54678         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
54679         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
54680         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
54681         functionality also.
54682         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
54683         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
54684         (gl_HAVE_ISNAND_IN_LIBM): New macro.
54685         * modules/isnand: New file.
54686         * modules/isnand-tests: New file.
54687         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
54688         files.
54689         * tests/test-isnand-nolibm.c: factored most of its contents into
54690         new file tests/test-isnand.h.
54691         * tests/test-isnand.h: New file.
54692         * tests/test-isnand.c: New file.
54693         * MODULES.html.sh: Mention new module.
54694
54695 2008-07-10  Ben Pfaff  <blp@gnu.org>
54696
54697         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
54698         * lib/isnand.h: Rename lib/isnand-nolibm.h.
54699         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
54700         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
54701         * modules/isnanf-nolibm: Update references to renamed files.
54702         * modules/isnand-nolibm: Likewise.
54703         * modules/isnanf-nolibm-tests: Likewise.
54704         * modules/isnand-nolibm-tests: Likewise.
54705         * lib/frexp.c: Likewise.
54706         * lib/isfinite.c: Likewise.
54707         * lib/signbitd.c: Likewise.
54708         * lib/signbitf.c: Likewise.
54709         * lib/vasnprintf.c: Likewise.
54710         * tests/test-ceilf1.c: Likewise.
54711         * tests/test-ceilf2.c: Likewise.
54712         * tests/test-floorf1.c: Likewise.
54713         * tests/test-floorf2.c: Likewise.
54714         * tests/test-frexp.c: Likewise.
54715         * tests/test-round1.c: Likewise.
54716         * tests/test-round2.c: Likewise.
54717         * tests/test-roundf1.c: Likewise.
54718         * tests/test-strtod.c: Likewise.
54719         * tests/test-trunc1.c: Likewise.
54720         * tests/test-trunc2.c: Likewise.
54721         * tests/test-truncf1.c: Likewise.
54722         * tests/test-truncf2.c: Likewise.
54723         * NEWS: Mention the renamed header files.
54724
54725 2008-07-11  Jim Meyering  <meyering@redhat.com>
54726
54727         vc-list-files: make the last-resort awk code more portable
54728         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
54729         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
54730         does not support it.
54731
54732 2008-07-10  Eric Blake  <ebb9@byu.net>
54733
54734         Work with tar's bootstrap.
54735         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
54736         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
54737         an m4 comment.
54738
54739 2008-07-09  Jim Meyering  <meyering@redhat.com>
54740
54741         posix-shell.m4: fix typo that made this test malfunction
54742         * m4/posix-shell.m4: Remove capitalization in variable name.
54743
54744 2008-07-08  Bruno Haible  <bruno@clisp.org>
54745
54746         * m4/onceonly.m4: Update comments.
54747         Reported by Ben Pfaff <blp@cs.stanford.edu>.
54748
54749 2008-07-04  Jim Meyering  <meyering@redhat.com>
54750
54751         * users.txt: Add vc-dwim.
54752         (bison, coreutils): Use the gitweb URL.
54753
54754 2008-07-03  Jim Meyering  <meyering@redhat.com>
54755
54756         * users.txt: Add libffcall.  From Sam Steingold.
54757
54758 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
54759
54760         getdate.y: do not ignore TZ with relative day, month or year offset
54761         * lib/getdate.y (get_date): Move the tz-handling block to follow the
54762         relative-date-handling, since otherwise, the latter would clobber the
54763         sole output (an updated Start value) of the tz-handling block.
54764         * tests/test-getdate.c: Tests for the fix
54765
54766 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54767
54768         Recognize 'foo_LIBRARIES += libgnu.a'.
54769         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
54770         makefile snippet has already specified an installation location,
54771         also using '+='.
54772
54773 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
54774
54775         getdate.y: factor out common actions
54776         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
54777         Use them in place of open-coded actions.
54778
54779 2008-07-01  Simon Josefsson  <simon@josefsson.org>
54780
54781         Add self-test for getdate module.
54782         * modules/getdate-tests: New file.
54783         * tests/test-getdate.c: New file.
54784
54785 2008-06-29  Bruno Haible  <bruno@clisp.org>
54786
54787         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
54788         .gitignore.
54789         Reported by Sylvain Beucler <beuc@beuc.net>.
54790
54791 2008-06-29  Bruno Haible  <bruno@clisp.org>
54792
54793         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
54794         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
54795
54796 2008-06-29  Bruno Haible  <bruno@clisp.org>
54797
54798         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
54799         EXTRA_DIST.
54800         Reported by Sylvain Beucler <beuc@beuc.net>.
54801
54802 2008-06-26  Jim Meyering  <meyering@redhat.com>
54803
54804         make several modules depend on the "open" module
54805         This provides slightly increased consistency when opening-for-write
54806         the name of a non-directory spelled with a trailing slash.
54807         * modules/chdir-safer: Likewise.
54808         * modules/chown: Likewise.
54809         * modules/clean-temp: Likewise.
54810         * modules/copy-file: Likewise.
54811         * modules/fchdir: Likewise.
54812         * modules/fcntl-safer: Likewise.
54813         * modules/pipe: Likewise.
54814         * modules/utime: Likewise.
54815         Prompted by Eric Blake and Bruno Haible.
54816
54817 2008-06-24  Andreas Schwab  <schwab@suse.de>
54818
54819         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
54820         literals can be used as initializers for global variables.
54821
54822 2008-06-23  Eric Blake  <ebb9@byu.net>
54823
54824         Make gnulib-cache.m4 easier to diff.
54825         * gnulib-tool (func_import): Allow newlines when reading cached
54826         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
54827
54828 2008-06-23  Bruno Haible  <bruno@clisp.org>
54829
54830         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
54831         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
54832         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
54833         m4/signalblocking.m4.
54834         (gl_PREREQ_SIGACTION): Don't invoke it.
54835         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
54836         gl_PREREQ_SIG_HANDLER_H.
54837         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
54838         Don't check for sigaction here.
54839
54840 2008-06-23  Bruno Haible  <bruno@clisp.org>
54841
54842         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
54843         (install_handlers): Don't set the SA_RESETHAND flag.
54844
54845 2008-06-23  Bruno Haible  <bruno@clisp.org>
54846
54847         * m4/sigaction.m4: Comment fixes.
54848         * lib/signal.in.h: Likewise.
54849
54850 2008-06-23  Eric Blake  <ebb9@byu.net>
54851
54852         Fix typo.
54853         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
54854
54855         Avoid SA_ namespace.
54856         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
54857         Reported by Ralf Wildenhues.
54858
54859         Avoid test failure due to SA_RESTORER.
54860         * tests/test-sigaction.c (SA_MASK): New macro.
54861         (main): Avoid failing due to extension flags being set.
54862         Reported by Jim Meyering.
54863
54864         Revert use of sig-handler.h in sigprocmask.c.
54865         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
54866         it requires the existence of struct sigaction.
54867         * lib/sigprocmask.c (handler_t): Restore typedef.
54868         (rpl_signal, old_handlers): Use local type.
54869
54870 2008-06-22  Bruno Haible  <bruno@clisp.org>
54871
54872         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
54873         conditionally.
54874         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
54875
54876 2008-06-22  Bruno Haible  <bruno@clisp.org>
54877
54878         * doc/posix-functions/siginterrupt.texi: Move note.
54879
54880         * lib/signal.in.h (SA_RESTART): New macro.
54881         * lib/sigaction.c: Update comment.
54882
54883         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
54884
54885         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
54886         (gl_PREREQ_SIGPROCMASK): Invoke it.
54887         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
54888
54889         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
54890
54891         * lib/sigprocmask.c: Update a comment.
54892
54893 2008-06-21  Eric Blake  <ebb9@byu.net>
54894
54895         Use sigaction module rather than signal().
54896         * modules/c-stack (Depends-on): Add sigaction.
54897         * modules/fatal-signal (Depends-on): Likewise.
54898         * modules/nanosleep (Depends-on): Likewise.
54899         * modules/sigprocmask (Files): Add sig-handler.h.
54900         * modules/sigaction (Files): Likewise.
54901         * lib/sig-handler.h (get_handler): New file, suggested by Paul
54902         Eggert.
54903         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
54904         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
54905         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
54906         (init_fatal_signals): Likewise.
54907         * lib/nanosleep.c (rpl_nanosleep): Likewise.
54908         (siginterrupt): Delete fallback.
54909         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
54910         instead.
54911         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
54912         siginterrupt.
54913
54914         New module sigaction, for mingw.
54915         * modules/sigaction: New module...
54916         * modules/sigaction-tests: ...and its test.
54917         * m4/sigaction.m4: New file.
54918         * lib/sigaction.c: Likewise.
54919         * tests/test-sigaction.c: Likewise.
54920         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
54921         * modules/signal (Makefile.am): Likewise.
54922         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
54923         needed.
54924         * doc/posix-headers/signal.texi (signal.h): Mention provided
54925         types.
54926         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
54927         that sigaction is preferable.
54928         * doc/posix-functions/sigaction.texi (sigaction): Mention new
54929         module.
54930         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
54931         sigaction.
54932
54933         Improve robustness of sigprocmask by overriding signal.
54934         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
54935         is in use.
54936         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
54937         (SIGKILL, SIGSTOP): Provide fallbacks.
54938         (rpl_signal): Implement.
54939         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
54940         signal can be called inside handlers.
54941
54942         Fix nanosleep module on mingw.
54943         * modules/nanosleep (Depends-on): Add sys_select.
54944         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
54945
54946         Fix licensing of sigprocmask.
54947         * modules/raise (License): Relicense as LGPL.
54948
54949 2008-06-21  Bruno Haible  <bruno@clisp.org>
54950
54951         * lib/propername.c (proper_name_utf8): Don't use the transliterated
54952         result if it contains question marks.
54953         Reported by Michael Geng <linux@michaelgeng.de>.
54954
54955 2008-06-19  Bruno Haible  <bruno@clisp.org>
54956
54957         Fix CVS-ism.
54958         * doc/gnulib.texi: Include updated-stamp.texi.
54959         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
54960         (updated-stamp.texi): New rule.
54961         (gnulib.info): Depend on it.
54962         * doc/.gitignore: Add updated-stamp.texi.
54963         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
54964
54965 2008-06-19  Bruno Haible  <bruno@clisp.org>
54966
54967         * doc/Makefile (gnulib.info): Update and simplify dependencies.
54968         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
54969
54970 2008-06-19  Eric Blake  <ebb9@byu.net>
54971
54972         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
54973         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
54974         Reported by Stepan Kasal.
54975
54976 2008-06-18  Bruno Haible  <bruno@clisp.org>
54977
54978         * lib/fatal-signal.c (init_fatal_signals): Add comment.
54979         Reported by Eric Blake.
54980
54981 2008-06-18  Eric Blake  <ebb9@byu.net>
54982
54983         Work around cygwin 1.5.25 strsignal bug.
54984         * tests/test-strsignal.c: Allow for const char *.
54985         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
54986
54987 2008-06-18  Simon Josefsson  <simon@josefsson.org>
54988
54989         * users.txt: Update URL to article and add author/date
54990         information.
54991
54992 2008-06-17  Bruno Haible  <bruno@clisp.org>
54993
54994         New macro gl_DISABLE_THREADS.
54995         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
54996         if the user did not pass --enable-threads or --disable-threads option.
54997         (gl_DISABLE_THREADS): New macro.
54998         Reported by Eric Blake <ebb9@byu.net>.
54999
55000 2008-06-17  Bruno Haible  <bruno@clisp.org>
55001
55002         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
55003         when the macro ignores it.
55004         Based on a patch by Eric Blake <ebb9@byu.net>.
55005
55006 2008-06-17  Bruno Haible  <bruno@clisp.org>
55007
55008         * modules/tls (License): Change to LGPLv2+.
55009         Reported by Eric Blake.
55010
55011 2008-06-17  Eric Blake  <ebb9@byu.net>
55012
55013         Simplify c-stack prerequisites.
55014         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
55015         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
55016         no longer requires <ucontext.h> to exist.  Optimize setrlimit
55017         check.
55018         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
55019         <sys/resource.h>.
55020
55021         Move c-stack test into testsuite.
55022         * modules/c-stack-tests: New file.
55023         * lib/c-stack.c [DEBUG]: Move test program...
55024         * tests/test-c-stack.c: ...into this new file.  Skip rather than
55025         fail test if sigaltstack is lacking.
55026         * tests/test-c-stack.sh: New driver file.
55027
55028 2008-06-16  Eric Blake  <ebb9@byu.net>
55029
55030         Use raise module consistently.
55031         * modules/fatal-signal (Depends-on): Add raise.
55032         * modules/sigprocmask (Depends-on): Likewise.
55033         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
55034         * lib/sigprocmask.c (sigprocmask): Likewise.
55035         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
55036         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
55037
55038         Fix compliance bug in sigpending.
55039         * lib/sigprocmask.c (sigpending): Return pending array via
55040         parameter, not return value.
55041
55042 2008-06-14  Eric Blake  <ebb9@byu.net>
55043
55044         Improve obstack-printf test code.
55045         * tests/test-obstack-printf.c (test_function): Fix comment, and
55046         simplify usage of obstack_* in macros.  Add a test for coverage.
55047         Reported by Bruno Haible.
55048
55049 2008-06-14  Bruno Haible  <bruno@clisp.org>
55050
55051         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
55052         array size as a constant, not as a const variable.
55053         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
55054         AC_USE_SYSTEM_EXTENSIONS.
55055         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
55056         Test whether the obstack_printf function actually exists.
55057         * modules/obstack-printf (Depends-on): Add extensions.
55058         (Include): Remove obstack.h.
55059         * modules/obstack-printf-posix (Depends-on): Add extensions.
55060         (Include): Remove obstack.h.
55061
55062 2008-06-13  Eric Blake  <ebb9@byu.net>
55063
55064         Add obstack-printf and obstack-printf-posix modules.
55065         * modules/obstack-printf: New file.
55066         * modules/obstack-printf-posix: Likewise.
55067         * MODULES.html.sh (Misc): Mention them.
55068         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
55069         Likewise.
55070         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
55071         Likewise.
55072         * modules/stdio (Makefile.am): Accomodate new modules.
55073         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
55074         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
55075         Declare.
55076         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
55077         functions.
55078         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
55079         (gl_REPLACE_OBSTACK_PRINTF): New macros
55080         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
55081         * tests/test-obstack-printf.c: New file.
55082         * modules/obstack-printf-tests: Likewise.
55083         * modules/obstack-printf-posix-tests: Likewise.
55084
55085 2008-06-11  Bruno Haible  <bruno@clisp.org>
55086
55087         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
55088         * lib/open.c: Include errno.h.
55089         (open): Fail when attempting to write to a file that has a trailing
55090         slash.
55091         * tests/test-open.c (main): Test against trailing slash bug.
55092         * doc/posix-functions/open.texi: Mention the trailing slash bug.
55093
55094 2008-06-10  Bruno Haible  <bruno@clisp.org>
55095
55096         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
55097         for $? to work inside the trap command, with various /bin/sh-s.
55098         * tests/test-vc-list-files-cvs.sh: Likewise.
55099
55100 2008-06-10  Bruno Haible  <bruno@clisp.org>
55101
55102         * lib/acl-internal.h: Don't include gettext.h here.
55103         * lib/set-mode-acl.c: Include gettext.h here.
55104         * lib/copy-acl.c: Likewise.
55105
55106 2008-06-10  Bruno Haible  <bruno@clisp.org>
55107
55108         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
55109         * lib/wait-process.c (wait_subprocess): Likewise.
55110         * lib/execute.h (execute): Add termsigp argument.
55111         * lib/execute.c (execute): Likewise.
55112         * lib/csharpcomp.c (compile_csharp_using_pnet,
55113         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
55114         * lib/csharpexec.c (execute_csharp_using_pnet,
55115         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
55116         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
55117         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
55118         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
55119         is_jikes_present): Update.
55120         * lib/javaexec.c (execute_java_class): Update.
55121         * lib/javaversion.c (execute_and_read_line): Update.
55122         * NEWS: Document the changes.
55123         Reported by Eric Blake.
55124
55125 2008-06-10  Eric Blake  <ebb9@byu.net>
55126
55127         Add missing include.
55128         * tests/test-strstr.c (includes): Add <signal.h>.
55129         * tests/test-strcasestr.c (includes): Likewise.
55130         * tests/test-memmem.c (includes): Likewise.
55131
55132 2008-06-10  Bruno Haible  <bruno@clisp.org>
55133
55134         * lib/wait-process.c (wait_subprocess): Add an assertion.
55135
55136 2008-06-10  Bruno Haible  <bruno@clisp.org>
55137
55138         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
55139
55140 2008-06-10  Bruno Haible  <bruno@clisp.org>
55141
55142         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
55143         using alarm().
55144         * tests/test-strcasestr.c (main): Likewise.
55145         * tests/test-strstr.c (main): Likewise.
55146
55147 2008-06-09  Bruno Haible  <bruno@clisp.org>
55148
55149         Work around the Solaris 10 ACE ACLs ABI change.
55150         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
55151         declare if ACL_NO_TRIVIAL is present.
55152         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
55153         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
55154         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
55155         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
55156         define if ACL_NO_TRIVIAL is present.
55157         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
55158         and use the current ABI.
55159         (file_has_acl): Use same #if condition as elsewhere.
55160         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
55161         in use, and use the current ABI.
55162         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
55163         Reported by Jim Meyering.
55164
55165 2008-06-09  Eric Blake  <ebb9@byu.net>
55166
55167         Work around environments that (stupidly) ignore SIGALRM.
55168         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
55169         before using alarm().
55170         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
55171         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
55172         Reported by Ian Beckwith <ianb@erislabs.net>.
55173
55174         Produce autobuild blurb earlier in log.
55175         * modules/autobuild (configure.ac-early): Move AB_INIT here.
55176
55177 2008-06-09  Jim Meyering  <meyering@redhat.com>
55178         and OndÅ™ej Vašík  <ovasik@redhat.com>
55179
55180         utimens.c: correct kernel bug work-around
55181         OndÅ™ej Vašík found that the invalid return value of 280 indicates
55182         failure, not success, and the kernel bug we're trying to work
55183         around affects not just the utimensat call, but also the fallback
55184         futimens call.
55185         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
55186         not success.
55187         [HAVE_FUTIMENS]: Use the same work-around, here.
55188
55189 2008-06-09  Jim Meyering  <meyering@redhat.com>
55190
55191         add more guards around definition of ACE_-related code
55192         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
55193         ALLOW and ACE_OWNER are also defined.
55194
55195 2008-06-08  Bruno Haible  <bruno@clisp.org>
55196
55197         * lib/acl-internal.h: Add me as co-author.
55198         * lib/file-has-acl.c: Likewise.
55199         * lib/set-mode-acl.c: Likewise.
55200         * lib/copy-acl.c: Likewise.
55201
55202 2008-06-08  Bruno Haible  <bruno@clisp.org>
55203
55204         Add support for AIX ACLs.
55205         * lib/acl-internal.h (acl_nontrivial): New declaration.
55206         * lib/file-has-acl.c (acl_nontrivial): New function.
55207         (file_has_acl): Add implementation using AIX 4 ACL API.
55208         * lib/set-mode-acl.c (qset_acl): Likewise.
55209         * lib/copy-acl.c (qcopy_acl): Likewise.
55210
55211 2008-06-08  Bruno Haible  <bruno@clisp.org>
55212
55213         Add support for HP-UX ACLs.
55214         * lib/acl-internal.h (acl_nontrivial): New declaration.
55215         * lib/file-has-acl.c (acl_nontrivial): New function.
55216         (file_has_acl): Add implementation using HP-UX 11 ACL API.
55217         * lib/set-mode-acl.c (qset_acl): Likewise.
55218         * lib/copy-acl.c (qcopy_acl): Likewise.
55219
55220 2008-06-08  Bruno Haible  <bruno@clisp.org>
55221
55222         Add support for Cygwin ACLs.
55223         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
55224         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
55225         the chmod_or_fchmod call.
55226         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
55227
55228 2008-06-08  Bruno Haible  <bruno@clisp.org>
55229
55230         Fix bug with setuid modes in Solaris 10+ code.
55231         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
55232         succeeded, when the mode contains some special bits.
55233
55234 2008-06-08  Bruno Haible  <bruno@clisp.org>
55235
55236         Add support for Solaris 7..10 ACLs.
55237         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
55238         declarations.
55239         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
55240         functions.
55241         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
55242         * lib/set-mode-acl.c (qset_acl): Likewise.
55243         * lib/copy-acl.c (qcopy_acl): Likewise.
55244
55245 2008-06-08  Bruno Haible  <bruno@clisp.org>
55246
55247         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
55248         declaration.
55249         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
55250         (acl_access_nontrivial): Remove MacOS X case.
55251         (file_has_acl): Use acl_extended_nontrivial.
55252         * lib/copy-acl.c (qcopy_acl): Likewise.
55253
55254 2008-06-08  Bruno Haible  <bruno@clisp.org>
55255
55256         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
55257
55258 2008-06-08  Jim Meyering  <meyering@redhat.com>
55259
55260         * modules/acl (Maintainer): Add Bruno Haible.
55261
55262 2008-06-07  Bruno Haible  <bruno@clisp.org>
55263
55264         Improve support for Tru64 ACLs.
55265         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
55266         ACL on OSF/1.
55267
55268 2008-06-07  Bruno Haible  <bruno@clisp.org>
55269
55270         Add support for MacOS X ACLs.
55271         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
55272         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
55273         * lib/set-mode-acl.c (qset_acl): Likewise.
55274         * lib/copy-acl.c (qcopy_acl): Likewise.
55275
55276 2008-06-07  Bruno Haible  <bruno@clisp.org>
55277
55278         Fix memory leak introduced on 2008-05-22.
55279         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
55280         use.
55281
55282 2008-06-07  Bruno Haible  <bruno@clisp.org>
55283
55284         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
55285         to construct an empty ACL.
55286
55287 2008-06-07  Bruno Haible  <bruno@clisp.org>
55288
55289         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
55290         precisely.
55291         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
55292
55293 2008-06-07  Bruno Haible  <bruno@clisp.org>
55294
55295         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
55296         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
55297
55298 2008-06-07  Bruno Haible  <bruno@clisp.org>
55299
55300         * doc/posix-functions/_setjmp.texi: Explain the use of this function
55301         regardless of POSIX.
55302         * doc/posix-functions/_longjmp.texi: Likewise.
55303         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
55304         SystemV platform in this case.
55305
55306 2008-06-06  Eric Blake  <ebb9@byu.net>
55307
55308         Document abort() bugs.
55309         * doc/posix-functions/abort.texi (abort): Mention anomalies.
55310
55311         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
55312         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
55313         sigsetjmp.
55314         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
55315         siglongjmp, but only as a macro.
55316         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
55317         is obsolete.
55318         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
55319
55320         Tweak documentation to cover cygwin argz bugs.
55321         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
55322         argz bug fix; no code change needed since no cygwin releases
55323         occurred between the last fix and the bug being tested.
55324         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
55325         module and recently fixed cygwin bugs.
55326         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
55327         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
55328         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
55329         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
55330         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
55331         Likewise.
55332         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
55333         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
55334         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
55335         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
55336         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
55337         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
55338         Likewise.
55339
55340         Avoid gcc warning on cygwin.
55341         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
55342         !ACL_NO_TRIVIAL]: Avoid unused variable.
55343
55344 2008-06-05  Eric Blake  <ebb9@byu.net>
55345
55346         Be tolerant of UNKNOWN version in gnulib-tool test dir.
55347         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
55348         git-version-gen fails to come up with a version.
55349         Reported by Simon Josefsson.
55350
55351 2008-06-05  Jim Meyering  <meyering@redhat.com>
55352             Paul Eggert  <eggert@cs.ucla.edu>
55353
55354         utimens.c: work around a probable Linux kernel bug
55355         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
55356         appears to be a kernel bug that causes utimensat to return 280
55357         instead of 0, indicating success.
55358
55359 2008-06-04  Bruno Haible  <bruno@clisp.org>
55360
55361         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
55362         2008-06-01 commit.
55363
55364 2008-06-04  Bruno Haible  <bruno@clisp.org>
55365
55366         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
55367         * lib/file-has-acl.c (acl_access_nontrivial): New function.
55368         (file_has_acl): Use it. Save errno afterwards.
55369         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
55370
55371 2008-06-03  Bruno Haible  <bruno@clisp.org>
55372
55373         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
55374         draft code. Simplify #ifs.
55375         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
55376         Put Solaris code after POSIX-draft code. Fix comments regarding
55377         Solaris 10, HP-UX. Mention Cygwin.
55378         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
55379
55380 2008-06-03  Eric Blake  <ebb9@byu.net>
55381
55382         Provide fallback for older kernels.
55383         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
55384         Provide runtime fallback if kernel lacks support.
55385         Reported by Mike Frysinger.
55386
55387 2008-06-02  Bruno Haible  <bruno@clisp.org>
55388
55389         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
55390         it exists.
55391
55392 2008-06-02  Bruno Haible  <bruno@clisp.org>
55393
55394         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
55395         * lib/copy-acl.c (qcopy_acl): Update comment.
55396
55397 2008-06-02  Bruno Haible  <bruno@clisp.org>
55398
55399         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
55400         like ACL APIs.
55401
55402 2008-06-02  Bruno Haible  <bruno@clisp.org>
55403
55404         * tests/test-file-has-acl.sh: Use different code for Cygwin.
55405         * tests/test-set-mode-acl.sh: Likewise.
55406         * tests/test-copy-acl.sh: Likewise.
55407         * tests/test-copy-file.sh: Likewise.
55408
55409 2008-06-02  Bruno Haible  <bruno@clisp.org>
55410
55411         * tests/test-file-has-acl.sh: Remove unused code.
55412
55413 2008-06-01  Bruno Haible  <bruno@clisp.org>
55414
55415         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
55416         (copy_acl): Just a wrapper around qcopy_acl that emits the error
55417         messages.
55418         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
55419
55420 2008-06-01  Bruno Haible  <bruno@clisp.org>
55421
55422         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
55423         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
55424         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
55425         APIs.
55426         * modules/acl-tests (configure.ac): Remove tests now contained in
55427         m4/acl.m4.
55428
55429 2008-06-02  Jim Meyering  <meyering@redhat.com>
55430
55431         announce-gen: use a better key-server host name
55432         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
55433         it may be more consistently reliable.  Suggested by Werner Koch
55434         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
55435
55436 2008-06-01  Bruno Haible  <bruno@clisp.org>
55437
55438         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
55439         Reported by Voroskoi Andras <voroskoi@gmail.com>.
55440
55441 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
55442
55443         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
55444
55445 2008-06-01  Bruno Haible  <bruno@clisp.org>
55446
55447         New ACL tests.
55448         * tests/test-file-has-acl.sh: New file.
55449         * tests/test-file-has-acl.c: New file.
55450         * tests/test-set-mode-acl.sh: New file.
55451         * tests/test-set-mode-acl.c: New file.
55452         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
55453         * tests/test-copy-acl.c: New file.
55454         * modules/acl-tests: New file, based on modules/copy-file-tests.
55455         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
55456         (Depends-on): Add acl-tests.
55457         (configure.ac): Remove checks.
55458         (Makefile.am): Don't create test-sameacls program here any more.
55459
55460 2008-06-01  Bruno Haible  <bruno@clisp.org>
55461
55462         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
55463         * tests/test-sameacls.c: Include progname.h.
55464         (main): Invoke set_program_name. Portability fixes for MacOS X,
55465         Solaris, HP-UX.
55466
55467 2008-06-01  Bruno Haible  <bruno@clisp.org>
55468
55469         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
55470         function.
55471         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
55472
55473 2008-06-01  Bruno Haible  <bruno@clisp.org>
55474
55475         * modules/rpmatch (Depends-on): Add strdup.
55476
55477 2008-06-01  Bruno Haible  <bruno@clisp.org>
55478
55479         * lib/pipe.c: Include unistd-safer.h.
55480         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
55481         * modules/pipe (Depends-on): Add unistd-safer.
55482
55483 2008-05-30  Simon Josefsson  <simon@josefsson.org>
55484
55485         * modules/autobuild (configure.ac): Call AB_INIT.
55486
55487 2008-05-30  Simon Josefsson  <simon@josefsson.org>
55488
55489         * tests/test-getaddrinfo.c: Don't print debug messages by default.
55490         Suggested by Bruno Haible <bruno@clisp.org>.
55491
55492 2008-05-30  Simon Josefsson  <simon@josefsson.org>
55493
55494         * tests/test-base64.c: Cast size_t to unsigned long when invoking
55495         printf.  Use %lu instead of %d.  Reported by Bruno Haible
55496         <bruno@clisp.org>.
55497
55498 2008-05-29  Eric Blake  <ebb9@byu.net>
55499
55500         Prefer new POSIX 200x interfaces over futimesat.
55501         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
55502         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
55503         when available.
55504         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
55505
55506 2008-05-28  Bruno Haible  <bruno@clisp.org>
55507
55508         * modules/stpcpy (License): Change to LGPLv2+.
55509         Requested by David Lutterkort <dlutter@redhat.com>.
55510
55511 2008-05-27  Bruno Haible  <bruno@clisp.org>
55512
55513         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
55514         current mingw.
55515         Reported by Jose E. Marchesi <jemarch@gnu.org>.
55516
55517 2008-05-27  Bruno Haible  <bruno@clisp.org>
55518
55519         * modules/iconv_open (Link): New section, from module 'iconv'.
55520         * modules/striconv (Link): Likewise.
55521         * modules/striconveh (Link): Likewise.
55522         * modules/xstriconv (Link): Likewise.
55523         * modules/unicodeio (Link): Likewise.
55524         * modules/propername (Link): Likewise.
55525         Reported by Jim Meyering.
55526
55527 2008-05-26  Jim Meyering  <meyering@redhat.com>
55528
55529         sha256: do not artificially restrict buffer length to be < 2^32
55530         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
55531         uint32_t to size_t.
55532         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
55533         to match.
55534
55535         avoid unaligned access errors, e.g., on sparc
55536         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
55537         direct access through a possibly-unaligned uint64* pointer.
55538         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
55539         direct access through a possibly-unaligned uint32* pointer.
55540         Prompted by this patch from Tom "spot" Callaway:
55541         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
55542
55543         sha512.c: fix typo in comment
55544         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
55545
55546 2008-05-25  Bruno Haible  <bruno@clisp.org>
55547
55548         * lib/set-mode-acl.c: Renamed from lib/acl.c.
55549         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
55550         (Makefile.am): Update lib_SOURCES.
55551
55552 2008-05-25  Bruno Haible  <bruno@clisp.org>
55553
55554         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
55555
55556 2008-05-25  Jim Meyering  <meyering@redhat.com>
55557
55558         useless-if-before-free: freed expr may have white-space differences
55559         * build-aux/useless-if-before-free: Recognize cases in which the
55560         freed expression differs from the tested one in embedded white
55561         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
55562         $1 was used, so we can't make any regexp shy.  Improved tests now
55563         detect this.
55564
55565         useless-if-before-free: accept white space in the expression.
55566         * build-aux/useless-if-before-free: For now, any white space
55567         in the expression must be identical in the free argument.
55568
55569         useless-if-before-free: efficiency tweak
55570         * build-aux/useless-if-before-free: Make the expression-matching
55571         regexp "shy".
55572         Make the *outer* regexp shy, not the expr-matching one.
55573
55574         update code-in-comment to accept cast of free arg
55575         * build-aux/useless-if-before-free: Update regexp.
55576
55577 2008-05-25  Bruno Haible  <bruno@clisp.org>
55578
55579         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
55580         * modules/copy-file-tests (Files, Makefile.am): Update.
55581         * tests/test-copy-file.c (func_test_copy): Update.
55582
55583 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
55584
55585         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
55586
55587 2008-05-23  Bruno Haible  <bruno@clisp.org>
55588
55589         Improve support for ACLs on OSF/1.
55590         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
55591         Remove fallback for unknown flavors of ACLs.
55592
55593 2008-05-22  Bruno Haible  <bruno@clisp.org>
55594
55595         Add support for ACLs on OSF/1.
55596         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
55597         replacements.
55598         (acl_free_text): New macro fallback.
55599         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
55600         acl_free.
55601         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
55602         acl_free_text function. Require AC_C_INLINE.
55603
55604 2008-05-22  Bruno Haible  <bruno@clisp.org>
55605
55606         Make copy_acl work on MacOS X 10.5.
55607         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
55608         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
55609         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
55610         If MODE_INSIDE_ACL, don't assume that every system has the same text
55611         representation for ACLs as FreeBSD.
55612         * lib/copy-acl.c (copy_acl): Add support for platforms with
55613         !MODE_INSIDE_ACL.
55614         * lib/file-has-acl.c (file_has_acl): Likewise.
55615         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
55616         FreeBSD, MacOS X, or IRIX, respectively.
55617
55618 2008-05-22  Bruno Haible  <bruno@clisp.org>
55619
55620         * lib/acl.h: Don't include <sys/acl.h>.
55621         (GETACLCNT): Move fallback to lib/acl-internal.h.
55622         * lib/acl-internal.h: Include <sys/acl.h> here.
55623         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
55624
55625 2008-05-22  Bruno Haible  <bruno@clisp.org>
55626
55627         Split off copy_acl function to separate file.
55628         * lib/copy-acl.c: New file, extracted from lib/acl.c.
55629         * lib/acl.c (copy_acl): Moved function to separate file.
55630         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
55631         * modules/acl (Files): Add lib/copy-acl.c.
55632         (Makefiles.am): Augment lib_SOURCES.
55633
55634 2008-05-22  Bruno Haible  <bruno@clisp.org>
55635
55636         * modules/copy-file-tests: New file.
55637         * tests/test-copy-file.sh: New file.
55638         * tests/test-copy-file.c: New file.
55639         * tests/test-copy-file-sameacls.c: New file.
55640
55641 2008-05-22  Eric Blake  <ebb9@byu.net>
55642
55643         Avoid gcc warning.
55644         * tests/test-memcmp.c (main): Pass NULL indirectly.
55645
55646 2008-05-21  Bruno Haible  <bruno@clisp.org>
55647
55648         Add reference doc about ACLs.
55649         * doc/acl-resources.txt: New file.
55650         * doc/acl-cygwin.txt: New file.
55651
55652 2008-05-21  Bruno Haible  <bruno@clisp.org>
55653
55654         Avoid one more warning from gcc.
55655         * lib/vasnprintf.c (IF_LINT): Update comments.
55656         (VASNPRINTF): Use it also for the 'prefix' array initializer.
55657
55658 2008-05-21  Jim Meyering  <meyering@redhat.com>
55659
55660         avoid a warning from gcc
55661         * lib/vasnprintf.c (IF_LINT): Define.
55662         (scale10_round_decimal_long_double):
55663         Use it to avoid a "may be used uninitialized" warning.
55664         (scale10_round_decimal_double): Likewise.
55665
55666 2008-05-21  Simon Josefsson  <simon@josefsson.org>
55667
55668         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
55669         declared.
55670
55671 2008-05-20  Bruno Haible  <bruno@clisp.org>
55672
55673         * tests/test-memcmp.c (main): Test also the sign of the result. Test
55674         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
55675
55676 2008-05-20  Simon Josefsson  <simon@josefsson.org>
55677
55678         * modules/memcmp-tests: New file.
55679         * tests/test-memcmp.c: New file.
55680
55681 2008-05-19  Bruno Haible  <bruno@clisp.org>
55682
55683         * modules/propername (Notice, configure.ac): Put quoted "..." into
55684         --keyword option.
55685         * lib/propername.h: Update comments accordingly.
55686         Reported by Eric Blake.
55687
55688 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
55689
55690         * modules/getpass-gnu (Depends-on): Add fseeko.
55691
55692 2008-05-19  Simon Josefsson  <simon@josefsson.org>
55693
55694         * modules/base64-tests: New file.
55695
55696 2008-05-19  Bo Borgerson <gigabo@gmail.com>
55697
55698         * lib/base64.c (base64_decode_ctx): If a decode context structure
55699         was passed in use it to ignore newlines.  If a context structure
55700         was _not_ passed in, continue to treat newlines as garbage (this
55701         is the historical behavior).  Formerly base64_decode.
55702         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
55703         takes a decode context structure.
55704         * lib/base64.h (base64_decode): Macro for four-argument calls.
55705         (base64_decode_alloc): Likewise.
55706         * lib/base64.c (base64_decode_ctx): If a decode context structure
55707         was passed in use it to ignore newlines.  If a context structure
55708         was _not_ passed in, continue to treat newlines as garbage (this
55709         is the historical behavior).  Formerly base64_decode.
55710         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
55711         takes a decode context structure.
55712         * lib/base64.h (base64_decode): Macro for four-argument calls.
55713         (base64_decode_alloc): Likewise.
55714
55715 2008-05-19  Jim Meyering  <meyering@redhat.com>
55716
55717         avoid a warning from gcc
55718         * lib/trim.c (IF_LINT): Define.
55719         (trim2): Use it to avoid a "may be used uninitialized" warning.
55720
55721         Fix doc typo.
55722         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
55723
55724 2008-05-19  Bruno Haible  <bruno@clisp.org>
55725
55726         * doc/glibc-functions/getpass.texi: Document limits of other
55727         implementations.
55728
55729 2008-05-19  Simon Josefsson  <simon@josefsson.org>
55730             Bruno Haible <bruno@clisp.org>
55731
55732         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
55733
55734 2008-05-18  Bruno Haible  <bruno@clisp.org>
55735
55736         * modules/propername: New file, from GNU gettext.
55737         * lib/propername.h: New file, from GNU gettext.
55738         * lib/propername.c: New file, from GNU gettext.
55739         * MODULES.html.sh (Internationalization functions): Add propername.
55740
55741 2008-05-16  Jim Meyering  <meyering@redhat.com>
55742             Bruno Haible  <bruno@clisp.org>
55743
55744         Avoid some warnings from "gcc -Wshadow".
55745         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
55746
55747 2008-05-15  Eric Blake  <ebb9@byu.net>
55748
55749         Extend previous patch to cygwin 1.7.0.
55750         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
55751         fast implementation in cygwin >= 1.7.0.
55752         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
55753         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
55754
55755 2008-05-15  Bruno Haible  <bruno@clisp.org>
55756
55757         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
55758         implementation in glibc >= 2.9.
55759         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
55760         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
55761
55762 2008-05-15  Bruno Haible  <bruno@clisp.org>
55763
55764         * MODULES.html.sh (Internationalization functions): Remove linebreak.
55765         (Unicode string functions): Add unilbrk/*.
55766         Reported by Karl Berry.
55767
55768 2008-05-15  Eric Blake  <ebb9@byu.net>
55769
55770         Fix violation of <stdbool.h> replacement in regex.
55771         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
55772         * lib/regexec.c (re_search_internal): Likewise.
55773         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
55774
55775 2008-05-15  Jim Meyering  <meyering@redhat.com>
55776
55777         avoid distracting test output when git or cvs is not found
55778         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
55779         * tests/test-vc-list-files-git.sh: Likewise.
55780
55781 2008-05-15  Eric Blake  <ebb9@byu.net>
55782
55783         Glibc finally accepted the memmem speedup code, bugzilla #5514.
55784         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
55785         glibc version.
55786         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
55787         * doc/posix-functions/strstr.texi (strstr): Likewise.
55788         * lib/str-two-way.h (MAX): Sychronize with glibc.
55789
55790 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
55791
55792         * lib/regcomp.c (optimize_utf8): Add a note on why we test
55793         opr.ctx_type.
55794         (calc_first): Initialize constraint field.
55795         (duplicate_node_closure): Use it instead of special casing ANCHORS.
55796         Fix grammar.
55797         (duplicate_node): Merge constraint field for all node types.
55798         (calc_eclosure_iter): Look at constraint field for all node types.
55799         * lib/regex_internal.c (create_cd_newstate): Don't look at
55800         opr.ctx_type.
55801
55802 2008-05-14  Bruno Haible  <bruno@clisp.org>
55803
55804         Help GCC to do better code generation.
55805         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
55806         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
55807         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
55808         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
55809         Declare with attribute 'malloc' if supported.
55810
55811 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
55812
55813         use "echo STR|wc -c" rather than unportable "expr length STR"
55814         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
55815         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
55816
55817 2008-05-14  Jim Meyering  <meyering@redhat.com>
55818
55819         use dd ibs=$n count=1 ... rather than less-portable head -c$n
55820         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
55821         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
55822         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
55823         via Collin Lasse.
55824
55825 2008-05-14  Eric Blake  <ebb9@byu.net>
55826
55827         Avoid quadratic growth in gl_LIBSOURCES.
55828         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
55829         Suggested by Bruno Haible.
55830
55831         Test xmemdup0.
55832         * modules/xmemdup0-tests: New file.
55833         * tests/test-xmemdup0.c: Likewise.
55834
55835 2008-05-13  Eric Blake  <ebb9@byu.net>
55836
55837         Split xmemdup0 into its own module.
55838         * modules/xmemdup0: New file.
55839         * lib/xmemdup0.h: Likewise.
55840         * lib/xmemdup0.c: Likewise.
55841         * MODULES.html.sh (Memory management functions): Add xmemdup0.
55842         * lib/xalloc.h (xmemdup0): Remove.
55843         * lib/xmalloc.c (xmemdup0): Likewise.
55844
55845 2008-05-13  Eric Blake  <ebb9@byu.net>
55846             Bruno Haible  <bruno@clisp.org>
55847
55848         Reduce number of forks required during autoconf.
55849         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
55850         and gl_LIBSOURCES_DIR.
55851         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
55852         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
55853         m4_syscmd per file.
55854         <m4_foreach_w>: Move...
55855         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
55856
55857 2008-05-13  Eric Blake  <ebb9@byu.net>
55858
55859         * gnulib-tool: Fix various comment typos.
55860
55861 2008-05-12  Bruno Haible  <bruno@clisp.org>
55862
55863         Tailor the linebreaking algorithm.
55864         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
55865
55866 2008-05-12  Bruno Haible  <bruno@clisp.org>
55867
55868         Update to Unicode 5.0.0.
55869         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
55870         LBP_JV, LBP_JT. Redistribute values.
55871         (unilbrk_table): Change size.
55872         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
55873         Unicode TR#14 rev. 22.
55874         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
55875         LBP_JV, LBP_JT. Redistribute values.
55876         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
55877         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
55878         Update.
55879         * lib/unilbrk/lbrkprop1.h: Regenerated.
55880         * lib/unilbrk/lbrkprop2.h: Regenerated.
55881         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
55882         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
55883         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
55884         Likewise.
55885         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
55886         Likewise.
55887         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
55888         result.
55889         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
55890         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
55891         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
55892         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
55893         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
55894         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
55895
55896 2008-05-11  Bruno Haible  <bruno@clisp.org>
55897
55898         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
55899
55900 2008-05-11  Bruno Haible  <bruno@clisp.org>
55901
55902         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
55903         * modules/unilbrk/gen-lbrk: New file.
55904
55905 2008-05-11  Bruno Haible  <bruno@clisp.org>
55906
55907         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
55908         * m4/sha512.m4 (gl_SHA512): Likewise.
55909
55910 2008-05-11  Jim Meyering  <meyering@redhat.com>
55911
55912         New modules: crypto/sha256, crypto/sha512 (from coreutils)
55913         * modules/crypto/sha256: New file.
55914         * modules/crypto/sha512: Likewise.
55915         * lib/sha256.c: Likewise.
55916         * lib/sha256.h: Likewise.
55917         * lib/sha512.c: Likewise.
55918         * lib/sha512.h: Likewise.
55919         * lib/u64.h: Likewise.
55920         * m4/sha256.m4: Likewise.
55921         * m4/sha512.m4: Likewise.
55922         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
55923
55924 2008-05-10  Bruno Haible  <bruno@clisp.org>
55925
55926         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
55927         (Input/Output <stdio.h>): Add xprintf.
55928         (Signal handling <signal.h>): Add strsignal.
55929         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
55930         (Core language properties): Add func.
55931         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
55932         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
55933         strings.
55934         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
55935         (Input/output): New section.
55936         (File system functions): Add openat-die, stat-macros.
55937         (Networking functions): Add sockets.
55938         (Unicode string functions): Add unictype/*.
55939         (Support for building libraries and executables): Add gperf.
55940         (Support for building documentation): Add agpl-3.0.
55941         (Misc): Add nocrash.
55942
55943 2008-05-10  Bruno Haible  <bruno@clisp.org>
55944
55945         * modules/unictype/gen-ctype: New file.
55946
55947 2008-05-10  Jim Meyering  <meyering@redhat.com>
55948
55949         Make chdir-safer.c more efficient on a system with no symlinks.
55950         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
55951         also if ELOOP is zero.  Suggested by Bruno Haible.
55952
55953         Make chdir-safer.c slightly safer.
55954         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
55955         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
55956
55957         Avoid compile failure on systems without ELOOP (like mingw).
55958         * lib/chdir-safer.c (ELOOP): Define if not already defined.
55959         Reported by Bruno Haible.
55960
55961 2008-05-10  Bruno Haible  <bruno@clisp.org>
55962
55963         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
55964         (is_utf8_encoding): Use a case-insensitive comparison.
55965         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
55966         streq.
55967
55968 2008-05-10  Bruno Haible  <bruno@clisp.org>
55969
55970         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
55971         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
55972         * lib/unilbrk/ulc-common.h (iconv_string_length,
55973         iconv_string_keeping_offsets): Remove declarations.
55974         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
55975         Don't include <iconv.h>, streq.h, xsize.h.
55976         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
55977         conversion.
55978         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
55979         <iconv.h>, streq.h, xsize.h.
55980         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
55981         conversion.
55982         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
55983         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
55984         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
55985         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
55986
55987 2008-05-10  Bruno Haible  <bruno@clisp.org>
55988
55989         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
55990         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
55991
55992         * modules/unilbrk/u32-width-linebreaks-tests: New file.
55993         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
55994
55995         * modules/unilbrk/u16-width-linebreaks-tests: New file.
55996         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
55997
55998         * modules/unilbrk/u8-width-linebreaks-tests: New file.
55999         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
56000
56001         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
56002         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
56003
56004         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
56005         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
56006
56007         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
56008         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
56009
56010         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
56011         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
56012
56013 2008-05-10  Bruno Haible  <bruno@clisp.org>
56014
56015         Split up 'linebreak' module.
56016         * lib/unilbrk.h: New file, based on lib/linebreak.h.
56017         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
56018         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
56019         modifications.
56020         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
56021         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
56022         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
56023         lib/linebreak.c.
56024         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
56025         lib/linebreak.c.
56026         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
56027         lib/linebreak.c.
56028         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
56029         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
56030         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
56031         lib/linebreak.c.
56032         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
56033         lib/linebreak.c.
56034         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
56035         lib/linebreak.c.
56036         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
56037         lib/linebreak.c.
56038         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
56039         lib/linebreak.c.
56040         * modules/unilbrk/base: New file.
56041         * modules/unilbrk/tables: New file.
56042         * modules/unilbrk/u8-possible-linebreaks: New file.
56043         * modules/unilbrk/u16-possible-linebreaks: New file.
56044         * modules/unilbrk/u32-possible-linebreaks: New file.
56045         * modules/unilbrk/ulc-common: New file.
56046         * modules/unilbrk/ulc-possible-linebreaks: New file.
56047         * modules/unilbrk/u8-width-linebreaks: New file.
56048         * modules/unilbrk/u16-width-linebreaks: New file.
56049         * modules/unilbrk/u32-width-linebreaks: New file.
56050         * modules/unilbrk/ulc-width-linebreaks: New file.
56051         * lib/linebreak.h: Remove file.
56052         * lib/linebreak.c: Remove file.
56053         * m4/linebreak.m4: Remove file.
56054         * modules/linebreak: Remove file.
56055         * NEWS: Mention the changes.
56056
56057 2008-05-09  Eric Blake  <ebb9@byu.net>
56058
56059         Add xmemdup0.
56060         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
56061         implementation.
56062         * lib/xmalloc.c (xmemdup0): New C implementation.
56063
56064 2008-05-08  Bruno Haible  <bruno@clisp.org>
56065
56066         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
56067
56068 2008-05-07  Eric Blake  <ebb9@byu.net>
56069
56070         Support cross-compilation of <wctype.h>.
56071         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
56072         AC_CACHE_CHECK.
56073
56074 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
56075
56076         * build-aux/vc-list-files: Add support for bzr.
56077
56078 2008-05-03  Jim Meyering  <meyering@redhat.com>
56079
56080         avoid failed assertion with tight malloc
56081         * tests/test-getndelim2.c: Correct an off-by-one assertion.
56082
56083 2008-05-03  Simon Josefsson  <simon@josefsson.org>
56084
56085         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
56086         are needed from arpa/inet.h.
56087         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
56088         Reported by Bruno Haible.
56089
56090 2008-05-02  Jim Meyering  <meyering@redhat.com>
56091
56092         avoid compilation error on FreeBSD 6
56093         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
56094
56095 2008-05-01  Jim Meyering  <meyering@redhat.com>
56096
56097         useless-if-before-free: correct --help's exit status description
56098         * build-aux/useless-if-before-free (usage): Like grep, exit 0
56099         for one or more matches, etc.  Reported by Bruno Haible.
56100
56101         vc-list-files: make the stand-alone gnulib test work
56102         * modules/vc-list-files-tests (configure.ac):
56103         Define and AC_SUBST abs_aux_dir.
56104         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
56105         $(abs_top_srcdir) to each script and having each of them
56106         duplicate the work of setting PATH, set PATH here, using
56107         the new variable, abs_aux_dir instead.
56108         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
56109         * tests/test-vc-list-files-git.sh: Likewise.
56110         Reported by Bruno Haible.
56111
56112 2008-05-01  Bruno Haible  <bruno@clisp.org>
56113
56114         * lib/getndelim2.c (getndelim2): Fix newsize computation during
56115         reallocation. Rename 'done' to 'found_delimiter'.
56116
56117 2008-05-01  Jim Meyering  <meyering@redhat.com>
56118
56119         vc-list-files: accommodate /bin/sh like the one from Solaris 10
56120         * build-aux/vc-list-files: Use `...`, not $(...).
56121
56122 2008-04-30  Jim Meyering  <meyering@redhat.com>
56123
56124         add tests for vc-list-files
56125         * modules/vc-list-files-tests: New module.
56126         * tests/test-vc-list-files-cvs.sh: New file.
56127         * tests/test-vc-list-files-git.sh: New file.
56128
56129         avoid a warning from gcc
56130         * lib/getndelim2.c (IF_LINT): Define.
56131         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
56132
56133         vc-list-files: work properly with build-aux/cvsu, too
56134         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
56135         to all cvs-based clauses.
56136
56137         vc-list-files: work properly in the CVS+awk case, too
56138         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
56139
56140         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
56141         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
56142         take more than one file argument, so .  Add quotes, just in case $dir
56143         ever contains a shell meta-character.  Prompted by Soren Hansen in
56144         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
56145
56146 2008-04-29  Eric Blake  <ebb9@byu.net>
56147
56148         Optimize getndelim2 to use block operations when possible.
56149         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
56150         freadseek, and memchr2.
56151         * lib/getndelim2.c (getndelim2): Use them for block reads.
56152
56153 2008-04-29  Bruno Haible  <bruno@clisp.org>
56154
56155         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
56156         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
56157         * modules/inet_ntop (Depends-on): Add extensions.
56158         * modules/inet_pton (Depends-on): Likewise.
56159         Reported by Simon Josefsson.
56160
56161 2008-04-29  Jim Meyering  <meyering@redhat.com>
56162
56163         When the is more than one match in a block, match all of them.
56164         * build-aux/useless-if-before-free: Iterate through each block
56165         until there are no more matches.
56166
56167         Fix broken useless-if-before-free script.
56168         * build-aux/useless-if-before-free: Fix typo: missing "?" after
56169         the expression to match cast of argument to free-like function.
56170
56171 2008-04-29  Eric Blake  <ebb9@byu.net>
56172
56173         Use new header.
56174         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
56175
56176 2008-04-29  Jim Meyering  <meyering@redhat.com>
56177
56178         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
56179         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
56180         by gnulib to exist and to declare e.g., inet_ntop.
56181         Don't include "inet_ntop.h", now removed.
56182
56183         * m4/arpa_inet_h.m4: Remove trailing blanks.
56184
56185 2008-04-29  Eric Blake  <ebb9@byu.net>
56186
56187         Silence valgrind on safe reads beyond potential array bounds.
56188         * lib/rawmemchr.valgrind: New file.
56189         * lib/strchrnul.valgrind: Likewise.
56190         * modules/rawmemchr (Files): Distribute new file.
56191         * modules/strchrnul (Files): Likewise.
56192         Suggested by Bruno Haible.
56193
56194 2008-04-29  Bruno Haible  <bruno@clisp.org>
56195
56196         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
56197         (inet_ntop, inet_pton): Change portability warning's wording.
56198         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
56199         Invoke gl_CHECK_NEXT_HEADERS.
56200         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
56201         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
56202         set ARPA_INET_H.
56203         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
56204         * modules/arpa_inet (Description): No longer only for systems that
56205         lack it.
56206         (Depends-on): Add include_next.
56207         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
56208         HAVE_ARPA_INET_H.
56209
56210 2008-04-29  Jim Meyering  <meyering@redhat.com>
56211
56212         * modules/mkdir (License): Re-license as LGPLv2+.
56213
56214 2008-04-29  Bruno Haible  <bruno@clisp.org>
56215
56216         * modules/rawmemchr (Maintainer): Set to Eric.
56217         * modules/strchrnul (Maintainer): Likewise.
56218
56219 2008-04-29  Simon Josefsson  <simon@josefsson.org>
56220
56221         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
56222         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
56223
56224         * modules/arpa_inet (arpa/inet.h): Use them.
56225
56226 2008-04-28  Eric Blake  <ebb9@byu.net>
56227
56228         Test getndelim2.
56229         * modules/getndelim2-tests: New file.
56230         * tests/test-getndelim2.c: Likewise.
56231         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
56232         stream.
56233         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
56234
56235         * MODULES.html.sh: Document new module.
56236
56237 2008-04-20  Bruno Haible  <bruno@clisp.org>
56238
56239         * lib/c-stack.c (die): Use raise.
56240         * modules/c-stack (Depends-on): Add raise.
56241
56242 2008-04-28  Bruno Haible  <bruno@clisp.org>
56243
56244         Expect rpmatch to be declared.
56245         * lib/yesno.c (rpmatch): Remove declaration.
56246
56247         Declare rpmatch.
56248         * lib/stdlib.in.h (rpmatch): New declaration.
56249         * lib/rpmatch.c: Include <stdlib.h> first.
56250         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
56251         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
56252         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
56253         HAVE_RPMATCH.
56254         * modules/rpmatch (Depends-on): Add stdlib, extensions.
56255         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
56256         (Include): Set to <stdlib.h>.
56257         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
56258         HAVE_RPMATCH.
56259         * NEWS: Document the change.
56260
56261 2008-04-28  Bruno Haible  <bruno@clisp.org>
56262
56263         Change rpmatch to use nl_langinfo when appropriate.
56264         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
56265         (N_): New macro.
56266         (localized_pattern): New function/macro.
56267         (try): Remove match, nomatch arguments. Copy the pattern into safe
56268         memory before caching it.
56269         (rpmatch): Use localized_pattern. Add translator comments.
56270         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
56271         Suggested by Eric Blake.
56272         * modules/rpmatch (Depends-on): Add stdbool.
56273
56274 2008-04-28  Eric Blake  <ebb9@byu.net>
56275
56276         Add rawmemchr module, matching glibc.
56277         * modules/string (Makefile.am): New indicator.
56278         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
56279         * lib/string.in.h (rawmemchr): Declare when appropriate.
56280         * modules/rawmemchr: New file.
56281         * m4/rawmemchr.m4: Likewise.
56282         * lib/rawmemchr.c: Likewise.
56283         * modules/rawmemchr-tests: Likewise.
56284         * tests/test-rawmemchr.c: Likewise.
56285         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
56286         module.
56287         * modules/strchrnul (Depends-on): Add rawmemchr.
56288         * lib/strchrnul.c (strchrnul): Optimize a corner case.
56289
56290         Whitespace cleanup.
56291         * tests/test-strchrnul.c: Reindent.
56292         * lib/strchrnul.c: Likewise.
56293
56294         Optimize and test strchrnul.
56295         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
56296         * modules/strchrnul-tests: New file.
56297         * tests/test-strchrnul.c: Likewise.
56298
56299         Remove intprops dependency.
56300         * modules/memchr (Depends-on): Remove intprops.
56301         * modules/memrchr (Depends-on): Likewise.
56302         * modules/memchr2 (Depends-on): Likewise.
56303         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
56304         * lib/memrchr.c (__memrchr): Likewise.
56305         * lib/memrchr2.c (memchr2): Likewise.
56306         Reported by Simon Josefsson.
56307
56308 2008-04-28  Simon Josefsson  <simon@josefsson.org>
56309
56310         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
56311         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56312
56313 2008-04-28  Simon Josefsson  <simon@josefsson.org>
56314
56315         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
56316
56317         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
56318
56319         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
56320
56321         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
56322         declarations.
56323         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
56324
56325         * m4/inet_pton.m4: Don't check for header files.
56326
56327         * m4/inet_ntop.m4: Don't check for header files.
56328
56329 2008-04-28  Simon Josefsson  <simon@josefsson.org>
56330
56331         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
56332         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
56333         trigger for cygwin).
56334         Reported by Bruno Haible  <bruno@clisp.org>.
56335
56336 2008-04-28  Bruno Haible  <bruno@clisp.org>
56337
56338         * doc/posix-functions/strdup.texi: Mention mingw problem.
56339
56340 2008-04-27  Bruno Haible  <bruno@clisp.org>
56341
56342         * modules/stat-time-tests (Depends-on): Add sleep.
56343         * tests/test-stat-time.c (force_unlink): New function.
56344         (cleanup): Use it.
56345         (test_mtime): Remove the ctime related tests.
56346         (test_ctime): New function, containing the ctime related tests.
56347         (main): Call test_ctime, except on native Windows platforms.
56348
56349 2008-04-27  Bruno Haible  <bruno@clisp.org>
56350
56351         * lib/rpmatch.c (rpmatch): Add some comments.
56352         Reported by James Youngman <jay@gnu.org>.
56353
56354 2008-04-27  Bruno Haible  <bruno@clisp.org>
56355
56356         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
56357         quiet NaNs.
56358
56359 2008-04-27  Bruno Haible  <bruno@clisp.org>
56360
56361         Make test-yesno.sh work on mingw.
56362         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
56363         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
56364         (main): Set stdin to binary mode.
56365         * modules/yesno-tests (Depends-on): Add binary-io.
56366
56367 2008-04-27  Bruno Haible  <bruno@clisp.org>
56368
56369         Fix 'isfinite' on x86, x86_64, ia64 platforms.
56370         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
56371         argument that lie outside the IEEE 854 domain.
56372         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
56373         (gl_ISFINITE): Use it.
56374         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
56375
56376 2008-04-27  Bruno Haible  <bruno@clisp.org>
56377
56378         Allow local renaming in config.h.
56379         * lib/memrchr.c (memrchr): Don't undefine outside libc.
56380
56381 2008-04-27  Bruno Haible  <bruno@clisp.org>
56382
56383         * lib/memchr.c (__memchr): Change type of 'i'.
56384         * lib/memchr2.c (memchr2): Likewise.
56385
56386 2008-04-26  Eric Blake  <ebb9@byu.net>
56387         and Bruno Haible  <bruno@clisp.org>
56388
56389         Optimize and test memrchr.
56390         * modules/memrchr (Depends-on): Add intprops.
56391         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
56392         * modules/memrchr-tests: New file.
56393         * tests/test-memrchr.c: New file.
56394
56395 2008-04-26  Bruno Haible  <bruno@clisp.org>
56396
56397         Add tentative support for DragonFly BSD.
56398         * lib/stdio-impl.h: Add macros for DragonFly BSD.
56399         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
56400         fp.
56401         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
56402         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
56403         * lib/fpurge.c (fpurge): Likewise.
56404         * lib/freadable.c (freaadable): Likewise.
56405         * lib/freadahead.c (freadahead): Likewise.
56406         * lib/freading.c (freading): Likewise.
56407         * lib/freadptr.c (freadptr): Likewise.
56408         * lib/freadseek.c (freadptrinc): Likewise.
56409         * lib/fseeko.c (fseeko): Likewise.
56410         * lib/fseterr.c (fseterr): Likewise.
56411         * lib/fwritable.c (fwritable): Likewise.
56412         * lib/fwriting.c (fwriting): Likewise.
56413
56414 2008-04-26  Bruno Haible  <bruno@clisp.org>
56415
56416         * lib/stdio-impl.h: New file.
56417         * lib/fbufmode.c: Include stdio-impl.h.
56418         (fbufmode): Use fp_, remove redundant #defines.
56419         * lib/fflush.c: Include stdio-impl.h.
56420         (clear_ungetc_buffer): Remove redundant #defines.
56421         * lib/fpurge.c: Include stdio-impl.h.
56422         (fpurge): Remove redundant #defines.
56423         * lib/freadable.c: Include stdio-impl.h.
56424         (freadable): Remove redundant #defines.
56425         * lib/freadahead.c: Include stdio-impl.h.
56426         (freadahead): Remove redundant #defines.
56427         * lib/freading.c: Include stdio-impl.h.
56428         (freading): Remove redundant #defines.
56429         * lib/freadptr.c: Include stdio-impl.h.
56430         (freadptr): Remove redundant #defines.
56431         * lib/freadseek.c: Include stdio-impl.h.
56432         (freadptrinc): Remove redundant #defines.
56433         * lib/fseeko.c: Include stdio-impl.h.
56434         (rpl_fseeko): Remove redundant #defines.
56435         * lib/fseterr.c: Include stdio-impl.h.
56436         (fseterr): Remove redundant #defines.
56437         * lib/fwritable.c: Include stdio-impl.h.
56438         (fwritable: Remove redundant #defines.
56439         * lib/fwriting.c: Include stdio-impl.h.
56440         (fwriting): Remove redundant #defines.
56441         * modules/fbufmode (Files): Add lib/stdio-impl.h.
56442         * modules/fflush (Files): Likewise.
56443         * modules/fpurge (Files): Likewise.
56444         * modules/freadable (Files): Likewise.
56445         * modules/freadahead (Files): Likewise.
56446         * modules/freading (Files): Likewise.
56447         * modules/freadptr (Files): Likewise.
56448         * modules/freadseek (Files): Likewise.
56449         * modules/fseeko (Files): Likewise.
56450         * modules/fseterr (Files): Likewise.
56451         * modules/fwritable (Files): Likewise.
56452         * modules/fwriting (Files): Likewise.
56453
56454 2008-04-26  Bruno Haible  <bruno@clisp.org>
56455
56456         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
56457         restore_seek_optimization, update_fpos_cache): New functions, extracted
56458         from rpl_fflush.
56459         (rpl_fflush): Use them.
56460         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
56461         (gl_REPLACE_FFLUSH): Use it.
56462
56463 2008-04-26  Bruno Haible  <bruno@clisp.org>
56464
56465         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
56466         on Solaris.
56467         * tests/test-xstrtoimax.sh: Likewise.
56468         * tests/test-xstrtoumax.sh: Likewise.
56469         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56470
56471 2008-04-26  Bruno Haible  <bruno@clisp.org>
56472
56473         * modules/memchr-tests: New file.
56474         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
56475
56476 2008-04-26  Eric Blake  <ebb9@byu.net>
56477             Bruno Haible  <bruno@clisp.org>
56478
56479         * lib/memchr.c: Include intprops.h.
56480         (__memchr): Optimize parallel detection of matching bytes. Rename local
56481         variables. Add explanatory comments.
56482
56483 2008-04-26  Bruno Haible  <bruno@clisp.org>
56484
56485         Fix module 'memchr', broken since 2000-10-28.
56486         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
56487
56488 2008-04-26  Bruno Haible  <bruno@clisp.org>
56489
56490         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
56491         comments.
56492
56493 2008-04-25  Eric Blake  <ebb9@byu.net>
56494
56495         Use native fstatat on cygwin 1.7.0.
56496         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
56497         first.
56498
56499 2008-04-23  Eric Blake  <ebb9@byu.net>
56500
56501         Improve memchr2 performance.
56502         * lib/memchr2.c (memchr2): Further optimize parallel detection of
56503         NUL bytes.
56504         * modules/memchr2 (Depends-on): Use intprops.h.
56505
56506 2008-04-23  Simon Josefsson  <simon@josefsson.org>
56507
56508         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
56509         an inline function instead of a CPP macro.  Patch by Ben Pfaff
56510         <blp@cs.stanford.edu>.
56511
56512 2008-04-23  Simon Josefsson  <simon@josefsson.org>
56513
56514         * lib/arpa_inet.in.h: New file.
56515
56516         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
56517         (Makefile.am): Sed in substitute header file.
56518
56519         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
56520         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
56521
56522         * modules/inet_ntop (configure.ac): Use
56523         gl_ARPA_INET_MODULE_INDICATOR.
56524
56525         * modules/inet_pton (configure.ac): Use
56526         gl_ARPA_INET_MODULE_INDICATOR.
56527
56528 2008-04-22  Jim Meyering  <meyering@redhat.com>
56529
56530         * modules/verify (License): Re-license as LGPLv2+.
56531
56532 2008-04-22  Simon Josefsson  <simon@josefsson.org>
56533
56534         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
56535         parameter to void* as per POSIX standard (MinGW uses char*).
56536
56537 2008-04-21  Bruno Haible  <bruno@clisp.org>
56538
56539         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
56540         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
56541         Define to replacements if REPLACE_ISWCNTRL is 1.
56542         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
56543         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
56544         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
56545         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
56546         what it fixes.
56547         * doc/posix-functions/iswalpha.texi: Likewise.
56548         * doc/posix-functions/iswblank.texi: Likewise.
56549         * doc/posix-functions/iswcntrl.texi: Likewise.
56550         * doc/posix-functions/iswdigit.texi: Likewise.
56551         * doc/posix-functions/iswgraph.texi: Likewise.
56552         * doc/posix-functions/iswlower.texi: Likewise.
56553         * doc/posix-functions/iswprint.texi: Likewise.
56554         * doc/posix-functions/iswpunct.texi: Likewise.
56555         * doc/posix-functions/iswspace.texi: Likewise.
56556         * doc/posix-functions/iswupper.texi: Likewise.
56557         * doc/posix-functions/iswxdigit.texi: Likewise.
56558         Reported by Alain Guibert.
56559
56560 2008-04-21  Bruno Haible  <bruno@clisp.org>
56561
56562         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
56563         Patch by Alain Guibert.
56564
56565 2008-04-21  Bruno Haible  <bruno@clisp.org>
56566
56567         Fix test failures on mingw.
56568         * tests/test-xstrtol.c (print_no_progname): New function.
56569         (main): Install it in error_print_progname hook.
56570         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
56571         * tests/test-xstrtoimax.sh: Likewise.
56572         * tests/test-xstrtoumax.sh: Likewise.
56573
56574 2008-04-21  Bruno Haible  <bruno@clisp.org>
56575
56576         Fix test failure on mingw.
56577         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
56578
56579 2008-04-21  Bruno Haible  <bruno@clisp.org>
56580
56581         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
56582         Actually assign a value.
56583
56584 2008-04-20  Bruno Haible  <bruno@clisp.org>
56585
56586         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
56587         take 2.
56588         * lib/canonicalize.c (canonicalize_file_name): Elide if the
56589         'canonicalize-lgpl' module is also used.
56590         * lib/canonicalize-lgpl.c: Undo last change.
56591         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
56592
56593 2008-04-20  Bruno Haible  <bruno@clisp.org>
56594
56595         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
56596         config.h. Provide _mkdir based fallback for mingw.
56597         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
56598         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
56599         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
56600         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
56601         rather than defining mkdir in config.h.
56602         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
56603         (gl_SYS_STAT_H_DEFAULTS): New macro.
56604         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
56605         HAVE_IO_H any more.
56606         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
56607         HAVE_DECL_MKDIR and HAVE_IO_H.
56608
56609 2008-04-20  Bruno Haible  <bruno@clisp.org>
56610
56611         * lib/isapipe.c: Port to native Windows platforms.
56612
56613 2008-04-20  Bruno Haible  <bruno@clisp.org>
56614
56615         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
56616
56617 2008-04-21  Eric Blake  <ebb9@byu.net>
56618
56619         Work around preprocessors that don't handle UINTMAX_MAX.
56620         * lib/memchr2.c (memchr2): Avoid embedded #if.
56621         Reported by Alain Guibert, fix suggested by Bruno Haible.
56622
56623 2008-04-21  Simon Josefsson  <simon@josefsson.org>
56624
56625         * doc/posix-functions/strftime.texi (strftime): Explain better
56626         Windows incompatibility.  Suggested by Micah Cowan
56627         <micah@cowan.name>.
56628
56629 2008-04-20  Bruno Haible  <bruno@clisp.org>
56630
56631         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
56632         unistr/u8-mblen.
56633
56634 2008-04-20  Bruno Haible  <bruno@clisp.org>
56635
56636         Fix test failure on platforms with non-GNU iconv.
56637         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
56638         (U_TO_U8): Use it, rather than u16_to_u8.
56639         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
56640         units at the end of the input string.
56641         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
56642
56643 2008-04-20  Bruno Haible  <bruno@clisp.org>
56644
56645         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
56646         when the resulting length is 0.
56647         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
56648
56649 2008-04-20  Bruno Haible  <bruno@clisp.org>
56650
56651         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
56652         works.
56653         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
56654
56655 2008-04-20  Bruno Haible  <bruno@clisp.org>
56656
56657         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
56658         * modules/tsearch-tests (configure.ac): Test for initstate function.
56659
56660 2008-04-20  Bruno Haible  <bruno@clisp.org>
56661
56662         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
56663         for nlink_t if missing.
56664         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
56665
56666 2008-04-19  Bruno Haible  <bruno@clisp.org>
56667
56668         Work around snprintf bug on Linux libc5.
56669         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
56670         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
56671         gl_SNPRINTF_SIZE1.
56672         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
56673         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
56674         that test failed.
56675         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
56676         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
56677         * modules/snprintf (Files): Add m4/printf.m4.
56678         * modules/vsnprintf (Files): Likewise.
56679         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
56680         * doc/posix-functions/vsnprintf.texi: Likewise.
56681
56682 2008-04-19  Bruno Haible  <bruno@clisp.org>
56683
56684         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
56685         from 0.0058 to less than 10^-7.
56686
56687 2008-04-19  Bruno Haible  <bruno@clisp.org>
56688
56689         Fix rounding when a precision is given.
56690         * lib/vasnprintf.c (is_borderline): New function.
56691         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
56692         9...9x.
56693         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
56694         %e, %g.
56695         * tests/test-vasprintf-posix.c (test_function): Likewise.
56696         * tests/test-snprintf-posix.h (test_function): Likewise.
56697         * tests/test-sprintf-posix.h (test_function): Likewise.
56698         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
56699         * tests/test-printf-posix.h (test_function): Likewise.
56700         * tests/test-printf-posix.output: Update.
56701         Reported by John Darrington <john@darrington.wattle.id.au> via
56702         Ben Pfaff <blp@cs.stanford.edu>.
56703
56704 2008-04-18  Simon Josefsson  <simon@josefsson.org>
56705
56706         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
56707         Suggested by Bruno Haible <bruno@clisp.org>.
56708
56709 2008-04-17  Bruno Haible  <bruno@clisp.org>
56710
56711         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
56712         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
56713         implementation.
56714         Patch by Bruce Merry <bmerry@gmail.com>.
56715
56716 2008-04-17  Simon Josefsson  <simon@josefsson.org>
56717
56718         * doc/posix-functions/strftime.texi (strftime): Mention that %e
56719         doesn't work under Windows.
56720
56721 2008-04-16  Bruno Haible  <bruno@clisp.org>
56722
56723         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
56724         New macros.
56725         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
56726         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
56727         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
56728         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
56729         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
56730         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
56731         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
56732         macros.
56733         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
56734         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
56735         Northern Sotho, Uighur.
56736
56737 2008-04-16  Bruno Haible  <bruno@clisp.org>
56738
56739         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
56740         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
56741         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
56742         Reported by Daniel Bergström <daniel@octocode.com>.
56743
56744 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
56745             Bruno Haible  <bruno@clisp.org>
56746
56747         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
56748         function.
56749         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
56750         New functions, mostly extracted from gl_locale_name_default.
56751         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
56752
56753 2008-04-16  Eric Blake  <ebb9@byu.net>
56754
56755         Adjust strtod detection to catch glibc 2.7 bug.
56756         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
56757         Reported by John Gatewood Ham.
56758
56759 2008-04-16  Bruno Haible  <bruno@clisp.org>
56760
56761         Add tentative support for Linux libc5.
56762         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
56763         * lib/fpurge.c (fpurge): Likewise.
56764         * lib/freadable.c (freadable): Likewise.
56765         * lib/freadahead.c (freadahead): Likewise.
56766         * lib/freading.c (freading): Likewise.
56767         * lib/freadptr.c (freadptr): Likewise.
56768         * lib/freadseek.c (freadptrinc): Likewise.
56769         * lib/fseeko.c (rpl_fseeko): Likewise.
56770         * lib/fseterr.c (fseterr): Likewise.
56771         * lib/fwritable.c (fwritable): Likewise.
56772         * lib/fwriting.c (fwriting): Likewise.
56773         Reported by Alain Guibert <alguibert+bts@free.fr>.
56774
56775 2008-04-15  Bruno Haible  <bruno@clisp.org>
56776
56777         * modules/mathl (configure.ac): Define module indicator.
56778
56779 2008-04-15  Bruno Haible  <bruno@clisp.org>
56780
56781         * lib/logl.c (logl): Remove unused variables.
56782
56783 2008-04-15  Bruno Haible  <bruno@clisp.org>
56784
56785         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
56786         fails.
56787
56788 2008-04-15  Bruno Haible  <bruno@clisp.org>
56789
56790         * lib/trim.c (trim2): Fix argument of isspace() macro.
56791
56792 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
56793
56794         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
56795         to 0.
56796         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
56797
56798 2008-04-14  Bruno Haible  <bruno@clisp.org>
56799
56800         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
56801         AC_LANG_PROGRAM argument.
56802         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
56803         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
56804         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
56805         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
56806         * m4/math_h.m4 (gl_MATH_H): Likewise.
56807         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
56808         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
56809         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
56810         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
56811         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
56812         * m4/regex.m4 (gl_REGEX): Likewise.
56813         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
56814         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
56815         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
56816         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
56817         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
56818         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
56819         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
56820         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
56821
56822 2008-04-14  Jim Meyering  <meyering@redhat.com>
56823
56824         test-strtod: fix typos: s/abs/fabs/
56825         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
56826
56827 2008-04-13  Bruno Haible  <bruno@clisp.org>
56828
56829         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
56830         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
56831         module is also used and while not building the reloc-wrapper.
56832
56833 2008-04-13  Bruno Haible  <bruno@clisp.org>
56834
56835         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
56836
56837 2008-04-13  Bruno Haible  <bruno@clisp.org>
56838
56839         Fix AIX compilation failure introduced on 2008-04-02.
56840         * tests/test-frexp.c (exp): Undefine before redefining.
56841         * tests/test-frexpl.c (exp): Likewise.
56842
56843 2008-04-13  Bruno Haible  <bruno@clisp.org>
56844
56845         Work around a HP-UX stdio bug.
56846         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
56847         * tests/test-ftello.c (main): Likewise.
56848         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
56849         * doc/posix-functions/ftello.texi: Likewise.
56850
56851 2008-04-13  Bruno Haible  <bruno@clisp.org>
56852
56853         Make test-signbit pass on HP-UX/hppa.
56854         * tests/test-signbit.c (minus_zerol): New variable.
56855         (test_signbitl): Use it.
56856
56857 2008-04-13  Bruno Haible  <bruno@clisp.org>
56858
56859         Make truncl work on OSF/1 4.0.
56860         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
56861         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
56862         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
56863         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
56864         HAVE_DECL_TRUNCL.
56865         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
56866         HAVE_DECL_TRUNCL.
56867         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
56868
56869 2008-04-13  Bruno Haible  <bruno@clisp.org>
56870
56871         * lib/unictype.h: Remove trailing comma from enumeration definitions.
56872
56873 2008-04-13  Bruno Haible  <bruno@clisp.org>
56874
56875         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
56876         expression, so as to avoid HP-UX 11 cc compiler bug.
56877
56878 2008-04-13  Bruno Haible  <bruno@clisp.org>
56879
56880         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
56881
56882 2008-04-13  Bruno Haible  <bruno@clisp.org>
56883
56884         * lib/git-merge-changelog.c: Remove empty declaration outside of
56885         functions.
56886
56887 2008-04-13  Bruno Haible  <bruno@clisp.org>
56888
56889         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
56890
56891 2008-04-13  Bruno Haible  <bruno@clisp.org>
56892
56893         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
56894         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
56895         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
56896         also if it exists but lacks definitions of the SHUT_* macros.
56897         * modules/sys_socket (Description): Update.
56898         Reported by Elbert Pol <e.pol@chello.nl>.
56899
56900 2008-04-13  Bruno Haible  <bruno@clisp.org>
56901
56902         * lib/localcharset.c (OS2): Don't redefine if already defined.
56903         Reported by Elbert Pol <e.pol@chello.nl>.
56904
56905 2008-04-13  Bruno Haible  <bruno@clisp.org>
56906
56907         * lib/binary-io.h [__EMX__]: Include <io.h>.
56908         Reported by Elbert Pol <e.pol@chello.nl>.
56909
56910 2008-04-12  Bruno Haible  <bruno@clisp.org>
56911
56912         * lib/fpucw.h: Enable the definitions also for x86_64.
56913         Needed for NetBSD/x86_64.
56914         Reported by Thomas Klausner <tk@giga.or.at>.
56915
56916 2008-04-12  Bruno Haible  <bruno@clisp.org>
56917
56918         * tests/test-strtod.c: Include isnand.h.
56919         (main): Use isnand instead of isnan.
56920         Reported by Jim Meyering.
56921
56922 2008-04-12  Bruno Haible  <bruno@clisp.org>
56923
56924         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
56925         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
56926
56927 2008-04-12  Jim Meyering  <meyering@redhat.com>
56928
56929         * m4/math_h.m4 (gl_MATH_H): Fix typos.
56930
56931 2008-04-12  Bruno Haible  <bruno@clisp.org>
56932
56933         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
56934         Reported by Elbert Pol <e.pol@chello.nl>.
56935
56936 2008-04-12  Eric Blake  <ebb9@byu.net>
56937
56938         Work around Solaris 10 math.h bug.
56939         * m4/math_h.m4 (gl_MATH_H): Check for bug.
56940         (gl_MATH_H_DEFAULTS): Set up default.
56941         * modules/math (Makefile.am): Replace new indicators.
56942         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
56943         * tests/test-math.c (main): Test this.
56944         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
56945         * doc/posix-headers/math.texi (math.h): Mention bug.
56946         Reported by Nelson H. F. Beebe and Jim Meyering.
56947
56948 2008-04-11  Bruno Haible  <bruno@clisp.org>
56949
56950         Adapt to future versions of Apple GCC.
56951         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
56952         Reported by Peter O'Gorman <peter@pogma.com>.
56953
56954 2008-04-11  Bruno Haible  <bruno@clisp.org>
56955
56956         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
56957
56958 2008-04-11  Bruno Haible  <bruno@clisp.org>
56959
56960         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
56961
56962         * modules/getaddrinfo-tests (Makefile.am): Define
56963         test_getaddrinfo_LDADD.
56964
56965 2008-04-11  Bruno Haible  <bruno@clisp.org>
56966
56967         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
56968         (init): Fix syntax error.
56969         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
56970         is declared.
56971
56972 2008-04-11  Bruno Haible  <bruno@clisp.org>
56973
56974         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
56975         * modules/glob (Depends-on): Add stdbool.
56976
56977 2008-04-11  Bruno Haible  <bruno@clisp.org>
56978
56979         * lib/trim.c: Include <string.h>.
56980
56981 2008-04-11  Eric Blake  <ebb9@byu.net>
56982
56983         Avoid compile failure on OS/2.
56984         * lib/regex_internal.h (internal_function): Disable optimization
56985         on OS/2 (__EMX__), where it caused compiler error.
56986         Reported by Elbert Pol.
56987
56988 2008-04-11  Bruno Haible  <bruno@clisp.org>
56989
56990         Flush the standard error stream before aborting. Needed on mingw.
56991         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
56992         * tests/test-array_list.c (ASSERT): Likewise.
56993         * tests/test-array_oset.c (ASSERT): Likewise.
56994         * tests/test-avltree_list.c (ASSERT): Likewise.
56995         * tests/test-avltree_oset.c (ASSERT): Likewise.
56996         * tests/test-avltreehash_list.c (ASSERT): Likewise.
56997         * tests/test-binary-io.c (ASSERT): Likewise.
56998         * tests/test-byteswap.c (ASSERT): Likewise.
56999         * tests/test-c-ctype.c (ASSERT): Likewise.
57000         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
57001         * tests/test-c-strcasestr.c (ASSERT): Likewise.
57002         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
57003         * tests/test-c-strstr.c (ASSERT): Likewise.
57004         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
57005         * tests/test-canonicalize.c (ASSERT): Likewise.
57006         * tests/test-carray_list.c (ASSERT): Likewise.
57007         * tests/test-ceilf1.c (ASSERT): Likewise.
57008         * tests/test-ceilf2.c (ASSERT): Likewise.
57009         * tests/test-ceill.c (ASSERT): Likewise.
57010         * tests/test-count-one-bits.c (ASSERT): Likewise.
57011         * tests/test-fbufmode.c (ASSERT): Likewise.
57012         * tests/test-fflush2.c (ASSERT): Likewise.
57013         * tests/test-floorf1.c (ASSERT): Likewise.
57014         * tests/test-floorf2.c (ASSERT): Likewise.
57015         * tests/test-floorl.c (ASSERT): Likewise.
57016         * tests/test-fopen.c (ASSERT): Likewise.
57017         * tests/test-fpending.c (ASSERT): Likewise.
57018         * tests/test-fprintf-posix.c (ASSERT): Likewise.
57019         * tests/test-fpurge.c (ASSERT): Likewise.
57020         * tests/test-freadable.c (ASSERT): Likewise.
57021         * tests/test-freadahead.c (ASSERT): Likewise.
57022         * tests/test-freading.c (ASSERT): Likewise.
57023         * tests/test-freadptr.c (ASSERT): Likewise.
57024         * tests/test-freadptr2.c (ASSERT): Likewise.
57025         * tests/test-freadseek.c (ASSERT): Likewise.
57026         * tests/test-freopen.c (ASSERT): Likewise.
57027         * tests/test-frexp.c (ASSERT): Likewise.
57028         * tests/test-frexpl.c (ASSERT): Likewise.
57029         * tests/test-fseek.c (ASSERT): Likewise.
57030         * tests/test-fseeko.c (ASSERT): Likewise.
57031         * tests/test-fstrcmp.c (ASSERT): Likewise.
57032         * tests/test-ftell.c (ASSERT): Likewise.
57033         * tests/test-ftello.c (ASSERT): Likewise.
57034         * tests/test-func.c (ASSERT): Likewise.
57035         * tests/test-fwritable.c (ASSERT): Likewise.
57036         * tests/test-fwriting.c (ASSERT): Likewise.
57037         * tests/test-getdelim.c (ASSERT): Likewise.
57038         * tests/test-getline.c (ASSERT): Likewise.
57039         * tests/test-i-ring.c (ASSERT): Likewise.
57040         * tests/test-iconv-utf.c (ASSERT): Likewise.
57041         * tests/test-iconv.c (ASSERT): Likewise.
57042         * tests/test-isfinite.c (ASSERT): Likewise.
57043         * tests/test-isnand.c (ASSERT): Likewise.
57044         * tests/test-isnanf.c (ASSERT): Likewise.
57045         * tests/test-isnanl.h (ASSERT): Likewise.
57046         * tests/test-ldexpl.c (ASSERT): Likewise.
57047         * tests/test-linked_list.c (ASSERT): Likewise.
57048         * tests/test-linkedhash_list.c (ASSERT): Likewise.
57049         * tests/test-localename.c (ASSERT): Likewise.
57050         * tests/test-lseek.c (ASSERT): Likewise.
57051         * tests/test-mbscasecmp.c (ASSERT): Likewise.
57052         * tests/test-mbscasestr1.c (ASSERT): Likewise.
57053         * tests/test-mbscasestr2.c (ASSERT): Likewise.
57054         * tests/test-mbscasestr3.c (ASSERT): Likewise.
57055         * tests/test-mbscasestr4.c (ASSERT): Likewise.
57056         * tests/test-mbschr.c (ASSERT): Likewise.
57057         * tests/test-mbscspn.c (ASSERT): Likewise.
57058         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
57059         * tests/test-mbspbrk.c (ASSERT): Likewise.
57060         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
57061         * tests/test-mbsrchr.c (ASSERT): Likewise.
57062         * tests/test-mbsspn.c (ASSERT): Likewise.
57063         * tests/test-mbsstr1.c (ASSERT): Likewise.
57064         * tests/test-mbsstr2.c (ASSERT): Likewise.
57065         * tests/test-mbsstr3.c (ASSERT): Likewise.
57066         * tests/test-memchr2.c (ASSERT): Likewise.
57067         * tests/test-memmem.c (ASSERT): Likewise.
57068         * tests/test-open.c (ASSERT): Likewise.
57069         * tests/test-printf-frexp.c (ASSERT): Likewise.
57070         * tests/test-printf-frexpl.c (ASSERT): Likewise.
57071         * tests/test-printf-posix.c (ASSERT): Likewise.
57072         * tests/test-quotearg.c (ASSERT): Likewise.
57073         * tests/test-rbtree_list.c (ASSERT): Likewise.
57074         * tests/test-rbtree_oset.c (ASSERT): Likewise.
57075         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
57076         * tests/test-round1.c (ASSERT): Likewise.
57077         * tests/test-roundf1.c (ASSERT): Likewise.
57078         * tests/test-roundl.c (ASSERT): Likewise.
57079         * tests/test-signbit.c (ASSERT): Likewise.
57080         * tests/test-sleep.c (ASSERT): Likewise.
57081         * tests/test-snprintf-posix.c (ASSERT): Likewise.
57082         * tests/test-snprintf.c (ASSERT): Likewise.
57083         * tests/test-sprintf-posix.c (ASSERT): Likewise.
57084         * tests/test-stat-time.c (ASSERT): Likewise.
57085         * tests/test-strcasestr.c (ASSERT): Likewise.
57086         * tests/test-strerror.c (ASSERT): Likewise.
57087         * tests/test-striconv.c (ASSERT): Likewise.
57088         * tests/test-striconveh.c (ASSERT): Likewise.
57089         * tests/test-striconveha.c (ASSERT): Likewise.
57090         * tests/test-strsignal.c (ASSERT): Likewise.
57091         * tests/test-strstr.c (ASSERT): Likewise.
57092         * tests/test-strtod.c (ASSERT): Likewise.
57093         * tests/test-trunc1.c (ASSERT): Likewise.
57094         * tests/test-trunc2.c (ASSERT): Likewise.
57095         * tests/test-truncf1.c (ASSERT): Likewise.
57096         * tests/test-truncf2.c (ASSERT): Likewise.
57097         * tests/test-truncl.c (ASSERT): Likewise.
57098         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
57099         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
57100         * tests/test-vasnprintf.c (ASSERT): Likewise.
57101         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
57102         * tests/test-vasprintf.c (ASSERT): Likewise.
57103         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
57104         * tests/test-vprintf-posix.c (ASSERT): Likewise.
57105         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
57106         * tests/test-vsnprintf.c (ASSERT): Likewise.
57107         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
57108         * tests/test-wcwidth.c (ASSERT): Likewise.
57109         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
57110         * tests/test-xprintf-posix.c (ASSERT): Likewise.
57111         * tests/test-xvasprintf.c (ASSERT): Likewise.
57112         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
57113         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
57114         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
57115         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
57116         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
57117         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
57118         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
57119         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
57120         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
57121         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
57122         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
57123         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
57124         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
57125         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
57126         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
57127         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
57128         * tests/unictype/test-block_list.c (ASSERT): Likewise.
57129         * tests/unictype/test-block_of.c (ASSERT): Likewise.
57130         * tests/unictype/test-block_test.c (ASSERT): Likewise.
57131         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
57132         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
57133         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
57134         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
57135         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
57136         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
57137         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
57138         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
57139         * tests/unictype/test-combining.c (ASSERT): Likewise.
57140         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
57141         * tests/unictype/test-digit.c (ASSERT): Likewise.
57142         * tests/unictype/test-mirror.c (ASSERT): Likewise.
57143         * tests/unictype/test-numeric.c (ASSERT): Likewise.
57144         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
57145         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
57146         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
57147         * tests/unictype/test-scripts.c (ASSERT): Likewise.
57148         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
57149         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
57150         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
57151         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
57152         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
57153         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
57154         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
57155         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
57156         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
57157         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
57158         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
57159         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
57160         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
57161         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
57162         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
57163         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
57164         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
57165         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
57166         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
57167         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
57168         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
57169         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
57170         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
57171         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
57172         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
57173         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
57174         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
57175         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
57176         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
57177         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
57178         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
57179         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
57180         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
57181         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
57182         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
57183         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
57184         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
57185         Reported by Eric Blake.
57186
57187 2008-04-11  Bruno Haible  <bruno@clisp.org>
57188
57189         * lib/wchar.in.h: Tweak comment.
57190
57191 2008-04-11  Bruno Haible  <bruno@clisp.org>
57192
57193         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
57194         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
57195         gl_COMMON.
57196         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
57197
57198 2008-04-11  Bruno Haible  <bruno@clisp.org>
57199
57200         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
57201
57202 2008-04-11  Simon Josefsson  <simon@josefsson.org>
57203
57204         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
57205         of attempting to use non-existing /dev/*random.  Based on patch
57206         from Adam Strzelecki <ono@java.pl> in
57207         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
57208
57209 2008-04-08  Bruno Haible  <bruno@clisp.org>
57210
57211         Add tentative support for emx+gcc.
57212         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
57213         * lib/fpurge.c (fpurge): Likewise.
57214         * lib/freadable.c (freadable): Likewise.
57215         * lib/freadahead.c (freadahead): Likewise.
57216         * lib/freading.c (freading): Likewise.
57217         * lib/freadptr.c (freadptr): Likewise.
57218         * lib/freadseek.c (freadptrinc): Likewise.
57219         * lib/fseeko.c (rpl_fseeko): Likewise.
57220         * lib/fseterr.c (fseterr): Likewise.
57221         * lib/fwritable.c (fwritable): Likewise.
57222         * lib/fwriting.c (fwriting): Likewise.
57223         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
57224
57225 2008-04-09  Eric Blake  <ebb9@byu.net>
57226
57227         Avoid some autoconf warnings.
57228         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
57229         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
57230         * m4/afs.m4 (gl_AFS): Likewise.
57231         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
57232         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
57233         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
57234         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
57235         (gl_INTEGER_TYPE_SUFFIX): Likewise.
57236         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
57237         (AC_CHECK_DECLS_ONCE): Likewise.
57238         Rename file...
57239         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
57240         gnulib-tool requires autoconf 2.59 or better.
57241         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
57242
57243 2008-04-08  Eric Blake  <ebb9@byu.net>
57244
57245         Use 'git describe --match' if present (added in git 1.5.5).
57246         * build-aux/git-version-gen: Limit result to tags that match 'v*'
57247         if possible.
57248
57249 2008-04-08  Bruno Haible  <bruno@clisp.org>
57250
57251         Add tentative support for OpenServer.
57252         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
57253         _ptr, _cnt.
57254         * lib/fpurge.c (fpurge): Likewise.
57255         * lib/freadable.c (freadable): Likewise.
57256         * lib/freadahead.c (freadahead): Likewise.
57257         * lib/freading.c (freading): Likewise.
57258         * lib/freadptr.c (freadptr): Likewise.
57259         * lib/freadseek.c (freadptrinc): Likewise.
57260         * lib/fseeko.c (rpl_fseeko): Likewise.
57261         * lib/fseterr.c (fseterr): Likewise.
57262         * lib/fwritable.c (fwritable): Likewise.
57263         * lib/fwriting.c (fwriting): Likewise.
57264         Reported by Roger Cornelius <rac@tenzing.org> and
57265         Brian K. White <brian@aljex.com>.
57266
57267 2008-04-06  Jim Meyering  <meyering@redhat.com>
57268
57269         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
57270
57271 2008-04-06  Bruno Haible  <bruno@clisp.org>
57272
57273         Avoid possible error with non-ASCII bytes in UTF-8 locales.
57274         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
57275         * tests/test-printf-posix.sh: Likewise.
57276         * tests/test-vfprintf-posix.sh: Likewise.
57277         * tests/test-vprintf-posix.sh: Likewise.
57278         * tests/test-xprintf-posix.sh: Likewise.
57279
57280 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57281
57282         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
57283         hide error from 'ls', needed on OS/2.
57284         Report by Elbert Pol <elbert.pol@gmail.com>.
57285
57286 2008-04-04  Eric Blake  <ebb9@byu.net>
57287
57288         Make test-fseeko.c failures meaningful.
57289         * tests/test-fseeko.c: Print line number on failure.
57290         * tests/test-fseek.c: Likewise.
57291         Reported by Nelson H. F. Beebe.
57292
57293         Improve strtod bug detection check.
57294         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
57295         required for Solaris 10.
57296         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
57297
57298 2008-04-04  Bruno Haible  <bruno@clisp.org>
57299
57300         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
57301         by m4/setenv.m4.
57302
57303 2008-04-03  Eric Blake  <ebb9@byu.net>
57304
57305         Ensure sane .version contents.
57306         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
57307         version string.
57308         * build-aux/git-version-gen: Improve documentation.
57309
57310         Make GNU make output nicer.
57311         * top/GNUmakefile [!_have-Makefile]: Add dependency on
57312         MAKECMDGOALS to enforce message for all command line targets.  Set
57313         srcdir for use in maint.mk.
57314
57315         Another maintainer tweak.
57316         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
57317         a target that regenerates version.
57318
57319 2008-04-03  Jim Meyering  <meyering@redhat.com>
57320
57321         vc-list-files: don't cause coreutils "make po-check" failure
57322         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
57323
57324 2008-04-03  Eric Blake  <ebb9@byu.net>
57325
57326         Allow VPATH usage of vc-list-files.
57327         * build-aux/vc-list-files (scriptversion): Add timestamp.
57328         (options): Add --help, --version, -C.
57329         (CVS): Support installed cvsu.
57330
57331 2008-04-02  Bruno Haible  <bruno@clisp.org>
57332
57333         Avoid some "statement with no effect" warnings from gcc.
57334         * tests/test-wctype.c (main): Explicitly ignore unused values.
57335         Reported by Jim Meyering.
57336
57337 2008-04-02  Jim Meyering  <meyering@redhat.com>
57338
57339         Avoid some warnings from "gcc -Wshadow".
57340         * tests/test-frexp.c (exp): Define to a different identifier.
57341         * tests/test-frexpl.c (exp): Likewise.
57342
57343 2008-04-03  Jim Meyering  <meyering@redhat.com>
57344
57345         bootstrap: remove dangling *.[ch] symlinks from lib
57346         * build-aux/bootstrap [dangling symlink removal]: Move find's
57347         -depth option to precede all others, to avoid a warning.
57348         Remove *.[ch] files too, and from "$source_base" (usually lib/).
57349
57350 2008-04-02  Bruno Haible  <bruno@clisp.org>
57351
57352         Avoid some warnings from "gcc -Wshadow".
57353         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
57354         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
57355         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
57356         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
57357         Reported by Jim Meyering.
57358
57359 2008-04-01  Bruno Haible  <bruno@clisp.org>
57360
57361         Fix test to work on IRIX 6.5 with cc.
57362         * tests/test-math.c (numeric_equal): New function.
57363         (main): Use it.
57364
57365 2008-04-01  Bruno Haible  <bruno@clisp.org>
57366
57367         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
57368
57369 2008-04-01  Bruno Haible  <bruno@clisp.org>
57370
57371         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
57372         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
57373         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
57374         (Depends-on): Remove math.
57375
57376         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
57377         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
57378         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
57379         (Depends-on): Remove math.
57380
57381         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
57382         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
57383         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
57384         (Depends-on): Remove math.
57385         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
57386         (Depends-on): Remove math.
57387
57388         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
57389         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
57390         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
57391         (Depends-on): Remove math.
57392         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
57393         (Depends-on): Remove math.
57394
57395         * tests/test-round1.c: Include nan.h.
57396         (main): Use NaNd instead of NAN.
57397         * modules/round-tests (Files): Add tests/nan.h.
57398
57399         * tests/test-trunc1.c: Include nan.h.
57400         (main): Use NaNd instead of NAN.
57401         * modules/trunc-tests (Files): Add tests/nan.h.
57402
57403         * tests/test-roundf1.c: Include nan.h.
57404         (main): Use NaNf instead of NAN.
57405         * modules/roundf-tests (Files): Add tests/nan.h.
57406
57407         * tests/test-truncf1.c: Include nan.h.
57408         (main): Use NaNf instead of NAN.
57409         * modules/truncf-tests (Files): Add tests/nan.h.
57410
57411         * tests/test-ceilf1.c: Include nan.h.
57412         (main): Use NaNf instead of NAN.
57413         * modules/ceilf-tests (Files): Add tests/nan.h.
57414
57415         * tests/test-floorf1.c: Include nan.h.
57416         (main): Use NaNf instead of NAN.
57417         * modules/floorf-tests (Files): Add tests/nan.h.
57418
57419         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
57420         (main): Use NaNf instead of NAN.
57421         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
57422
57423         * tests/test-isnand.c: Include nan.h instead of <math.h>.
57424         (main): Use NaNd instead of NAN.
57425         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
57426
57427         * tests/test-frexp.c: Include nan.h.
57428         (main): Use NaNd instead of NAN.
57429         * modules/frexp-tests (Files): Add tests/nan.h.
57430
57431         * lib/isnan.c: Don't include <math.h>.
57432         (FUNC): Don't use NAN macro.
57433         * modules/isnand-nolibm (Depends-on): Remove math.
57434         * modules/isnanf-nolibm (Depends-on): Remove math.
57435         * modules/isnanl (Depends-on): Remove math.
57436         * modules/isnanl-nolibm (Depends-on): Remove math.
57437
57438         * tests/nan.h: New file.
57439
57440 2008-04-01  Eric Blake  <ebb9@byu.net>
57441
57442         Fix typos.
57443         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
57444         values to be the right type.
57445
57446         For now, cater to gnulib strtod inaccuracies.
57447         * tests/test-strtod.c (main): Allow 1-ulp error on expected
57448         fractional results.  While not as nice from a QoI perspective, it
57449         is a quicker patch than correctly implementing decimal to binary
57450         rounding.
57451
57452 2008-03-31  Eric Blake  <ebb9@byu.net>
57453
57454         Guarantee a definition of NAN.
57455         * lib/math.in.h (NAN): Define if missing.
57456         * tests/test-math.c (main): Test it.
57457         * doc/posix-headers/math.texi (math.h): Document this.
57458         * lib/isnan.c (rpl_isnand): Use it.
57459         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
57460         * tests/test-floorf1.c (NaN): Likewise.
57461         * tests/test-frexp.c (NaN): Likewise.
57462         * tests/test-isnand.c (NaN): Likewise.
57463         * tests/test-isnanf.c (NaN): Likewise.
57464         * tests/test-round1.c (NaN): Likewise.
57465         * tests/test-roundf1.c (NaN): Likewise.
57466         * tests/test-snprintf-posix.h (NaN): Likewise.
57467         * tests/test-sprintf-posix.h (NaN): Likewise.
57468         * tests/test-trunc1.c (NaN): Likewise.
57469         * tests/test-truncf1.c (NaN): Likewise.
57470         * tests/test-vasnprintf-posix.c (NaN): Likewise.
57471         * tests/test-vasprintf-posix.c (NaN): Likewise.
57472         * modules/isnand-nolibm (Depends-on): Add math.
57473         * modules/isnanf-nolibm (Depends-on): Likewise.
57474         * modules/isnanl (Depends-on): Likewise.
57475         * modules/isnanl-nolibm (Depends-on): Likewise.
57476         * modules/snprintf-posix-tests (Depends-on): Likewise.
57477         * modules/sprintf-posix-tests (Depends-on): Likewise.
57478         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
57479         * modules/vsprintf-posix-tests (Depends-on): Likewise.
57480         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
57481         * modules/vasprintf-posix-tests (Depends-on): Likewise.
57482
57483 2008-03-31  Bruno Haible  <bruno@clisp.org>
57484
57485         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
57486         * doc/posix-functions/strtod.texi: Likewise.
57487
57488 2008-03-31  Bruno Haible  <bruno@clisp.org>
57489
57490         * tests/test-strtod.c (main): Don't use C99 syntax.
57491
57492 2008-03-31  Bruno Haible  <bruno@clisp.org>
57493
57494         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
57495         Reported by Eric Blake.
57496
57497 2008-03-31  Jim Meyering  <meyering@redhat.com>
57498
57499         Don't compare actual signbit return values.
57500         * tests/test-strtod.c (main): Rather, compare only their
57501         zero/non-zero nature.
57502
57503 2008-03-31  Eric Blake  <ebb9@byu.net>
57504
57505         More strtod documentation.
57506         * doc/posix-functions/strtod.texi (strtod): Interpret more test
57507         failures as distinct bugs.
57508
57509 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
57510
57511         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
57512         Problem reported by Erik Benada in
57513         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
57514
57515 2008-03-30  Bruno Haible  <bruno@clisp.org>
57516
57517         * tests/test-strtod.c: Add comments about which assertion fails on which
57518         platform.
57519         * doc/posix-functions/strtod.texi: Add info about many more platforms.
57520
57521 2008-03-30  Eric Blake  <ebb9@byu.net>
57522
57523         Test signbit behavior on zeros.
57524         * tests/test-signbit.c (test_signbitf): Add tests for zero.
57525         (test_signbitd, test_signbitl): Likewise.
57526
57527         More strtod touchups.
57528         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
57529         sign of negative underflow, for now.  Use .5, not .1.
57530         * doc/posix-functions/strtod.texi (strtod): Mention these
57531         limitations.
57532         Reported by Jim Meyering.
57533
57534 2008-03-30  Bruno Haible  <bruno@clisp.org>
57535
57536         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
57537         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
57538
57539 2008-03-30  Bruno Haible  <bruno@clisp.org>
57540
57541         Avoid failure when attempting to return empty iconv results on some
57542         platforms.
57543         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
57544         allocation, don't report ENOMEM when the resulting string is empty.
57545
57546 2008-03-30  Bruno Haible  <bruno@clisp.org>
57547
57548         Fix buffer overrun.
57549         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
57550         Don't consider the width for tmp_length. Check count against tmp_length
57551         before doing the padding. Ensure enough allocation during padding.
57552
57553 2008-03-30  Eric Blake  <ebb9@byu.net>
57554
57555         strtod touchups.
57556         * lib/strtod.c (strtod): Avoid compiler warnings.
57557         Reported by Jim Meyering.
57558
57559 2008-03-30  Bruno Haible  <bruno@clisp.org>
57560
57561         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
57562         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
57563         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
57564         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
57565         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
57566         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
57567         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
57568         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
57569
57570         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
57571         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
57572         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
57573         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
57574         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
57575         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
57576         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
57577         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
57578
57579         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
57580         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
57581         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
57582         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
57583         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
57584         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
57585         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
57586         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
57587
57588         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
57589         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
57590
57591         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
57592         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
57593
57594         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
57595         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
57596
57597         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
57598         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
57599         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
57600
57601         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
57602         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
57603         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
57604
57605         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
57606         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
57607         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
57608
57609         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
57610         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
57611         * modules/vasprintf (Depends-on): Add EOVERFLOW.
57612
57613         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
57614         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
57615         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
57616         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
57617         (Depends-on): Add EOVERFLOW.
57618         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
57619         (Depends-on): Add EOVERFLOW.
57620         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
57621         (Depends-on): Add EOVERFLOW.
57622         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
57623         (Depends-on): Add EOVERFLOW.
57624         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
57625         (Depends-on): Add EOVERFLOW.
57626         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
57627         (Depends-on): Add EOVERFLOW.
57628         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
57629         (Depends-on): Add EOVERFLOW.
57630         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
57631         (Depends-on): Add EOVERFLOW.
57632
57633         * lib/sprintf.c (EOVERFLOW): Remove fallback.
57634         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
57635         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
57636
57637         * lib/snprintf.c (EOVERFLOW): Remove fallback.
57638         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
57639         * modules/snprintf (Depends-on): Add EOVERFLOW.
57640
57641         * lib/poll.c (EOVERFLOW): Remove fallback.
57642         * modules/poll (Depends-on): Add EOVERFLOW.
57643
57644         * lib/getugroups.c (EOVERFLOW): Remove fallback.
57645         * modules/getugroups (Depends-on): Add EOVERFLOW.
57646
57647         * lib/getdelim.c (EOVERFLOW): Remove fallback.
57648         * modules/getdelim (Depends-on): Add EOVERFLOW.
57649
57650         * lib/ftell.c (EOVERFLOW): Remove fallback.
57651         * modules/ftell (Depends-on): Add EOVERFLOW.
57652
57653         * lib/fprintf.c (EOVERFLOW): Remove fallback.
57654         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
57655         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
57656
57657         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
57658
57659         * modules/EOVERFLOW-tests: New file.
57660         * tests/test-EOVERFLOW.c: New file.
57661
57662         * modules/EOVERFLOW: New file.
57663         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
57664
57665 2008-03-30  Bruno Haible  <bruno@clisp.org>
57666
57667         Fix bug introduced on 2007-06-10.
57668         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
57669         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
57670
57671 2008-03-30  Bruno Haible  <bruno@clisp.org>
57672
57673         Improve freadseek's efficiency after ungetc.
57674         * lib/freadseek.c: Include freadahead.h.
57675         (freadptrinc): New function, extracted from freadseek.
57676         (freadseek): Use it in a loop. Use freadahead to determine the number
57677         of loop iterations.
57678         * modules/freadseek (Depends-on): Add freadahead.
57679         (configure.ac): Require AC_C_INLINE.
57680
57681 2008-03-30  Bruno Haible  <bruno@clisp.org>
57682
57683         * lib/freadseek.c (freadseek): Don't ignore the return value of
57684         freadptr.
57685
57686 2008-03-29  Eric Blake  <ebb9@byu.net>
57687
57688         Add hex float support.
57689         * modules/strtod (Depends-on): Add c-ctype.
57690         (Link): Mention POW_LIB.
57691         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
57692         whitespace between 'e' and exponent.
57693         * tests/test-strtod.c (main): Enable hex float tests.
57694         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
57695         now provides.
57696
57697         Document various strtod bugs, with some fixes.
57698         * doc/posix-functions/strtod.texi (strtod): Document bugs with
57699         "-0x", "inf", "nan", and hex constants.
57700         * doc/posix-functions/atof.texi (atof): Likewise.
57701         * modules/stdlib (Makefile.am): Support strtod.
57702         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
57703         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
57704         detect additional strtod bugs.
57705         * lib/stdlib.in.h (rpl_strtod): Add declarations.
57706         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
57707         bool where appropriate.  Parse 'inf' and 'nan'.
57708         * tests/test-strtod.c: New file.
57709         * modules/strtod (Depends-on): Add stdbool, stdlib.
57710         (configure.ac): Turn on module indicator.
57711         * modules/strtod-tests: New module.
57712
57713 2008-03-29  Eric Blake  <ebb9@byu.net>
57714
57715         Fix ftell on mingw.
57716         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
57717         * modules/ftell-tests (Depends-on): Add binary-io.
57718         * modules/ftello-tests (Depends-on): Likewise.
57719         * tests/test-ftell.c (main): Enhance test to cover behavior after
57720         ungetc.  Enforce binary mode.
57721         * tests/test-ftello.c (main): Likewise.
57722
57723         Pass test-freadseek on cygwin.
57724         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
57725         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
57726         ungetc buffer.
57727
57728         * tests/test-fflush2.c (main): Fix typo.
57729
57730 2008-03-29  Bruno Haible  <bruno@clisp.org>
57731
57732         * tests/test-fflush2.c (main): Temporarily disable the contents of
57733         this test.
57734         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
57735         Reported by Eric Blake.
57736
57737 2008-03-28  Simon Josefsson  <simon@josefsson.org>
57738
57739         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
57740         (GC_SHA224_DIGEST_SIZE): Add.
57741
57742         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
57743         (gc_hash_digest_length): Likewise.
57744         (gc_hash_buffer): Likewise.
57745
57746 2008-03-25  Bruno Haible  <bruno@clisp.org>
57747
57748         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
57749         detail which gettext release to use.
57750         Reported by Simon Josefsson.
57751
57752 2008-03-26  Jim Meyering  <meyering@redhat.com>
57753
57754         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
57755         * modules/gnumakefile (clean-GNUmakefile): Also, use
57756         test ... && ... || : syntax rather than if-then ... fi.
57757
57758         gnumakefile: Don't double-quote-expand $(VPATH) value.
57759         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
57760
57761 2008-03-24  Eric Blake  <ebb9@byu.net>
57762
57763         Alter GNUmakefile to install into top directory.
57764         * modules/maintainer-makefile: Split, and add dependency...
57765         * modules/gnumakefile: to this new module.
57766         * build-aux/GNUmakefile: Move...
57767         * top/GNUmakefile: ...here.
57768         * build-aux/maint.mk: Move...
57769         * top/maint.mk: ...here.
57770         * MODULES.html.sh (Support for maintaining...): Document new
57771         module.
57772
57773 2008-03-23  Bruno Haible  <bruno@clisp.org>
57774
57775         * gnulib-tool: New options --vc-files, --no-vc-files.
57776         (func_usage): Document them.
57777         (vc_files): New variable.
57778         (func_import): Consider vc_files.
57779         (func_create_testdir): Set vc_files to empty.
57780         Suggested by Jim Meyering and Karl Berry.
57781
57782 2008-03-23  Bruno Haible  <bruno@clisp.org>
57783
57784         Fix regex compilation error on HP-UX 11.
57785         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
57786         * modules/regex (Files): Add m4/mbstate_t.m4.
57787         Reported by Ton Voon <ton.voon@altinity.com>.
57788
57789 2008-03-23  Bruno Haible  <bruno@clisp.org>
57790
57791         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
57792
57793 2008-03-23  Eric Blake  <ebb9@byu.net>
57794             Bruno Haible  <bruno@clisp.org>
57795
57796         Install files from top/ in the destination directory.
57797         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
57798         augmentation also for the files from top/.
57799         (func_import, func_create_testdir): Rewrite file names:
57800         top/filename -> filename.
57801
57802 2008-03-23  Bruno Haible  <bruno@clisp.org>
57803
57804         Tweak "gnulib --version" output.
57805         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
57806
57807 2008-03-23  Bruno Haible  <bruno@clisp.org>
57808
57809         Tweak "gnulib --version" output.
57810         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
57811         rather than contents of ChangeLog, when possible.
57812
57813 2008-03-21  Eric Blake  <ebb9@byu.net>
57814
57815         More --version tweaks.
57816         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
57817         date of last ChangeLog entry.
57818
57819 2008-03-21  Jim Meyering  <meyering@redhat.com>
57820
57821         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
57822
57823 2008-03-20  Eric Blake  <ebb9@byu.net>
57824
57825         VPATH fix.
57826         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
57827
57828 2008-03-20  Simon Josefsson  <simon@josefsson.org>
57829
57830         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
57831         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
57832
57833 2008-03-20  Eric Blake  <ebb9@byu.net>
57834
57835         Sync GNUmakefile with coreutils.
57836         * build-aux/GNUmakefile (have-Makefile): Rename...
57837         (_have-Makefile): ...to this, for namespace consideration.
57838         (GNUmakefile.cfg): Include, if present.
57839         (_autoreconf): Define a default.
57840         (_is-dist-target): New rule for rebuilds to pick up intra-release
57841         version.
57842         (maint-cfg.mk): Rename...
57843         (cfg.mk): ...to this.
57844
57845 2008-03-18  Jim Meyering  <meyering@redhat.com>
57846
57847         New script and module: mktempd
57848         * MODULES.html.sh (maint+release support): Add mktempd.
57849         * build-aux/mktempd: New file.
57850         * modules/mktempd: New file.
57851
57852 2008-03-15  Jim Meyering  <meyering@redhat.com>
57853
57854         Undo last change.
57855         * lib/sha1.c, lib/md5.c: 63 != ~63.
57856         Reported by Andreas Schwab.
57857
57858         sha1.c, md5.c: Hoist a redundant expression.
57859         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
57860         "ctx->buflen" only once, before calling *_process_block.
57861         * lib/md5.c (md5_process_bytes): Likewise.
57862
57863 2008-03-14  Eric Blake  <ebb9@byu.net>
57864
57865         Bump copyright year in files generated by gnulib-tool.
57866         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
57867         gnulib-tool, rather than hard-coding it.
57868
57869         Fix 'gnulib-tool --version' output to work with git.
57870         * gnulib-tool (func_gnulib_dir): New function, extracted from...
57871         (startup): ...here.
57872         (func_version): Use it to invoke git-version-gen, rather than
57873         relying on CVS keyword expansion.  Modernize wording.
57874         (cvsdatestamp, last_checkin_date, version): Kill unused
57875         variables.
57876
57877 2008-03-12  Jim Meyering  <meyering@redhat.com>
57878
57879         Recognize optional cast of the argument to free.
57880         * build-aux/useless-if-before-free: Update regexps.
57881
57882         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
57883
57884 2008-03-11  Bruno Haible  <bruno@clisp.org>
57885
57886         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
57887         by a single package.
57888         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
57889         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
57890         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
57891         Reported by Sam Steingold <sds@gnu.org>.
57892
57893 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
57894
57895         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
57896         repositories.
57897
57898 2008-03-11  Bruno Haible  <bruno@clisp.org>
57899
57900         Avoid conflicts between local macro definitions.
57901         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
57902         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
57903
57904 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
57905             Bruno Haible  <bruno@clisp.org>
57906
57907         Make va_copy work with some version of xlc on AIX 5.1.
57908         * lib/stdarg.in.h: New file.
57909         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
57910         On AIX, use a <stdarg.h> file substitute.
57911         * modules/stdarg (Files): Add lib/stdarg.in.h.
57912         (Depends-on): Add include_next.
57913         (Makefile.am): Build a stdarg.h substitute if requested.
57914         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
57915
57916 2008-03-10  Bruno Haible  <bruno@clisp.org>
57917
57918         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
57919         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
57920         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
57921
57922 2008-03-10  Bruno Haible  <bruno@clisp.org>
57923
57924         * modules/stdlib (Depends-on): Add include_next, remove
57925         absolute-header.
57926
57927 2008-03-09  Bruno Haible  <bruno@clisp.org>
57928
57929         * lib/freadahead.h (freadahead): Document more precisely.
57930         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
57931         the sum of both buffer sizes.
57932         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
57933         * NEWS: Document the change.
57934
57935 2008-03-09  Bruno Haible  <bruno@clisp.org>
57936
57937         Extend freadptr to return also the buffer size.
57938         * lib/freadptr.h (freadptr): Add sizep argument.
57939         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
57940         (freadptr): Add sizep argument. Determine buffer size like freadahead
57941         does.
57942         * tests/test-freadptr.c: Don't include freadahead.h.
57943         (main): Adapt for new calling convention of freadptr.
57944         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
57945         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
57946         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
57947         tests/test-freadptr2.sh.
57948         (Depends): Remove freadahead.
57949         (TESTS): Add test-freadptr2.sh.
57950         (check_PROGRAMS): Add test-freadptr2.
57951
57952 2008-03-09  Bruno Haible  <bruno@clisp.org>
57953
57954         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
57955         Report and solution by Simon Josefsson.
57956
57957 2008-03-06  Bruno Haible  <bruno@clisp.org>
57958
57959         Make fflush after ungetc work on BSD platforms.
57960         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
57961         * tests/test-fflush2.c: New file.
57962         * tests/test-fflush2.sh: New file.
57963         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
57964         tests/test-fflush2.c.
57965         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
57966         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
57967
57968 2008-03-06  Eric Blake  <ebb9@byu.net>
57969
57970         Likewise for ftello.
57971         * modules/ftello (Dependencies): Add extensions.
57972         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
57973
57974 2008-03-06  Bruno Haible  <bruno@clisp.org>
57975
57976         * modules/fseeko (Dependencies): Add extensions.
57977         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
57978         Needed on glibc systems.
57979
57980 2008-03-06  Bruno Haible  <bruno@clisp.org>
57981
57982         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
57983         email address.
57984         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
57985
57986 2008-03-06  Bruno Haible  <bruno@clisp.org>
57987
57988         * users.txt: Add libgnupdf.
57989
57990 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
57991
57992         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
57993         (Header File Substitutes, Function Substitutes,
57994         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
57995         (Build robot for gnulib): Fix typo.
57996
57997 2008-03-06  Bruno Haible  <bruno@clisp.org>
57998
57999         * doc/gnulib-tool.texi (VCS Issues): Small updates.
58000         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
58001
58002 2008-03-06  Bruno Haible  <bruno@clisp.org>
58003
58004         * doc/func.texi: New file, extracted from doc/gnulib.texi.
58005         * doc/gnulib.texi: Include it.
58006
58007 2008-03-06  Simon Josefsson  <simon@josefsson.org>
58008
58009         * modules/func (License): Change license to unlimited; there was
58010         no LGPL parts in the module anyway.
58011
58012 2008-03-06  Simon Josefsson  <simon@josefsson.org>
58013
58014         * modules/__func__: Renamed to modules/func.
58015         * modules/__func__-tests: Renamed to modules/func-tests.
58016         * tests/test-__func__.c: Renamed to tests/test-func.c.
58017         * m4/__func__.m4: Renamed to m4/func.m4.
58018         * doc/gnulib.texi (__func__): Section renamed to func.
58019         Suggested by Eric Blake <ebb9@byu.net>.
58020
58021 2008-03-06  Simon Josefsson  <simon@josefsson.org>
58022
58023         * doc/gnulib.texi (__func__): Use C99 terminology when talking
58024         about __func__.  Make example self-contained.  Suggested by Eric
58025         Blake <ebb9@byu.net>.
58026
58027         * tests/test-__func__.c (main): Avoid extraneous () around __func.
58028         Suggested by Eric Blake <ebb9@byu.net>.
58029
58030 2008-03-06  Simon Josefsson  <simon@josefsson.org>
58031
58032         * modules/__func__: New file.
58033         * modules/__func__-tests: New file.
58034         * tests/test-__func__.c: New file.
58035         * m4/__func__.m4: New file.
58036         * doc/gnulib.texi (__func__): Document __func__ module.
58037
58038 2008-03-05  Simon Josefsson  <simon@josefsson.org>
58039
58040         * modules/byteswap (License): Re-license as LGPLv2+.
58041
58042 2008-03-05  Simon Josefsson  <simon@josefsson.org>
58043
58044         * doc/Makefile: Add pdf target.
58045
58046 2008-03-05  Simon Josefsson  <simon@josefsson.org>
58047
58048         * modules/inline (License): Use 'unlimited', since there are only
58049         *.m4 files in this module.
58050
58051 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
58052             Bruno Haible  <bruno@clisp.org>
58053
58054         Add support for HP C 7.1 on OpenVMS 8.3.
58055         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
58056
58057 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
58058
58059         Update VMS specifics.
58060         * lib/getopt.c [VMS]: Remove include of unixlib.h.
58061
58062 2008-03-02  Jim Meyering  <meyering@redhat.com>
58063
58064         Remove the last dependency on the "free" module.
58065         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
58066         Reported by Bob Proulx.
58067
58068         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
58069
58070         Remove useless "if" tests before free.  Deprecate "free" module.
58071         * doc/posix-functions/free.texi: Mention that this
58072         module is no longer useful.
58073         * modules/free (Notice): Say this module is obsolete.
58074         * modules/readutmp (Depends-on): Remove free.
58075         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
58076         * lib/putenv.c (putenv): Likewise.
58077         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
58078         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
58079         * tests/test-c-strcasestr.c (main): Likewise.
58080         * tests/test-c-strstr.c (main): Likewise.
58081         * tests/test-mbscasestr1.c (main): Likewise.
58082         * tests/test-mbscasestr2.c (main): Likewise.
58083         * tests/test-mbsstr1.c (main): Likewise.
58084         * tests/test-mbsstr2.c (main): Likewise.
58085         * tests/test-memmem.c (main): Likewise.
58086         * tests/test-strcasestr.c (main): Likewise.
58087         * tests/test-striconv.c (main): Likewise.
58088         * tests/test-striconveh.c (main): Likewise.
58089         * tests/test-striconveha.c (main): Likewise.
58090         * tests/test-strstr.c (main): Likewise.
58091
58092         * build-aux/git-version-gen: Adjust a comment and the Usage string.
58093
58094         bootstrap: sync from coreutils again
58095         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
58096
58097 2008-03-01  Jim Meyering  <meyering@redhat.com>
58098
58099         bootstrap: sync from coreutils
58100         * build-aux/bootstrap (update_po_files): Copy a .po file into place
58101         also when the target doesn't exist.
58102
58103 2008-03-01  Eric Blake  <ebb9@byu.net>
58104
58105         Fix bugs in last patch.
58106         * lib/memchr2.c (memchr2): Fix typo.
58107         * tests/test-memchr2.c: Test previous bug, and don't use GNU
58108         extension.
58109         Reported by Bruce Korb.
58110
58111         New module 'memchr2'.
58112         * modules/memchr2: New file.
58113         * modules/memchr2-tests: Likewise.
58114         * lib/memchr2.h: Likewise.
58115         * lib/memchr2.c: Likewise, based on memchr.c.
58116         * tests/test-memchr2.c: New test.
58117         * MODULES.html.sh (String handling): Add memchr2.
58118
58119 2008-02-29  Bruno Haible  <bruno@clisp.org>
58120
58121         * modules/freadseek-tests: New file.
58122         * tests/test-freadseek.sh: New file.
58123         * tests/test-freadseek.c: New file.
58124
58125         New module 'freadseek'.
58126         * modules/freadseek: New file.
58127         * lib/freadseek.h: New file.
58128         * lib/freadseek.c: New file.
58129         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
58130
58131 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
58132
58133         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
58134         wydawca.
58135
58136         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
58137         program_invocation_name and program_invocation_short_name are
58138         present.
58139
58140 2008-02-28  Bruno Haible  <bruno@clisp.org>
58141
58142         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
58143         * tests/test-freadptr.sh: Also test non-seekable stdin.
58144
58145 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
58146
58147         * build-aux/bootstrap (source_base, m4_base)
58148         (doc_base, tests_base): New variables.
58149         (gnulib_tool_options): Do not hardcode base directories, use
58150         the above variables instead.
58151
58152 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
58153
58154         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
58155
58156 2008-02-28  Bruno Haible  <bruno@clisp.org>
58157
58158         * modules/freadptr-tests: New file.
58159         * tests/test-freadptr.sh: New file.
58160         * tests/test-freadptr.c: New file.
58161
58162         New module 'freadptr'.
58163         * modules/freadptr: New file.
58164         * lib/freadptr.h: New file.
58165         * lib/freadptr.c: New file.
58166         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
58167
58168 2008-02-26  Karl Berry  <karl@freefriends.org>
58169
58170         Sync from Libtool:
58171         * libltdl/argz.c (argz_add, argz_count): New functions.
58172         * libltdl/argz.in.h: Declare them.
58173         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
58174
58175 2008-02-22  Bruno Haible  <bruno@clisp.org>
58176
58177         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
58178         is a pointer type.  Needed for HP-UX 10.
58179         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
58180         * doc/posix-functions/gmtime_r.texi: Likewise.
58181         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
58182
58183 2008-02-24  Bruno Haible  <bruno@clisp.org>
58184
58185         * modules/environ-tests: New file.
58186         * tests/test-environ.c: New file.
58187
58188         New module 'environ'.
58189         * modules/environ: New file.
58190         * lib/unistd.in.h (environ): New declaration.
58191         * m4/environ.m4: New file.
58192         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
58193         after use.
58194         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
58195         HAVE_DECL_ENVIRON.
58196         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
58197         HAVE_DECL_ENVIRON.
58198         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
58199         wrong claim that 'environ' is missing on some systems.
58200         * modules/execute (Depends-on): Add environ.
58201         * lib/execute.c (environ): Remove fallback declaration.
58202         * modules/pipe (Depends-on): Add environ.
58203         * lib/pipe.c (environ): Remove fallback declaration.
58204         * modules/setenv (Depends-on): Add environ.
58205         * lib/setenv.c (environ): Remove fallback declaration.
58206         * modules/unsetenv (Depends-on): Add environ.
58207         * lib/unsetenv.c (environ): Remove fallback declaration.
58208         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
58209         m4/environ.m4.
58210         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
58211         (gl_PREREQ_UNSETENV): Likewise.
58212
58213 2008-02-24  Bruno Haible  <bruno@clisp.org>
58214
58215         * doc/posix-functions/environ.texi: Document the MacOS X problem.
58216
58217 2008-02-20  Bob Proulx  <bob@proulx.com>
58218
58219         Enable use of older two part flavor 'git describe'.
58220         * build-aux/git-version-gen: If using the older two part flavor of
58221         git version then recreate the third part now present in the
58222         newer three part flavor of git describe.
58223
58224 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
58225
58226         * lib/fts.c (fts_build): Typo correction to comment.
58227
58228 2008-02-17  Bruno Haible  <bruno@clisp.org>
58229
58230         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
58231         generating no-op conflicts.
58232
58233 2008-02-17  Bruno Haible  <bruno@clisp.org>
58234
58235         Speed up by 10%.
58236         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
58237         result_entries, rather than an index-based loop.
58238
58239 2008-02-17  Bruno Haible  <bruno@clisp.org>
58240
58241         Speed up by 25%.
58242         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
58243         'hashcode_cached'.
58244         (entry_create): New function.
58245         (entry_hashcode): Use the cached hashcode if possible.
58246         (read_changelog_file, try_split_merged_entry): Use entry_create.
58247
58248 2008-02-17  Bruno Haible  <bruno@clisp.org>
58249
58250         Speed up from O(n^2) to O(n) for long ChangeLog files.
58251         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
58252         (read_changelog_file): Change implementation of entries_reversed list
58253         to rbtreehash.
58254         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
58255
58256 2008-02-17  Bruno Haible  <bruno@clisp.org>
58257
58258         New option --split-merged-entry.
58259         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
58260         (find_paragraph_end, try_split_merged_entry): New functions.
58261         (long_options): Add option --split-merged-entry.
58262         (usage): Document option --split-merged-entry.
58263         (main): Implement option --split-merged-entry.
58264         Reported by Eric Blake.
58265
58266 2008-02-17  Bruno Haible  <bruno@clisp.org>
58267
58268         * lib/git-merge-changelog.c: Include c-strstr.h.
58269         (main): Support the "git pull --rebase" situation.
58270         * modules/git-merge-changelog (Depends-on): Add c-strstr.
58271         Reported by Eric Blake.
58272
58273 2008-02-16  Eric Blake  <ebb9@byu.net>
58274
58275         Avoid doubling \ in common case of "c-maybe" quoting style.
58276         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
58277         eliding outer quotes.
58278         * lib/quotearg.h: Document this.
58279         * tests/test-quotearg.c (result_strings, inputs, results_g)
58280         (flag_results, locale_results): Test it by adding a new string to
58281         each test group.
58282         (compare_strings): Test new string.
58283
58284 2008-02-13  Eric Blake  <ebb9@byu.net>
58285
58286         Avoid trigraph quoting in default output.
58287         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
58288         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
58289         unless explicitly requested.
58290         * tests/test-quotearg.c (flag_results, main): Add additional tests.
58291
58292 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
58293
58294         Don't rely on signed integer overflowing to negative value.
58295         * lib/getugroups.c (getugroups): Include <limits.h>.
58296         Instead, compare against INT_MAX, and increment only if the test passes.
58297
58298 2008-02-13  Jim Meyering  <meyering@redhat.com>
58299         and Eric Blake  <ebb9@byu.net>
58300
58301         Avoid shadowing warning and compile errors on Linux.
58302         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
58303         forwarding macros on Linux.
58304         (dcgettext): Define a stub, for Linux.
58305         (results_g, main): Avoid warnings.
58306
58307 2008-02-12  Eric Blake  <ebb9@byu.net>
58308
58309         Silence warning in last patch.
58310         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
58311
58312         Quotearg part 4: add tests, fix c-maybe colon quoting.
58313         * lib/quotearg.h: Improve documentation.
58314         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
58315         escapes when adding outer quotes.  When quoting trigraphs, use
58316         valid C notation.  When quoting NUL, omit extra characters if next
58317         character is not digit.  Alter prototype.
58318         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
58319         callers.
58320         * modules/quotearg-tests: New module.
58321         * tests/test-quotearg.c: New test.
58322
58323 2008-02-07  Eric Blake  <ebb9@byu.net>
58324
58325         Quotearg part 3: add flag to control outer quote elision.
58326         * lib/quotearg.h (c_maybe_quoting_style): New style.
58327         (enum quoting_flags): Better documentation of flags.
58328         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
58329         c-maybe style.
58330         (quotearg_buffer_restyled): Handle new flag to elide outer
58331         quotes.
58332
58333         Quotearg part 2: add flag that can control NUL elision.
58334         * lib/quotearg.h (set_quoting_flags): New prototype.
58335         * lib/quotearg.c (struct quoting_options): Add flag field.
58336         (set_quoting_flags): New function.
58337         (quotearg_buffer_restyled): Add flags parameter.
58338         (quotearg_alloc_mem): Set the flag if length cannot be returned.
58339         (quotearg_n_options): Set the flag, since length cannot be
58340         returned.
58341         (quoting_options_from_style): Default flags correctly.
58342
58343         Quotearg part 1: more wrappers, restore quotearg_char state.
58344         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
58345         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
58346         (quotearg_colon_mem): New wrappers.
58347         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
58348         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
58349         functions.
58350         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
58351         (quotearg_colon_mem): New functions.
58352
58353 2008-02-11  Bruno Haible  <bruno@clisp.org>
58354
58355         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
58356         library in the current directory: it does not work with parallel make.
58357         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
58358
58359 2008-02-11  Bruno Haible  <bruno@clisp.org>
58360
58361         * .gitattributes: New file.
58362
58363 2008-02-11  Jim Meyering  <meyering@redhat.com>
58364
58365         useless-if-before-free: Fix reversed exit values.
58366         * build-aux/useless-if-before-free: Use correct values
58367         for EXIT_MATCH and EXIT_NO_MATCH.
58368
58369         * build-aux/useless-if-before-free: Close stdout carefully.
58370
58371 2008-02-10  Bruno Haible  <bruno@clisp.org>
58372
58373         New module 'git-merge-changelog'.
58374         * modules/git-merge-changelog: New file.
58375         * lib/git-merge-changelog.c: New file.
58376
58377 2008-02-10  Jim Meyering  <meyering@redhat.com>
58378
58379         useless-if-before-free: New option: --list (-l).
58380
58381         useless-if-before-free: Don't exit immediately upon open failure.
58382         * build-aux/useless-if-before-free: Exit 2 for errors.
58383         Upon failure to open a file, don't exit immediately.
58384         Rather, just warn and continue with any remaining files.
58385
58386 2008-02-10  Bruno Haible  <bruno@clisp.org>
58387
58388         New abstract list operation 'node_set_value'.
58389         * lib/gl_list.h (gl_list_node_set_value): New function.
58390         (struct gl_list_implementation): New field node_set_value.
58391         * lib/gl_list.c (gl_list_node_set_value): New function.
58392         * lib/gl_array_list.c (gl_array_node_set_value): New function.
58393         (gl_array_list_implementation): Update.
58394         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
58395         (gl_carray_list_implementation): Update.
58396         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
58397         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
58398         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
58399         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
58400         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
58401         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
58402         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
58403         Update.
58404         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
58405         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
58406         (gl_sublist_list_implementation): Update.
58407
58408 2008-02-10  Bruno Haible  <bruno@clisp.org>
58409
58410         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
58411         Needed when ELEMENT is #defined to 'some_type *'.
58412
58413 2008-02-10  Jim Meyering  <meyering@redhat.com>
58414
58415         New script and module: useless-if-before-free
58416         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
58417         * build-aux/useless-if-before-free: New file.
58418         * modules/useless-if-before-free: New file.
58419
58420         * build-aux/gitlog-to-changelog: Use committer date, not author date.
58421
58422         xstrtol_error: Fix typo.
58423         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
58424         s/exit_failure/exit_status/.
58425
58426 2008-02-09  Jim Meyering  <meyering@redhat.com>
58427
58428         New script and module: gitlog-to-changelog
58429         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
58430         * modules/gitlog-to-changelog: New file.
58431         * build-aux/gitlog-to-changelog: New file.
58432
58433 2008-02-08  Jim Meyering  <meyering@redhat.com>
58434
58435         Avoid two "parameter unused" warnings.
58436         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
58437         Mark "st" as used.
58438
58439         Use "git COMMAND", not "git-COMMAND".
58440         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
58441         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
58442         * build-aux/git-version-gen: Use "git status", not "git-status".
58443
58444 2008-02-07  Bruno Haible  <bruno@clisp.org>
58445
58446         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
58447         Avoids a crash on Windows Vista.
58448         Reported by Adam Strzelecki <ono@java.pl> via
58449         Simon Josefsson <simon@josefsson.org>.
58450
58451 2008-02-06  Bruno Haible  <bruno@clisp.org>
58452
58453         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
58454         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
58455         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
58456         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
58457         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
58458         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58459         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
58460         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
58461         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58462         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58463         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58464         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58465         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58466         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58467         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58468         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
58469         left-adjust flag.
58470         * tests/test-snprintf-posix.h (test_function): Likewise.
58471         * tests/test-sprintf-posix.h (test_function): Likewise.
58472         * tests/test-vasprintf-posix.c (test_function): Likewise.
58473         * doc/posix-functions/fprintf.texi: Update.
58474         * doc/posix-functions/printf.texi: Update.
58475         * doc/posix-functions/snprintf.texi: Update.
58476         * doc/posix-functions/sprintf.texi: Update.
58477         * doc/posix-functions/vfprintf.texi: Update.
58478         * doc/posix-functions/vprintf.texi: Update.
58479         * doc/posix-functions/vsnprintf.texi: Update.
58480         * doc/posix-functions/vsprintf.texi: Update.
58481         Reported by Peter Fales <psfales@alcatel-lucent.com>.
58482
58483 2008-02-06  Bruno Haible  <bruno@clisp.org>
58484
58485         Fix bug introduced on 2008-01-26.
58486         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
58487
58488 2008-02-06  Bruno Haible  <bruno@clisp.org>
58489
58490         Fix bug introduced on 2007-06-10.
58491         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
58492         !NEED_PRINTF_FLAG_ZERO.
58493
58494 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
58495
58496         getloadavg: use libperfstat on AIX5
58497         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
58498
58499 2008-02-03  Bruno Haible  <bruno@clisp.org>
58500
58501         * lib/diffseq.h: Add comments about required #includes.
58502         Reported by Michael Biggs <gnulib@doubleplum.net>.
58503
58504 2008-02-01  Bruno Haible  <bruno@clisp.org>
58505
58506         * users.txt: Add gnuit.
58507
58508 2008-01-31  Bruno Haible  <bruno@clisp.org>
58509
58510         * lib/md4.c (set_uint32): Mark as inline.
58511         * lib/md5.c (set_uint32): Likewise.
58512         * lib/sha1.c (set_uint32): Likewise.
58513         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
58514         * m4/md5.m4 (gl_MD5): Likewise.
58515         * m4/sha1.m4 (gl_SHA1): Likewise.
58516
58517 2008-01-31  Jim Meyering  <meyering@redhat.com>
58518
58519         Use "sizeof VAR", rather than a literal "4".
58520         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
58521         * lib/md4.c (md4_read_ctx): Likewise.
58522         * lib/sha1.c (sha1_read_ctx): Likewise.
58523
58524 2008-01-31  Simon Josefsson  <simon@josefsson.org>
58525
58526         * tests/test-sha1.c: New file, based on test-md5.c.
58527
58528         * modules/crypto/sha1-tests: New file.
58529
58530 2008-01-31  Simon Josefsson  <simon@josefsson.org>
58531
58532         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
58533
58534 2008-01-31  Jim Meyering  <meyering@redhat.com>
58535
58536         Prefer "sizeof v" over the equivalent "4".
58537         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
58538         * lib/md5.c (set_uint32): Likewise.
58539         * lib/sha1.c (set_uint32): Likewise.
58540
58541 2008-01-31  Simon Josefsson  <simon@josefsson.org>
58542
58543         * lib/sha1.c (set_uint32): Mark function as static.
58544
58545 2008-01-31  Simon Josefsson  <simon@josefsson.org>
58546
58547         md2: clarify comments to say that alignment is not required.
58548         * lib/md2.h: Remove warning about alignment in comment.
58549         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
58550         never been required.
58551
58552 2008-01-31  Simon Josefsson  <simon@josefsson.org>
58553
58554         md4: adapt alignment constraint fix from sha1.
58555         * lib/md4.c (set_uint32): New function, from sha1.c
58556         (md4_read_ctx): Use it.
58557         (md4_finish_ctx): Doc fix.
58558         * lib/md4.h: Doc fix.
58559
58560 2008-01-31  Simon Josefsson  <simon@josefsson.org>
58561
58562         md5: adapt alignment constraint fix from sha1.
58563         * lib/md5.c (set_uint32): New function, from sha1.c
58564         (md5_read_ctx): Use it.
58565         (md5_finish_ctx): Doc fix.
58566         * lib/md5.h: Doc fix.
58567
58568 2008-01-30  Peter Palfrader  <weasel@debian.org>
58569
58570         sha1: remove the result buffer alignment constraint
58571         * lib/sha1.c (set_uint32): New function.
58572         (sha1_read_ctx): Rewrite to remove the result buffer alignment
58573         constraint.
58574         (sha1_finish_ctx): Remove comment warning about alignment constraint.
58575         * lib/sha1.h: Likewise.
58576
58577 2008-01-30  Andreas Schwab  <schwab@suse.de>
58578             Bruno Haible  <bruno@clisp.org>
58579
58580         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
58581         correct definition of LDBL_MIN_EXP.
58582
58583 2008-01-30  Karl Berry  <karl@gnu.org>
58584
58585         * config/srclist-update: try to preserve x bit on updates.
58586         * config/srclistvars.sh: update for karl.
58587
58588 2008-01-29  Jim Meyering  <meyering@redhat.com>
58589
58590         vasnprintf.c: Avoid warning about unused label
58591         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
58592         "overflow" label definition and associated code with the
58593         same cpp condition that guards the sole use of that label.
58594
58595 2008-01-26  Bruno Haible  <bruno@clisp.org>
58596
58597         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
58598         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
58599         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
58600         * lib/isnanl-nolibm.h (isnanl): Likewise.
58601         Reported by Paul Eggert <eggert@cs.ucla.edu>.
58602
58603 2008-01-26  Bruno Haible  <bruno@clisp.org>
58604
58605         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
58606         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
58607
58608 2008-01-26  Bruno Haible  <bruno@clisp.org>
58609
58610         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
58611         GCC >= 4.0 built-in.
58612         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
58613
58614 2008-01-26  Bruno Haible  <bruno@clisp.org>
58615
58616         Rename isnan, applicable to 'double' only, to isnand.
58617         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
58618         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
58619         (configure.ac): Update.
58620         (Include): Replace "isnan.h" with "isnand.h".
58621         * m4/isnand.m4: Renamed from m4/isnan.m4.
58622         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
58623         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
58624         instead of isnan.c.
58625         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
58626         instead of HAVE_ISNAN_IN_LIBC.
58627         (isnand): Renamed from isnan.
58628         * lib/isnand.c: New file.
58629         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
58630         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
58631         (Makefile.am): Update.
58632         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
58633         Include isnand.h instead of isnan.h.
58634         (main): Test isnand instead of isnan.
58635         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
58636         isnan-nolibm.
58637         * modules/frexp (Depends-on): Likewise.
58638         * modules/frexp-tests (Depends-on): Likewise.
58639         * modules/frexp-nolibm (Depends-on): Likewise.
58640         * modules/frexp-nolibm-tests (Depends-on): Likewise.
58641         * modules/isfinite (Depends-on): Likewise.
58642         * modules/round-tests (Depends-on): Likewise.
58643         * modules/signbit (Depends-on): Likewise.
58644         * modules/signbit-tests (Depends-on): Likewise.
58645         * modules/snprintf-posix (Depends-on): Likewise.
58646         * modules/sprintf-posix (Depends-on): Likewise.
58647         * modules/trunc-tests (Depends-on): Likewise.
58648         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
58649         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
58650         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
58651         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
58652         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
58653         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
58654         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
58655         * modules/vasnprintf-posix (Depends-on): Likewise.
58656         * modules/vasprintf-posix (Depends-on): Likewise.
58657         * modules/vfprintf-posix (Depends-on): Likewise.
58658         * modules/vsnprintf-posix (Depends-on): Likewise.
58659         * modules/vsprintf-posix (Depends-on): Likewise.
58660         * lib/frexp.c: Include isnand.h instead of isnan.h.
58661         (ISNAN): Set to isnand instead of isnan.
58662         * lib/isfinite.c: Include isnand.h instead of isnan.h.
58663         (gl_isfinited): Use isnand instead of isnan.
58664         * lib/signbitd.c: Include isnand.h instead of isnan.h.
58665         (gl_signbitd): Use isnand instead of isnan.
58666         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
58667         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
58668         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
58669         (main): Use isnand instead of isnan.
58670         * tests/test-round1.c: Include isnand.h.
58671         (main): Use isnand instead of isnan.
58672         * tests/test-round2.c: Include isnand.h instead of isnan.h.
58673         (ISNAN): Set to isnand instead of isnan.
58674         * tests/test-trunc1.c: Include isnand.h.
58675         (main): Use isnand instead of isnan.
58676         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
58677         (equal): Use isnand instead of isnan.
58678         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
58679         isnand-nolibm.
58680         * NEWS: Mention the change.
58681
58682 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
58683             Bruno Haible  <bruno@clisp.org>
58684
58685         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
58686         the GCC builtins for signbits are present and set
58687         REPLACE_SIGNBIT_USING_GCC if so.
58688         * lib/math.in.h (signbit): Define using GCC builtins if
58689         REPLACE_SIGNBIT_USING_GCC is set.
58690         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
58691         REPLACE_SIGNBIT_USING_GCC.
58692         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
58693
58694 2008-01-25  Jim Meyering  <meyering@redhat.com>
58695
58696         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
58697         * lib/poll.c: Include <config.h>, not "config.h".
58698         * tests/test-getaddrinfo.c: Likewise.
58699
58700 2008-01-25  Simon Josefsson  <simon@josefsson.org>
58701
58702         * modules/sockets-tests: New file.
58703
58704 2008-01-24  Simon Josefsson  <simon@josefsson.org>
58705
58706         * modules/sockets: New module, can be used to call WSA_Startup and
58707         WSA_Cleanup when needed.
58708
58709         * lib/sockets.h, lib/sockets.c: New files.
58710
58711         * m4/sockets.m4: New file.
58712
58713         * tests/test-sockets.c: New file.
58714
58715 2008-01-19  Bruno Haible  <bruno@clisp.org>
58716
58717         * doc/posix-headers: Renamed from doc/headers.
58718         * doc/posix-functions: Renamed from doc/functions.
58719         * doc/gnulib.texi: Update.
58720
58721 2008-01-19  Bruno Haible  <bruno@clisp.org>
58722
58723         * doc/glibc-functions/strcasestr.texi: Include contents of
58724         doc/functions/strcasestr.texi, fixing the list of platforms.
58725         * doc/functions/strcasestr.texi: Remove file.
58726
58727 2008-01-19  Bruno Haible  <bruno@clisp.org>
58728
58729         * doc/glibc-functions/memmem.texi: Include contents of
58730         doc/functions/memmem.texi.
58731         * doc/functions/memmem.texi: Remove file.
58732
58733 2008-01-18  Bruno Haible  <bruno@clisp.org>
58734
58735         * doc/glibc-functions/*.texi: New files.
58736         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
58737         to use the new files.
58738
58739 2008-01-17  Bruno Haible  <bruno@clisp.org>
58740
58741         * tests/test-gethostname.c (main): Fix printf statement.
58742
58743 2008-01-17  Simon Josefsson  <simon@josefsson.org>
58744
58745         * modules/gethostname-tests: New file.
58746
58747         * tests/test-gethostname.c: New file.
58748
58749 2008-01-17  Simon Josefsson  <simon@josefsson.org>
58750
58751         * lib/gethostname.c: Include string.h unconditionally, strncpy is
58752         used by the UNAME case.  Reported by Bruno Haible
58753         <bruno@clisp.org>.
58754
58755 2008-01-17  Eric Blake  <ebb9@byu.net>
58756
58757         Convert c-strcasestr to be more efficient.
58758         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
58759         (Depends-on): Add c-strcase, remove malloca, strnlen.
58760         * tests/test-c-strcasestr.c (main): Enhance test.
58761         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
58762
58763 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
58764
58765         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
58766         Use it in creating po/Makevars.
58767
58768 2008-01-15  Simon Josefsson  <simon@josefsson.org>
58769
58770         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
58771         Applications that requires it should initialize libgcrypt
58772         manually.
58773
58774 2008-01-16  Simon Josefsson  <simon@josefsson.org>
58775
58776         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
58777
58778 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
58779
58780         Fix problem with getdate on mingw32 reported by Simon Josefsson
58781         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
58782         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
58783         tzname", when deciding whether to declare tzname.
58784         * lib/strftime.c (tzname): Likewise.
58785
58786 2008-01-15  Bruno Haible  <bruno@clisp.org>
58787
58788         Work around a MacOS X 10.5 bug in frexpl().
58789         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
58790         * doc/functions/frexpl.texi: Document the bug.
58791         Reported by Elias Pipping <pipping@gentoo.org>.
58792
58793 2008-01-14  Eric Blake  <ebb9@byu.net>
58794
58795         Touch up previous patch.
58796         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
58797         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
58798
58799         Convert strcasestr module to use Two-Way algorithm.
58800         * modules/strcasestr-simple: New module, based on the old
58801         strcasestr, but with Two-Way rather than KMP.
58802         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
58803         * lib/string.in.h (rpl_strcasestr): Declare.
58804         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
58805         performance.
58806         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
58807         * modules/string (Makefile.am): Support strcasestr.
58808         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
58809         * modules/strcasestr-tests (Depends-on): Check for alarm.
58810         * tests/test-strcasestr.c: Augment test.
58811         * lib/str-two-way.h: Clean up stray macro.
58812         * NEWS: Document new module.
58813         * MODULES.html.sh (string handling): Likewise.
58814         * doc/functions/strcasestr.texi: New file.
58815         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
58816         here, since it is not a POSIX function.
58817
58818 2008-01-14  Colin Watson  <cjwatson@debian.org>
58819             Bruno Haible  <bruno@clisp.org>
58820
58821         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
58822         works fine; if not, set REPLACE_STRSIGNAL.
58823         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
58824         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
58825         REPLACE_STRSIGNAL.
58826         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
58827         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
58828         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
58829
58830 2008-01-14  Bruno Haible  <bruno@clisp.org>
58831
58832         * modules/strsignal (Include): Change to <string.h>.
58833
58834 2008-01-14  Colin Watson  <cjwatson@debian.org>
58835
58836         * modules/argp (Notice): Add a notice recommending to change
58837         XGETTEXT_OPTIONS.
58838         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
58839
58840 2008-01-13  Colin Watson  <cjwatson@debian.org>
58841
58842         * modules/strsignal-tests: New file.
58843         * tests/test-strsignal.c: New file.
58844
58845         * lib/strsignal.c: New file, from glibc with modifications.
58846         * lib/siglist.h: New file, from glibc with modifications.
58847         * lib/string.in.h (strsignal): New declaration.
58848         * m4/strsignal.m4: New file.
58849         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
58850         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
58851         * modules/strsignal: New file.
58852         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
58853         HAVE_DECL_STRSIGNAL.
58854
58855 2008-01-13  Bruno Haible  <bruno@clisp.org>
58856
58857         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
58858         locale encoding is not ASCII. Needed for OpenBSD 4.0.
58859         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
58860         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
58861
58862 2008-01-13  Bruno Haible  <bruno@clisp.org>
58863
58864         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
58865         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
58866         * lib/argp.h (__attribute__): Likewise.
58867         * lib/c-stack.c (__attribute__): Likewise.
58868         * lib/error.h (__attribute__): Likewise.
58869         * lib/fts.c (__attribute__): Likewise.
58870         * lib/openat.h (__attribute__): Likewise.
58871         * lib/stdio.in.h (__attribute__): Likewise.
58872         * lib/string.in.h (__attribute__): Likewise.
58873         * lib/utimens.c (__attribute__): Likewise.
58874         * lib/vasnprintf.h (__attribute__): Likewise.
58875         * lib/xalloc.h (__attribute__): Likewise.
58876         * lib/xprintf.h (__attribute__): Likewise.
58877         * lib/xstrtol.h (__attribute__): Likewise.
58878         * lib/xvasprintf.h (__attribute__): Likewise.
58879
58880 2008-01-12  Bruno Haible  <bruno@clisp.org>
58881
58882         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
58883         * doc/glibc-headers/a.out.texi: New file.
58884         * doc/glibc-headers/aliases.texi: New file.
58885         * doc/glibc-headers/alloca.texi: New file.
58886         * doc/glibc-headers/ar.texi: New file.
58887         * doc/glibc-headers/argp.texi: New file.
58888         * doc/glibc-headers/argz.texi: New file.
58889         * doc/glibc-headers/byteswap.texi: New file.
58890         * doc/glibc-headers/crypt.texi: New file.
58891         * doc/glibc-headers/endian.texi: New file.
58892         * doc/glibc-headers/envz.texi: New file.
58893         * doc/glibc-headers/err.texi: New file.
58894         * doc/glibc-headers/error.texi: New file.
58895         * doc/glibc-headers/execinfo.texi: New file.
58896         * doc/glibc-headers/fpu_control.texi: New file.
58897         * doc/glibc-headers/fstab.texi: New file.
58898         * doc/glibc-headers/fts.texi: New file.
58899         * doc/glibc-headers/getopt.texi: New file.
58900         * doc/glibc-headers/ieee754.texi: New file.
58901         * doc/glibc-headers/ifaddrs.texi: New file.
58902         * doc/glibc-headers/libintl.texi: New file.
58903         * doc/glibc-headers/mcheck.texi: New file.
58904         * doc/glibc-headers/mntent.texi: New file.
58905         * doc/glibc-headers/obstack.texi: New file.
58906         * doc/glibc-headers/paths.texi: New file.
58907         * doc/glibc-headers/printf.texi: New file.
58908         * doc/glibc-headers/pty.texi: New file.
58909         * doc/glibc-headers/resolv.texi: New file.
58910         * doc/glibc-headers/shadow.texi: New file.
58911         * doc/glibc-headers/sysexits.texi: New file.
58912         * doc/glibc-headers/ttyent.texi: New file.
58913
58914 2008-01-12  Jim Meyering  <meyering@redhat.com>
58915
58916         announce-gen: emit Gnulib's git-based version string.
58917         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
58918         New option --gnulib-version=V, where V is expected to be
58919         the output of running git describe in the gnulib directory.
58920         (get_tool_versions): Request feedback on xdelta.  I suspect it's
58921         not useful, and plan to stop publishing an xdelta file with each
58922         coreutils release.
58923
58924         * build-aux/announce-gen: Also check for lzma-compressed files.
58925
58926 2008-01-11  Bruno Haible  <bruno@clisp.org>
58927
58928         * tests/test-memmem.c (main): Increase maximum allowed time.
58929         * tests/test-strstr.c (main): Likewise.
58930
58931 2008-01-11  Bruno Haible  <bruno@clisp.org>
58932
58933         * doc/functions/memmem.texi: Add more precisions about platforms.
58934         * doc/functions/strstr.texi: Likewise.
58935
58936 2008-01-10  Eric Blake  <ebb9@byu.net>
58937
58938         * m4/strstr.m4: Delete cruft from copy-n-paste.
58939         Reported by Bruno Haible.
58940
58941 2008-01-10  Bruno Haible  <bruno@clisp.org>
58942
58943         Make c-strstr rely on strstr.
58944         * lib/c-strstr.c: Don't include str-kmp.h.
58945         (c_strstr): Define in terms of strstr.
58946         * modules/c-strstr (Files): Remove lib/str-kmp.h.
58947         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
58948
58949 2008-01-10  Bruno Haible  <bruno@clisp.org>
58950
58951         * doc/gnulib.texi (String Functions in C Locale): New section.
58952         * doc/c-ctype.texi: New file.
58953         * doc/c-strcase.texi: New file.
58954         * doc/c-strcaseeq.texi: New file.
58955         * doc/c-strcasestr.texi: New file.
58956         * doc/c-strstr.texi: New file.
58957         * doc/c-strtod.texi: New file.
58958         * doc/c-strtold.texi: New file.
58959
58960 2008-01-10  Eric Blake  <ebb9@byu.net>
58961
58962         * lib/relocatable.h: Fix a comment.
58963
58964 2008-01-10  Eric Blake  <ebb9@byu.net>
58965
58966         Share two-way algorithm.
58967         * lib/str-two-way.h: New file, merged from...
58968         * lib/memmem.c: ...here...
58969         * lib/strstr.c: ...and here.
58970         * modules/memmem (Files): Use it.
58971         * modules/strstr (Files): Likewise.
58972
58973         Avoid quadratic strstr implementations.
58974         * lib/strstr.c: New file.
58975         * m4/strstr.m4: Likewise.
58976         * modules/strstr: Likewise.
58977         * modules/strstr-tests: Likewise.
58978         * tests/test-strstr.c: Likewise.
58979         * lib/string.in.h (rpl_strstr): Declare.
58980         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
58981         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
58982         * modules/string (Makefile.am): Likewise.
58983         * MODULES.html.sh (string handling): Mention new module.
58984         * doc/functions/strstr.texi (strstr): Document the bug.
58985
58986 2008-01-10  Bruno Haible  <bruno@clisp.org>
58987
58988         * lib/relocatable.h (relocate): State whether result is freshly
58989         allocated or not.
58990         * lib/relocatable.c (relocate): Return a freshly allocated string
58991         instead of a pointer to a privately held string.
58992         Reported by Sylvain Beucler <beuc@gnu.org>.
58993
58994 2008-01-10  Colin Watson  <cjwatson@debian.org>
58995
58996         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
58997         s/S_ISNLK/S_ISLNK/.
58998
58999 2008-01-09  Bruno Haible  <bruno@clisp.org>
59000
59001         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
59002         and other files.
59003         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
59004         if it's only a guess.
59005         * modules/memmem: Simplify by depending on memmem-simple.
59006
59007 2008-01-09  Bruno Haible  <bruno@clisp.org>
59008
59009         Work around OpenBSD 4.0 tdelete() bug.
59010         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
59011         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
59012         macros and don't redefine the enum values.
59013         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
59014         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
59015         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
59016
59017 2008-01-09  Bruno Haible  <bruno@clisp.org>
59018
59019         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
59020         (main): Don't perform the tests if setlocale did not install a UTF-8
59021         locale. Needed on OpenBSD 4.0.
59022         * modules/wcwidth-tests (Depends-on): Add localcharset.
59023
59024 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
59025
59026         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
59027         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
59028         * NEWS: announce this.
59029         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
59030
59031 2008-01-09  Simon Josefsson  <simon@josefsson.org>
59032         and Eric Blake  <ebb9@byu.net>
59033
59034         Add memmem-simple module.
59035         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
59036         (gl_FUNC_MEMMEM): Separate performance from presence checks.
59037         * modules/memmem-simple: New file.
59038         * modules/memmem (Description): Tweak.
59039         * MODULES.html.sh (string handling): Mention new module.
59040         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
59041         addressed by memmem-simple.
59042         * NEWS: Document the difference.
59043
59044 2008-01-09  Eric Blake  <ebb9@byu.net>
59045
59046         Give gcc some memmem optimization hints.
59047         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
59048         (strcasestr): Declare as pure.
59049         * modules/memmem (Maintainer): Claim my implementation.
59050
59051 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59052
59053         Support AIX 6.1 and higher.
59054         * build-aux/config.libpath: Likewise.
59055         * build-aux/config.rpath: Likewise.
59056
59057 2008-01-08  Jim Meyering  <meyering@redhat.com>
59058             Bruno Haible  <bruno@clisp.org>
59059
59060         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
59061         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
59062         Reported by Peter Fales in
59063         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
59064
59065 2008-01-08  Bruno Haible  <bruno@clisp.org>
59066
59067         * modules/unictype/category-of (Depends-on): Add
59068         unictype/category-none.
59069         * modules/unictype/category-and-tests (Depends-on): Add
59070         unictype/category-{L,N,Lu,Nd}.
59071         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
59072         * modules/unictype/category-or-tests (Depends-on): Add
59073         unictype/category-{L,N}.
59074         * modules/unictype/category-name-tests (Depends-on): Add
59075         unictype/category-{Z,Nl}.
59076         Reported by Simon Josefsson.
59077
59078 2008-01-08  Bruno Haible  <bruno@clisp.org>
59079
59080         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
59081         convention better.
59082         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
59083         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
59084         Reported by Peter Miller <millerp@canb.auug.org.au>.
59085
59086 2008-01-08  Eric Blake  <ebb9@byu.net>
59087
59088         Rewrite memmem to guarantee linear complexity without malloc.
59089         * lib/memmem.c (memmem): Use Two-Way rather than
59090         Knuth-Morris-Pratt, to allow O(1) space usage.
59091         (critical_factorization, two_way_short_needle)
59092         (two_way_long_needle): New functions.
59093         (knuth_morris_pratt): Delete.
59094         * modules/memmem (Depends-on): No longer need malloca or stdbool.
59095         Add stdint.
59096         * tests/test-memmem.c (main): Add tests for periodic needle and
59097         sublinear performance.
59098         * doc/functions/memmem.texi (memmem): Document other deficiencies
59099         in cygwin and older glibc.
59100
59101 2008-01-08  Bruno Haible  <bruno@clisp.org>
59102
59103         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
59104         augmentation.
59105
59106 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
59107
59108         Add a configure time option: --disable-acl.
59109         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
59110         AC_ARG_ENABLE(acl).
59111
59112 2008-01-06  Simon Josefsson  <simon@josefsson.org>
59113
59114         * tests/test-localename.c: Don't include obsolete "setenv.h".
59115
59116         * modules/localename-tests (Depends-on): Need unsetenv.
59117
59118 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59119
59120         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
59121
59122 2008-01-06  Colin Watson  <cjwatson@debian.org>
59123
59124         * users.txt: Add man-db.
59125
59126 2008-01-07  Bruno Haible  <bruno@clisp.org>
59127
59128         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
59129         previous section name.
59130
59131 2008-01-07  Bruno Haible  <bruno@clisp.org>
59132
59133         * lib/progname.c (set_program_name): Don't strip off a leading
59134         "lt-" prefix outside a .libs directory.
59135         Suggested by Paul Eggert.
59136
59137 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
59138             Bruno Haible  <bruno@clisp.org>
59139
59140         Improve memory cleanup in 'relocatable' module.
59141         * lib/relocatable.h (compute_curr_prefix): Change return type to
59142         'char *'.
59143         * lib/relocatable.c (compute_curr_prefix): Change return type to
59144         'char *'. Free curr_installdir after use.
59145         (relocate): Free curr_prefix_better after use.
59146         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
59147
59148 2008-01-01  Bruno Haible  <bruno@clisp.org>
59149
59150         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
59151         failure on older glibc systems.
59152         Reported by Peter Fales <psfales@alcatel-lucent.com>.
59153
59154 2008-01-05  Eric Blake  <ebb9@byu.net>
59155
59156         Avoid quadratic system memmem.
59157         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
59158         Reported by Ralf Wildenhues.
59159
59160         Fix memmem test for mingw.
59161         * modules/memmem-tests (configure.ac): Check for alarm.
59162         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
59163         it.
59164         * doc/functions/memmem.texi: New file.
59165         * doc/gnulib.texi (Function Substitutes): Add memmem.
59166         Reported by Bruno Haible.
59167
59168 2008-01-04  Bruno Haible  <bruno@clisp.org>
59169
59170         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
59171         Require gl_HEADER_STRINGS_H_DEFAULTS, not
59172         gl_HEADER_STRING_H_DEFAULTS.
59173
59174 2008-01-04  Eric Blake  <ebb9@byu.net>
59175
59176         Shorten duration of memmem test.
59177         * tests/test-memmem.c (main): Use alarm to declare failure if test
59178         is taking too long.
59179         Reported by Ralf Wildenhues.
59180
59181 2007-12-21  Simon Josefsson  <simon@josefsson.org>
59182
59183         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
59184         string, needed by strerror.
59185
59186 2008-01-03  Colin Watson  <cjwatson@debian.org>
59187             Bruno Haible  <bruno@clisp.org>
59188
59189         * doc/gnulib-tool.texi (Localization): New section.
59190
59191 2008-01-02  Bruno Haible  <bruno@clisp.org>
59192
59193         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
59194         variables to 'unsigned char *' type.
59195         Reported by Paul Eggert.
59196
59197 2008-01-02  Jim Meyering  <jim@meyering.net>
59198
59199         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
59200
59201 2007-12-31  Jim Meyering  <jim@meyering.net>
59202
59203         Avoid use of private FTS type name.
59204         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
59205
59206 2007-12-30  Karl Berry  <karl@gnu.org>
59207
59208         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
59209         work around defect in Texinfo and/or the standalone Info browser.
59210
59211 2007-12-30  Bruno Haible  <bruno@clisp.org>
59212
59213         Unify 5 copies of the KMP code.
59214         * lib/str-kmp.h: New file.
59215         * lib/c-strcasestr.c: Include str-kmp.h.
59216         (knuth_morris_pratt): Remove function.
59217         (c_strcasestr): Update.
59218         * lib/c-strstr.c: Include str-kmp.h.
59219         (knuth_morris_pratt): Remove function.
59220         (c_strcasestr): Update.
59221         * lib/mbscasestr.c: Include str-kmp.h.
59222         (knuth_morris_pratt_unibyte): Remove function.
59223         * lib/mbsstr.c: Include str-kmp.h.
59224         (knuth_morris_pratt_unibyte): Remove function.
59225         * lib/strcasestr.c: Include str-kmp.h.
59226         (knuth_morris_pratt): Remove function.
59227         (strcasestr): Update.
59228         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
59229         * modules/c-strstr (Files): Likewise.
59230         * modules/mbscasestr (Files): Likewise.
59231         * modules/mbsstr (Files): Likewise.
59232         * modules/strcasestr (Files): Likewise.
59233         Suggested by Paul Eggert.
59234
59235 2007-12-30  Bruno Haible  <bruno@clisp.org>
59236
59237         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
59238         defined.
59239
59240 2007-12-30  Bruno Haible  <bruno@clisp.org>
59241
59242         * lib/xmalloca.h: Include xalloc.h.
59243         (xnmalloca): New macro.
59244
59245 2007-12-30  Bruno Haible  <bruno@clisp.org>
59246
59247         * lib/malloca.h (nmalloca): New macro.
59248         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
59249         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
59250         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
59251         knuth_morris_pratt_multibyte): Likewise.
59252         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
59253         knuth_morris_pratt_multibyte): Likewise.
59254         * lib/memmem.c (knuth_morris_pratt): Likewise.
59255         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
59256
59257 2007-12-25  Bruno Haible  <bruno@clisp.org>
59258
59259         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
59260         * lib/glob.c: Don't include openat.h.
59261         (link_exists2_p): Add back the code that deals with the
59262         !GLOB_ALTDIRFUNC case.
59263         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
59264         let it do the filename concatenation.
59265         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
59266         * modules/glob (Depends-on): Remove openat.
59267
59268 2007-12-31  Bruno Haible  <bruno@clisp.org>
59269
59270         * modules/dirfd (License): Change to LGPLv2+.
59271         Approved by Jim Meyering.
59272
59273 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
59274
59275         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
59276         when multiplying M by sizeof (size_t).
59277
59278 2007-12-10  Martin Lambers  <marlam@marlam.de>
59279
59280         Override getpagesize on mingw.
59281         * lib/getpagesize.c: New file.
59282         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
59283         * modules/getpagesize (Files): Add lib/getpagesize.c.
59284         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
59285         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
59286         REPLACE_GETPAGESIZE.
59287         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
59288
59289 2007-12-25  Bruno Haible  <bruno@clisp.org>
59290
59291         * modules/localcharset (Notice): New field.
59292         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
59293         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
59294
59295 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
59296             Bruno Haible  <bruno@clisp.org>
59297
59298         Avoid using the syntax symbol() in formatted documentation.
59299         * MODULES.html.sh (func_module): When replacing symbol() with a
59300         hyperlink, remove the parentheses. Show an error if some remain.
59301         Recognize and render the '...' syntax.
59302         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
59303         Rework. Add paragraph about GCC's inlining.
59304         * doc/alloca.texi: Likewise.
59305         * doc/error.texi: Remove parentheses from symbol reference.
59306         * doc/gnulib-intro.texi: Likewise.
59307         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
59308         * modules/fnmatch (Description): Reword to say "the ... function".
59309         * modules/full-read (Description): Likewise.
59310         * modules/full-write (Description): Likewise.
59311         * modules/safe-read (Description): Likewise.
59312         * modules/safe-write (Description): Likewise.
59313         * modules/strchrnul (Description): Likewise.
59314         * modules/trim (Description): Likewise.
59315         * modules/error (Description): Remove parentheses from symbol
59316         references.
59317         * modules/verror (Description): Likewise.
59318         Reported by Karl Berry.
59319
59320 2007-12-25  Bruno Haible  <bruno@clisp.org>
59321
59322         Fixup after 2007-10-16 commit.
59323         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
59324
59325 2007-12-24  Bruno Haible  <bruno@clisp.org>
59326
59327         Make --enable-relocatable work with DESTDIR.
59328         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
59329         to compute installdir from destprog.
59330         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
59331         also set the RELOC_DESTDIR variable.
59332         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
59333
59334 2007-12-24  Bruno Haible  <bruno@clisp.org>
59335
59336         Fix link error due to xalloc_die().
59337         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
59338         of xreadlink.
59339         * lib/relocwrapper.c: Update comments.
59340         * build-aux/install-reloc: Remove xreadlink.c from file list.
59341         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
59342         xreadlink.c.
59343         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
59344
59345 2007-12-24  Bruno Haible  <bruno@clisp.org>
59346
59347         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
59348         * lib/setenv.h: Remove file.
59349         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
59350         lib/setenv.h.
59351         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
59352         (Depends-on): Add stdlib.
59353         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
59354         gl_FUNC_UNSETENV.
59355         (Include): Replace setenv.h with <stdlib.h>.
59356         * modules/unsetenv: New file.
59357         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
59358         * lib/unsetenv.c: Include <stdlib.h> first.
59359         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
59360         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
59361         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
59362         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
59363         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
59364         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
59365         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
59366         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
59367         * doc/functions/unsetenv.texi: Update.
59368         * modules/xsetenv (Depends-on): Add unsetenv.
59369         * modules/getdate (Depends-on): Likewise.
59370         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
59371         * lib/xsetenv.c: Don't include setenv.h.
59372         * lib/getdate.y: Likewise.
59373         * lib/relocwrapper.c: Likewise.
59374         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
59375         (Depends-on): Add stdlib.
59376         * NEWS: Mention the changes.
59377         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
59378
59379 2007-12-23  Bruno Haible  <bruno@clisp.org>
59380
59381         * lib/memmem.c (memmem): Use lowercase variable names. Tab
59382         indentation.
59383
59384 2007-12-23  Bruno Haible  <bruno@clisp.org>
59385
59386         * lib/c-strcasestr.c: Add more comments.
59387         * lib/c-strstr.c: Likewise.
59388         * lib/mbscasestr.c: Likewise.
59389         * lib/mbsstr.c: Likewise.
59390         * lib/strcasestr.c: Likewise.
59391         * lib/memmem.c: Likewise.
59392
59393 2007-12-23  Bruno Haible  <bruno@clisp.org>
59394
59395         * tests/test-memmem.c: Include <string.h> first.
59396
59397 2007-12-22  Bruno Haible  <bruno@clisp.org>
59398
59399         * gnulib-tool (func_create_testdir): Change $auxdir while generating
59400         the contents of $testsbase.
59401         Reported by Ralf Wildenhues.
59402
59403 2007-12-22  Bruno Haible  <bruno@clisp.org>
59404
59405         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
59406         two variables local_ldadd_before, local_ldadd_last.
59407
59408 2007-12-20  Eric Blake  <ebb9@byu.net>
59409
59410         Work around circular library issue when cross-compiling.
59411         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
59412         that progname.o does not need to pull in rpl_memcmp.
59413
59414 2007-12-19  Eric Blake  <ebb9@byu.net>
59415
59416         Fix memmem to avoid O(n^2) worst-case complexity.
59417         * lib/memmem.c (knuth_morris_pratt): New function.
59418         (memmem): Use it if first few naive iterations fail.
59419         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
59420         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
59421         * modules/memchr (License): Likewise.
59422         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
59423         malloca.
59424         * tests/test-memmem.c: Rewrite, borrowing ideas from
59425         test-mbsstr1.c; the old version wouldn't even compile!
59426         * modules/memmem-tests: New file.
59427         * lib/string.in.h (rpl_memmem): Add declaration.
59428         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
59429         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
59430         REPLACE_MEMMEM.
59431
59432 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
59433
59434         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
59435         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
59436         before any system include files, and undef after them all.  This
59437         should fix a problem on VMS reported by John E. Malmberg in
59438         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
59439
59440 2007-12-17  Eric Blake  <ebb9@byu.net>
59441
59442         Revert addition of verify, for BSD/OS.
59443         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
59444         can't handle large files, for the sake of obsolete platforms.
59445         * modules/fseeko (Depends-on): Remove verify.
59446         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
59447         * doc/functions/ftello.texi (ftello): Likewise.
59448         * doc/functions/fgetpos.texi (fgetpos): Likewise.
59449         Reported by Larry Jones.
59450
59451 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
59452
59453         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
59454         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
59455
59456 2007-12-17  Jim Meyering  <meyering@redhat.com>
59457
59458         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
59459         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
59460         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
59461         * modules/getcwd (Depends-on): Add openat.
59462         Reported by Petr Salinger.
59463
59464 2007-12-17  Bruno Haible  <bruno@clisp.org>
59465
59466         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
59467         avoid a segmentation fault of the configure test on x86_64 systems.
59468
59469 2007-12-15  Jim Meyering  <meyering@redhat.com>
59470
59471         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
59472
59473 2007-12-13  Eric Blake  <ebb9@byu.net>
59474
59475         Another fseek test.
59476         * tests/test-fseek.c (main): Also test ungetc handling.
59477         * tests/test-fseeko.c (main): Likewise.
59478         * modules/fseeko (Depends-on): Add verify.
59479         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
59480         large.
59481         Reported by Larry Jones.
59482
59483         Fix fseeko on mingw.
59484         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
59485         seek.
59486
59487         Beef up fseek tests.
59488         * tests/test-fseek.c (main): Also test eof handling.
59489         * tests/test-fseeko.c (main): Likewise.
59490         Reported by Larry Jones.
59491
59492 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
59493
59494         Fix fseeko on BSD-based platforms.
59495         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
59496         successful seek.
59497
59498 2007-12-12  Eric Blake  <ebb9@byu.net>
59499
59500         Allow circular dependency of separate libtests.a
59501         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
59502         when use_libtests.
59503
59504 2007-12-11  Eric Blake  <ebb9@byu.net>
59505
59506         Fix bug with -0.0L in previous patch.
59507         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
59508         * tests/test-isnan.c (main): Also test on zeroes.
59509         * tests/test-isnanf.c (main): Likewise.
59510         * tests/test-isnanl.h (main): Likewise.
59511
59512         Detect pseudo-denormals on x86 even when cross-compiling.
59513         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
59514         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
59515         invalid bit patterns that happen to satisfy ==.
59516
59517         Avoid link failures with separate libtests.a.
59518         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
59519         last, to satisfy circular dependencies.
59520
59521 2007-12-11  Eric Blake  <ebb9@byu.net>
59522         and Bruno Haible  <bruno@clisp.org>
59523
59524         Fix OpenBSD 4.0 <float.h> handling of long double.
59525         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
59526         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
59527         * doc/headers/float.texi (float.h): Document OpenBSD bug.
59528
59529 2007-12-11  Jim Meyering  <meyering@redhat.com>
59530
59531         * users.txt: Add libvirt.
59532
59533         Support versions of autoconf prior to 2.59c.
59534         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
59535         if it is not already defined.
59536
59537 2007-12-09  Bruno Haible  <bruno@clisp.org>
59538
59539         Let 'gnulib-tool --import' collect sources needed for the tests in
59540         tests/ rather than in lib/.
59541         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
59542         argument. If true, add rules to generate libtests.a, and put libtests.a
59543         into $(LDADD). Consider source files in subdirectories and set
59544         uses_subdirs.
59545         (func_emit_initmacro_start, func_emit_initmacro_end,
59546         func_emit_initmacro_done): Pass all arguments explicitly.
59547         (func_import): Determine two module lists main_modules,
59548         testsrelated_modules. Determine use_libtests. Determine two variables
59549         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
59550         instead of just sed_transform_lib_file. Determine two variables
59551         main_files and testsrelated_files. Compute 'files' as the union of
59552         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
59553         func_add_or_update. In the generated gnulib-comp.m4, collect the
59554         object files for tests/ in different variables than those for lib/.
59555         Substitute LIBTESTS_LIBDEPS.
59556         (func_create_testdir): Combine the uses_subdirs results from
59557         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
59558
59559 2007-12-09  Bruno Haible  <bruno@clisp.org>
59560
59561         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
59562         the build-aux directory.
59563
59564 2007-12-09  Bruno Haible  <bruno@clisp.org>
59565
59566         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
59567         introduced on 2006-09-09.
59568
59569 2007-12-07  Jim Meyering  <meyering@redhat.com>
59570
59571         Let these macros work also with autoconf-2.59.
59572         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
59573         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
59574         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
59575
59576 2007-12-06  Jim Meyering  <meyering@redhat.com>
59577
59578         Avoid a configure-time syntax error in gl_FUNC_ACL.
59579         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
59580         function in each branch, before testing the cache variable.
59581
59582 2007-12-04  Eric Blake  <ebb9@byu.net>
59583
59584         Make scripts executable.
59585         * build-aux/config.guess: Add execute permissions.
59586         * build-aux/config.sub: Likewise.
59587         * build-aux/gendocs.sh: Likewise.
59588
59589         Fix frexp on mingw.
59590         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
59591         cross-compiling.
59592         * doc/functions/frexp.texi (frexp): Document the bug.
59593
59594         Make cygwin fseeko check more reliable.
59595         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
59596         version numbers, rather than unrelated feature check.
59597         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
59598         * doc/functions/ftello.texi (ftello): Likewise.
59599         Reported by Bruno Haible.
59600
59601         * m4/strerror.m4: Bump version number.
59602
59603 2007-12-03  Bruno Haible  <bruno@clisp.org>
59604
59605         * doc/functions/mprotect.texi: Mention the mingw problem.
59606
59607 2007-12-03  Eric Blake  <ebb9@byu.net>
59608
59609         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
59610         REPLACE_STRERROR is initialized before this macro.
59611
59612 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
59613
59614         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
59615         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
59616         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
59617         put -lsec in even for programs other than 'ls'.  This fixes a problem
59618         for gettext reported by Bruno Haible in
59619         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
59620         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
59621         Add support for Solaris 10.  This isn't efficient, but should get the
59622         job done for now.
59623
59624 2007-12-03  James Youngman  <jay@gnu.org>
59625
59626         * doc/regexprops-generic.texi: change "an close-group" to "a
59627         close-group" and "illegal" to "not allowed".
59628
59629 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59630
59631         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
59632         pr_byname.h. Needed for the rare case when the maintainer has done
59633         "make maintainer-clean" in the source directory and then attempts a
59634         build outside the source directory.
59635         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
59636         scripts_byname.h.
59637
59638 2007-12-02  Martin Lambers <marlam@marlam.de>
59639             Bruno Haible  <bruno@clisp.org>
59640
59641         * lib/getpagesize.h: Remove file.
59642         * lib/unistd.in.h: Include declaration of getpagesize here.
59643         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
59644         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
59645         HAVE_SYS_PARAM_H.
59646         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
59647         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
59648         * modules/getpagesize (Files): Remove lib/getpagesize.h.
59649         (Depends-on): Add unistd.
59650         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
59651         (Include): Use <unistd.h> instead of getpagesize.h.
59652         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
59653         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
59654         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
59655         gl_GETPAGESIZE invocation, already handled by module dependency.
59656         * lib/pagealign_alloc.c: Don't include getpagesize.h.
59657
59658 2007-12-02  Bruno Haible  <bruno@clisp.org>
59659
59660         * modules/strings-tests: New file.
59661         * tests/test-strings.c: New file.
59662
59663         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
59664         * lib/strings.in.h: New file.
59665         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
59666         * m4/strings_h.m4: New file.
59667         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
59668         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
59669         * modules/strings: New file.
59670         * modules/string (Makefile.am): Update.
59671         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
59672         Reported by Karl Berry.
59673
59674 2007-12-01  Eric Blake  <ebb9@byu.net>
59675
59676         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
59677         accommodate fix in cygwin 1.5.25.
59678
59679 2007-12-01  Jim Meyering  <meyering@redhat.com>
59680
59681         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
59682         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
59683         that would inhibit utf8-optimization of a regexp containing line-
59684         or buffer-anchors, e.g., `^', `$'.
59685
59686 2007-11-30  Bruno Haible  <bruno@clisp.org>
59687
59688         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
59689         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
59690         glthread_recursive_lock_init.
59691         * lib/lock.c (glthread_recursive_lock_init)
59692         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
59693         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
59694
59695 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
59696
59697         New function qset_acl, like set_acl but with syscall semantics.
59698         * lib/acl.h (qset_acl): New decl.
59699         * lib/acl.c (qset_acl): New function.
59700         (set_acl): Use new function.  Use more-consistent diagnostics.
59701
59702 2007-11-28  Jim Meyering  <meyering@redhat.com>
59703
59704         * modules/physmem (License): Change from GPL to LGPLv2+.
59705
59706 2007-11-26  Bruno Haible  <bruno@clisp.org>
59707
59708         * lib/vasnprintf.c (decode_long_double): Don't abort if the
59709         'long double' type has excess precision.
59710         Reported by Jim Meyering in
59711         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
59712
59713 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59714
59715         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
59716         Sync from <http://gnu.org/licenses>.
59717         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
59718         with license text from same location.
59719         * doc/maintain.texi, doc/standards.texi:  Sync from
59720         <http://savannah.gnu.org/projects/gnustandards>.
59721
59722 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
59723         and Jim Meyering  <meyering@redhat.com>
59724
59725         Adjust getdate' grammar to accept a slightly more regular language.
59726         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
59727         Before, the former was rejected.
59728         * lib/getdate.y (digits_to_date_time): New function, factored
59729         out of ...
59730         (number): ...here.  Just call digits_to_date_time.
59731         (hybrid): New non-terminal to handle an <unsigned number,
59732         signed relative offset> sequence consistently.
59733
59734 2007-11-18  Jim Meyering  <meyering@redhat.com>
59735
59736         Pull my changes from coreutils:
59737         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
59738         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
59739         use of $gnulib_tool_option_extras, so that it's separated from the
59740         preceding argument.
59741
59742         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
59743         * build-aux/bootstrap (cp_mark_as_generated): Create any required
59744         parent destination directories before copying a file into place.
59745
59746 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
59747
59748         bootstrap: work also with 4-argument variant of AC_INIT
59749         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
59750
59751 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
59752
59753         Port test-getaddrinfo to Solaris.
59754         Problem reported by Bruno Haible in
59755         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
59756         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
59757         explanation of setting 'hints'.
59758         Don't reject an implementation merely because it returns EAI_SERVICE.
59759         (EAI_SERVICE): Define to 0 if not defined.
59760
59761 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
59762
59763         The license of gnu-make and posix-shell is now "GPLed build tool".
59764         * modules/gnu-make (License): Likewise.
59765         * modules/posix-shell (License): Likewise.
59766
59767         New module posix-shell, for determining a POSIX shell
59768         or perhaps something that is close enough to a POSIX shell.
59769         * m4/posix-shell.m4: New file.
59770         * modules/posix-shell: New file.
59771
59772         * MODULES.html.sh: Mention new module.
59773
59774         New module gnu-make, for determining whether we're using GNU Make.
59775         * m4/gnu-make.m4: New file.
59776         * modules/gnu-make: New file.
59777         * MODULES.html.sh: Mention new module.
59778
59779 2007-11-14  Jim Meyering  <meyering@redhat.com>
59780
59781         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
59782         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
59783         use this macro to create a function _definition_.
59784         Remove useless "#undef ARGMATCH_DIE".
59785
59786 2007-11-14  Bruno Haible  <bruno@clisp.org>
59787
59788         * lib/config.charset: Update for OpenBSD 4.1.
59789         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
59790
59791 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
59792
59793         Document 64-bit #if problems in stdint.texi.
59794         * doc/headers/stdint.texi (stdint.h): Mention problems with
59795         64-bit-#if, and how to work around them.
59796
59797         Don't insist on 'long long int' support in the preprocessor.  It
59798         breaks too many things.  For example, PRIdMAX still uses a 'long
59799         long int' format with the latest Sun compiler, even though
59800         HAVE_LONG_LONG_INT isn't defined due to that compiler's
59801         preprocessor problem.  This causes the latest coreutils to dump
59802         core on Solaris 10 sparc with the Sun C compiler.
59803         Instead, fix the 2007-10-16 problem in a different way, by evaluating
59804         the troublesome expressions at configure-time, not at #if-time.
59805         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
59806         preprocessor.
59807         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
59808         compile-time C checks, done at 'configure'-time.
59809         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
59810         * modules/inttypes (Makefile): Substitute the new symbols that
59811         gl_INTTYPES_H now generates.
59812         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
59813
59814 2007-11-12  Bruno Haible  <bruno@clisp.org>
59815
59816         Tests for Unicode character classification functions.
59817
59818         * modules/unictype/bidicategory-byname-tests: New file.
59819         * modules/unictype/bidicategory-name-tests: New file.
59820         * modules/unictype/bidicategory-of-tests: New file.
59821         * modules/unictype/bidicategory-test-tests: New file.
59822         * modules/unictype/block-list-tests: New file.
59823         * modules/unictype/block-of-tests: New file.
59824         * modules/unictype/block-test-tests: New file.
59825         * modules/unictype/category-C-tests: New file.
59826         * modules/unictype/category-Cc-tests: New file.
59827         * modules/unictype/category-Cf-tests: New file.
59828         * modules/unictype/category-Cn-tests: New file.
59829         * modules/unictype/category-Co-tests: New file.
59830         * modules/unictype/category-Cs-tests: New file.
59831         * modules/unictype/category-L-tests: New file.
59832         * modules/unictype/category-Ll-tests: New file.
59833         * modules/unictype/category-Lm-tests: New file.
59834         * modules/unictype/category-Lo-tests: New file.
59835         * modules/unictype/category-Lt-tests: New file.
59836         * modules/unictype/category-Lu-tests: New file.
59837         * modules/unictype/category-M-tests: New file.
59838         * modules/unictype/category-Mc-tests: New file.
59839         * modules/unictype/category-Me-tests: New file.
59840         * modules/unictype/category-Mn-tests: New file.
59841         * modules/unictype/category-N-tests: New file.
59842         * modules/unictype/category-Nd-tests: New file.
59843         * modules/unictype/category-Nl-tests: New file.
59844         * modules/unictype/category-No-tests: New file.
59845         * modules/unictype/category-P-tests: New file.
59846         * modules/unictype/category-Pc-tests: New file.
59847         * modules/unictype/category-Pd-tests: New file.
59848         * modules/unictype/category-Pe-tests: New file.
59849         * modules/unictype/category-Pf-tests: New file.
59850         * modules/unictype/category-Pi-tests: New file.
59851         * modules/unictype/category-Po-tests: New file.
59852         * modules/unictype/category-Ps-tests: New file.
59853         * modules/unictype/category-S-tests: New file.
59854         * modules/unictype/category-Sc-tests: New file.
59855         * modules/unictype/category-Sk-tests: New file.
59856         * modules/unictype/category-Sm-tests: New file.
59857         * modules/unictype/category-So-tests: New file.
59858         * modules/unictype/category-Z-tests: New file.
59859         * modules/unictype/category-Zl-tests: New file.
59860         * modules/unictype/category-Zp-tests: New file.
59861         * modules/unictype/category-Zs-tests: New file.
59862         * modules/unictype/category-and-not-tests: New file.
59863         * modules/unictype/category-and-tests: New file.
59864         * modules/unictype/category-byname-tests: New file.
59865         * modules/unictype/category-name-tests: New file.
59866         * modules/unictype/category-none-tests: New file.
59867         * modules/unictype/category-of-tests: New file.
59868         * modules/unictype/category-or-tests: New file.
59869         * modules/unictype/category-test-withtable-tests: New file.
59870         * modules/unictype/combining-class-tests: New file.
59871         * modules/unictype/ctype-alnum-tests: New file.
59872         * modules/unictype/ctype-alpha-tests: New file.
59873         * modules/unictype/ctype-blank-tests: New file.
59874         * modules/unictype/ctype-cntrl-tests: New file.
59875         * modules/unictype/ctype-digit-tests: New file.
59876         * modules/unictype/ctype-graph-tests: New file.
59877         * modules/unictype/ctype-lower-tests: New file.
59878         * modules/unictype/ctype-print-tests: New file.
59879         * modules/unictype/ctype-punct-tests: New file.
59880         * modules/unictype/ctype-space-tests: New file.
59881         * modules/unictype/ctype-upper-tests: New file.
59882         * modules/unictype/ctype-xdigit-tests: New file.
59883         * modules/unictype/decimal-digit-tests: New file.
59884         * modules/unictype/digit-tests: New file.
59885         * modules/unictype/mirror-tests: New file.
59886         * modules/unictype/numeric-tests: New file.
59887         * modules/unictype/property-alphabetic-tests: New file.
59888         * modules/unictype/property-ascii-hex-digit-tests: New file.
59889         * modules/unictype/property-bidi-arabic-digit-tests: New file.
59890         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
59891         * modules/unictype/property-bidi-block-separator-tests: New file.
59892         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
59893         * modules/unictype/property-bidi-common-separator-tests: New file.
59894         * modules/unictype/property-bidi-control-tests: New file.
59895         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
59896         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
59897         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
59898         * modules/unictype/property-bidi-european-digit-tests: New file.
59899         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
59900         * modules/unictype/property-bidi-left-to-right-tests: New file.
59901         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
59902         * modules/unictype/property-bidi-other-neutral-tests: New file.
59903         * modules/unictype/property-bidi-pdf-tests: New file.
59904         * modules/unictype/property-bidi-segment-separator-tests: New file.
59905         * modules/unictype/property-bidi-whitespace-tests: New file.
59906         * modules/unictype/property-byname-tests: New file.
59907         * modules/unictype/property-combining-tests: New file.
59908         * modules/unictype/property-composite-tests: New file.
59909         * modules/unictype/property-currency-symbol-tests: New file.
59910         * modules/unictype/property-dash-tests: New file.
59911         * modules/unictype/property-decimal-digit-tests: New file.
59912         * modules/unictype/property-default-ignorable-code-point-tests: New file.
59913         * modules/unictype/property-deprecated-tests: New file.
59914         * modules/unictype/property-diacritic-tests: New file.
59915         * modules/unictype/property-extender-tests: New file.
59916         * modules/unictype/property-format-control-tests: New file.
59917         * modules/unictype/property-grapheme-base-tests: New file.
59918         * modules/unictype/property-grapheme-extend-tests: New file.
59919         * modules/unictype/property-grapheme-link-tests: New file.
59920         * modules/unictype/property-hex-digit-tests: New file.
59921         * modules/unictype/property-hyphen-tests: New file.
59922         * modules/unictype/property-id-continue-tests: New file.
59923         * modules/unictype/property-id-start-tests: New file.
59924         * modules/unictype/property-ideographic-tests: New file.
59925         * modules/unictype/property-ids-binary-operator-tests: New file.
59926         * modules/unictype/property-ids-trinary-operator-tests: New file.
59927         * modules/unictype/property-ignorable-control-tests: New file.
59928         * modules/unictype/property-iso-control-tests: New file.
59929         * modules/unictype/property-join-control-tests: New file.
59930         * modules/unictype/property-left-of-pair-tests: New file.
59931         * modules/unictype/property-line-separator-tests: New file.
59932         * modules/unictype/property-logical-order-exception-tests: New file.
59933         * modules/unictype/property-lowercase-tests: New file.
59934         * modules/unictype/property-math-tests: New file.
59935         * modules/unictype/property-non-break-tests: New file.
59936         * modules/unictype/property-not-a-character-tests: New file.
59937         * modules/unictype/property-numeric-tests: New file.
59938         * modules/unictype/property-other-alphabetic-tests: New file.
59939         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
59940         * modules/unictype/property-other-grapheme-extend-tests: New file.
59941         * modules/unictype/property-other-id-continue-tests: New file.
59942         * modules/unictype/property-other-id-start-tests: New file.
59943         * modules/unictype/property-other-lowercase-tests: New file.
59944         * modules/unictype/property-other-math-tests: New file.
59945         * modules/unictype/property-other-uppercase-tests: New file.
59946         * modules/unictype/property-paired-punctuation-tests: New file.
59947         * modules/unictype/property-paragraph-separator-tests: New file.
59948         * modules/unictype/property-pattern-syntax-tests: New file.
59949         * modules/unictype/property-pattern-white-space-tests: New file.
59950         * modules/unictype/property-private-use-tests: New file.
59951         * modules/unictype/property-punctuation-tests: New file.
59952         * modules/unictype/property-quotation-mark-tests: New file.
59953         * modules/unictype/property-radical-tests: New file.
59954         * modules/unictype/property-sentence-terminal-tests: New file.
59955         * modules/unictype/property-soft-dotted-tests: New file.
59956         * modules/unictype/property-space-tests: New file.
59957         * modules/unictype/property-terminal-punctuation-tests: New file.
59958         * modules/unictype/property-test-tests: New file.
59959         * modules/unictype/property-titlecase-tests: New file.
59960         * modules/unictype/property-unassigned-code-value-tests: New file.
59961         * modules/unictype/property-unified-ideograph-tests: New file.
59962         * modules/unictype/property-uppercase-tests: New file.
59963         * modules/unictype/property-variation-selector-tests: New file.
59964         * modules/unictype/property-white-space-tests: New file.
59965         * modules/unictype/property-xid-continue-tests: New file.
59966         * modules/unictype/property-xid-start-tests: New file.
59967         * modules/unictype/property-zero-width-tests: New file.
59968         * modules/unictype/scripts-tests: New file.
59969         * modules/unictype/syntax-c-ident-tests: New file.
59970         * modules/unictype/syntax-c-whitespace-tests: New file.
59971         * modules/unictype/syntax-java-ident-tests: New file.
59972         * modules/unictype/syntax-java-whitespace-tests: New file.
59973         * tests/unictype/test-bidi_byname.c: New file.
59974         * tests/unictype/test-bidi_name.c: New file.
59975         * tests/unictype/test-bidi_of.c: New file.
59976         * tests/unictype/test-bidi_test.c: New file.
59977         * tests/unictype/test-block_list.c: New file.
59978         * tests/unictype/test-block_of.c: New file.
59979         * tests/unictype/test-block_test.c: New file.
59980         * tests/unictype/test-categ_and.c: New file.
59981         * tests/unictype/test-categ_and_not.c: New file.
59982         * tests/unictype/test-categ_byname.c: New file.
59983         * tests/unictype/test-categ_name.c: New file.
59984         * tests/unictype/test-categ_none.c: New file.
59985         * tests/unictype/test-categ_of.c: New file.
59986         * tests/unictype/test-categ_or.c: New file.
59987         * tests/unictype/test-categ_test_withtable.c: New file.
59988         * tests/unictype/test-combining.c: New file.
59989         * tests/unictype/test-decdigit.c: New file.
59990         * tests/unictype/test-digit.c: New file.
59991         * tests/unictype/test-mirror.c: New file.
59992         * tests/unictype/test-numeric.c: New file.
59993         * tests/unictype/test-pr_byname.c: New file.
59994         * tests/unictype/test-pr_test.c: New file.
59995         * tests/unictype/test-predicate-part1.h: New file.
59996         * tests/unictype/test-predicate-part2.h: New file.
59997         * tests/unictype/test-scripts.c: New file.
59998         * tests/unictype/test-sy_c_ident.c: New file.
59999         * tests/unictype/test-sy_java_ident.c: New file.
60000
60001         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
60002         for Unicode 5.0.0.
60003         * tests/unictype/test-categ_Cc.c: Likewise.
60004         * tests/unictype/test-categ_Cf.c: Likewise.
60005         * tests/unictype/test-categ_Cn.c: Likewise.
60006         * tests/unictype/test-categ_Co.c: Likewise.
60007         * tests/unictype/test-categ_Cs.c: Likewise.
60008         * tests/unictype/test-categ_L.c: Likewise.
60009         * tests/unictype/test-categ_Ll.c: Likewise.
60010         * tests/unictype/test-categ_Lm.c: Likewise.
60011         * tests/unictype/test-categ_Lo.c: Likewise.
60012         * tests/unictype/test-categ_Lt.c: Likewise.
60013         * tests/unictype/test-categ_Lu.c: Likewise.
60014         * tests/unictype/test-categ_M.c: Likewise.
60015         * tests/unictype/test-categ_Mc.c: Likewise.
60016         * tests/unictype/test-categ_Me.c: Likewise.
60017         * tests/unictype/test-categ_Mn.c: Likewise.
60018         * tests/unictype/test-categ_N.c: Likewise.
60019         * tests/unictype/test-categ_Nd.c: Likewise.
60020         * tests/unictype/test-categ_Nl.c: Likewise.
60021         * tests/unictype/test-categ_No.c: Likewise.
60022         * tests/unictype/test-categ_P.c: Likewise.
60023         * tests/unictype/test-categ_Pc.c: Likewise.
60024         * tests/unictype/test-categ_Pd.c: Likewise.
60025         * tests/unictype/test-categ_Pe.c: Likewise.
60026         * tests/unictype/test-categ_Pf.c: Likewise.
60027         * tests/unictype/test-categ_Pi.c: Likewise.
60028         * tests/unictype/test-categ_Po.c: Likewise.
60029         * tests/unictype/test-categ_Ps.c: Likewise.
60030         * tests/unictype/test-categ_S.c: Likewise.
60031         * tests/unictype/test-categ_Sc.c: Likewise.
60032         * tests/unictype/test-categ_Sk.c: Likewise.
60033         * tests/unictype/test-categ_Sm.c: Likewise.
60034         * tests/unictype/test-categ_So.c: Likewise.
60035         * tests/unictype/test-categ_Z.c: Likewise.
60036         * tests/unictype/test-categ_Zl.c: Likewise.
60037         * tests/unictype/test-categ_Zp.c: Likewise.
60038         * tests/unictype/test-categ_Zs.c: Likewise.
60039         * tests/unictype/test-ctype_alnum.c: Likewise.
60040         * tests/unictype/test-ctype_alpha.c: Likewise.
60041         * tests/unictype/test-ctype_blank.c: Likewise.
60042         * tests/unictype/test-ctype_cntrl.c: Likewise.
60043         * tests/unictype/test-ctype_digit.c: Likewise.
60044         * tests/unictype/test-ctype_graph.c: Likewise.
60045         * tests/unictype/test-ctype_lower.c: Likewise.
60046         * tests/unictype/test-ctype_print.c: Likewise.
60047         * tests/unictype/test-ctype_punct.c: Likewise.
60048         * tests/unictype/test-ctype_space.c: Likewise.
60049         * tests/unictype/test-ctype_upper.c: Likewise.
60050         * tests/unictype/test-ctype_xdigit.c: Likewise.
60051         * tests/unictype/test-decdigit.h: Likewise.
60052         * tests/unictype/test-digit.h: Likewise.
60053         * tests/unictype/test-numeric.h: Likewise.
60054         * tests/unictype/test-pr_alphabetic.c: Likewise.
60055         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
60056         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
60057         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
60058         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
60059         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
60060         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
60061         * tests/unictype/test-pr_bidi_control.c: Likewise.
60062         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
60063         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
60064         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
60065         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
60066         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
60067         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
60068         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
60069         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
60070         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
60071         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
60072         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
60073         * tests/unictype/test-pr_combining.c: Likewise.
60074         * tests/unictype/test-pr_composite.c: Likewise.
60075         * tests/unictype/test-pr_currency_symbol.c: Likewise.
60076         * tests/unictype/test-pr_dash.c: Likewise.
60077         * tests/unictype/test-pr_decimal_digit.c: Likewise.
60078         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
60079         * tests/unictype/test-pr_deprecated.c: Likewise.
60080         * tests/unictype/test-pr_diacritic.c: Likewise.
60081         * tests/unictype/test-pr_extender.c: Likewise.
60082         * tests/unictype/test-pr_format_control.c: Likewise.
60083         * tests/unictype/test-pr_grapheme_base.c: Likewise.
60084         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
60085         * tests/unictype/test-pr_grapheme_link.c: Likewise.
60086         * tests/unictype/test-pr_hex_digit.c: Likewise.
60087         * tests/unictype/test-pr_hyphen.c: Likewise.
60088         * tests/unictype/test-pr_id_continue.c: Likewise.
60089         * tests/unictype/test-pr_id_start.c: Likewise.
60090         * tests/unictype/test-pr_ideographic.c: Likewise.
60091         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
60092         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
60093         * tests/unictype/test-pr_ignorable_control.c: Likewise.
60094         * tests/unictype/test-pr_iso_control.c: Likewise.
60095         * tests/unictype/test-pr_join_control.c: Likewise.
60096         * tests/unictype/test-pr_left_of_pair.c: Likewise.
60097         * tests/unictype/test-pr_line_separator.c: Likewise.
60098         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
60099         * tests/unictype/test-pr_lowercase.c: Likewise.
60100         * tests/unictype/test-pr_math.c: Likewise.
60101         * tests/unictype/test-pr_non_break.c: Likewise.
60102         * tests/unictype/test-pr_not_a_character.c: Likewise.
60103         * tests/unictype/test-pr_numeric.c: Likewise.
60104         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
60105         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
60106         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
60107         * tests/unictype/test-pr_other_id_continue.c: Likewise.
60108         * tests/unictype/test-pr_other_id_start.c: Likewise.
60109         * tests/unictype/test-pr_other_lowercase.c: Likewise.
60110         * tests/unictype/test-pr_other_math.c: Likewise.
60111         * tests/unictype/test-pr_other_uppercase.c: Likewise.
60112         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
60113         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
60114         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
60115         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
60116         * tests/unictype/test-pr_private_use.c: Likewise.
60117         * tests/unictype/test-pr_punctuation.c: Likewise.
60118         * tests/unictype/test-pr_quotation_mark.c: Likewise.
60119         * tests/unictype/test-pr_radical.c: Likewise.
60120         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
60121         * tests/unictype/test-pr_soft_dotted.c: Likewise.
60122         * tests/unictype/test-pr_space.c: Likewise.
60123         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
60124         * tests/unictype/test-pr_titlecase.c: Likewise.
60125         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
60126         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
60127         * tests/unictype/test-pr_uppercase.c: Likewise.
60128         * tests/unictype/test-pr_variation_selector.c: Likewise.
60129         * tests/unictype/test-pr_white_space.c: Likewise.
60130         * tests/unictype/test-pr_xid_continue.c: Likewise.
60131         * tests/unictype/test-pr_xid_start.c: Likewise.
60132         * tests/unictype/test-pr_zero_width.c: Likewise.
60133         * tests/unictype/test-sy_c_whitespace.c: Likewise.
60134         * tests/unictype/test-sy_java_whitespace.c: Likewise.
60135
60136 2007-11-12  Bruno Haible  <bruno@clisp.org>
60137
60138         Unicode character classification functions.
60139         * lib/unictype.h: New file.
60140         * modules/unictype/base: New file.
60141         * modules/unictype/category-L: New file.
60142         * modules/unictype/category-Lu: New file.
60143         * modules/unictype/category-Ll: New file.
60144         * modules/unictype/category-Lt: New file.
60145         * modules/unictype/category-Lm: New file.
60146         * modules/unictype/category-Lo: New file.
60147         * modules/unictype/category-M: New file.
60148         * modules/unictype/category-Mn: New file.
60149         * modules/unictype/category-Mc: New file.
60150         * modules/unictype/category-Me: New file.
60151         * modules/unictype/category-N: New file.
60152         * modules/unictype/category-Nd: New file.
60153         * modules/unictype/category-Nl: New file.
60154         * modules/unictype/category-No: New file.
60155         * modules/unictype/category-P: New file.
60156         * modules/unictype/category-Pc: New file.
60157         * modules/unictype/category-Pd: New file.
60158         * modules/unictype/category-Ps: New file.
60159         * modules/unictype/category-Pe: New file.
60160         * modules/unictype/category-Pi: New file.
60161         * modules/unictype/category-Pf: New file.
60162         * modules/unictype/category-Po: New file.
60163         * modules/unictype/category-S: New file.
60164         * modules/unictype/category-Sm: New file.
60165         * modules/unictype/category-Sc: New file.
60166         * modules/unictype/category-Sk: New file.
60167         * modules/unictype/category-So: New file.
60168         * modules/unictype/category-Z: New file.
60169         * modules/unictype/category-Zs: New file.
60170         * modules/unictype/category-Zl: New file.
60171         * modules/unictype/category-Zp: New file.
60172         * modules/unictype/category-C: New file.
60173         * modules/unictype/category-Cc: New file.
60174         * modules/unictype/category-Cf: New file.
60175         * modules/unictype/category-Cs: New file.
60176         * modules/unictype/category-Co: New file.
60177         * modules/unictype/category-Cn: New file.
60178         * modules/unictype/category-or: New file.
60179         * modules/unictype/category-of: New file.
60180         * modules/unictype/category-test: New file.
60181         * modules/unictype/category-test-withtable: New file.
60182         * modules/unictype/category-byname: New file.
60183         * modules/unictype/category-none: New file.
60184         * modules/unictype/category-and: New file.
60185         * modules/unictype/category-and-not: New file.
60186         * modules/unictype/category-name: New file.
60187         * modules/unictype/combining-class: New file.
60188         * modules/unictype/category-all: New file.
60189         * modules/unictype/bidicategory-all: New file.
60190         * modules/unictype/bidicategory-byname: New file.
60191         * modules/unictype/bidicategory-name: New file.
60192         * modules/unictype/bidicategory-of: New file.
60193         * modules/unictype/bidicategory-test: New file.
60194         * modules/unictype/decimal-digit: New file.
60195         * modules/unictype/digit: New file.
60196         * modules/unictype/numeric: New file.
60197         * modules/unictype/mirror: New file.
60198         * modules/unictype/property-white-space: New file.
60199         * modules/unictype/property-alphabetic: New file.
60200         * modules/unictype/property-other-alphabetic: New file.
60201         * modules/unictype/property-not-a-character: New file.
60202         * modules/unictype/property-default-ignorable-code-point: New file.
60203         * modules/unictype/property-other-default-ignorable-code-point: New
60204         file.
60205         * modules/unictype/property-deprecated: New file.
60206         * modules/unictype/property-logical-order-exception: New file.
60207         * modules/unictype/property-variation-selector: New file.
60208         * modules/unictype/property-private-use: New file.
60209         * modules/unictype/property-unassigned-code-value: New file.
60210         * modules/unictype/property-uppercase: New file.
60211         * modules/unictype/property-other-uppercase: New file.
60212         * modules/unictype/property-lowercase: New file.
60213         * modules/unictype/property-other-lowercase: New file.
60214         * modules/unictype/property-titlecase: New file.
60215         * modules/unictype/property-soft-dotted: New file.
60216         * modules/unictype/property-id-start: New file.
60217         * modules/unictype/property-other-id-start: New file.
60218         * modules/unictype/property-id-continue: New file.
60219         * modules/unictype/property-other-id-continue: New file.
60220         * modules/unictype/property-xid-start: New file.
60221         * modules/unictype/property-xid-continue: New file.
60222         * modules/unictype/property-pattern-white-space: New file.
60223         * modules/unictype/property-pattern-syntax: New file.
60224         * modules/unictype/property-join-control: New file.
60225         * modules/unictype/property-grapheme-base: New file.
60226         * modules/unictype/property-grapheme-extend: New file.
60227         * modules/unictype/property-other-grapheme-extend: New file.
60228         * modules/unictype/property-grapheme-link: New file.
60229         * modules/unictype/property-bidi-control: New file.
60230         * modules/unictype/property-bidi-left-to-right: New file.
60231         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
60232         * modules/unictype/property-bidi-arabic-right-to-left: New file.
60233         * modules/unictype/property-bidi-european-digit: New file.
60234         * modules/unictype/property-bidi-eur-num-separator: New file.
60235         * modules/unictype/property-bidi-eur-num-terminator: New file.
60236         * modules/unictype/property-bidi-arabic-digit: New file.
60237         * modules/unictype/property-bidi-common-separator: New file.
60238         * modules/unictype/property-bidi-block-separator: New file.
60239         * modules/unictype/property-bidi-segment-separator: New file.
60240         * modules/unictype/property-bidi-whitespace: New file.
60241         * modules/unictype/property-bidi-non-spacing-mark: New file.
60242         * modules/unictype/property-bidi-boundary-neutral: New file.
60243         * modules/unictype/property-bidi-pdf: New file.
60244         * modules/unictype/property-bidi-embedding-or-override: New file.
60245         * modules/unictype/property-bidi-other-neutral: New file.
60246         * modules/unictype/property-hex-digit: New file.
60247         * modules/unictype/property-ascii-hex-digit: New file.
60248         * modules/unictype/property-ideographic: New file.
60249         * modules/unictype/property-unified-ideograph: New file.
60250         * modules/unictype/property-radical: New file.
60251         * modules/unictype/property-ids-binary-operator: New file.
60252         * modules/unictype/property-ids-trinary-operator: New file.
60253         * modules/unictype/property-zero-width: New file.
60254         * modules/unictype/property-space: New file.
60255         * modules/unictype/property-non-break: New file.
60256         * modules/unictype/property-iso-control: New file.
60257         * modules/unictype/property-format-control: New file.
60258         * modules/unictype/property-dash: New file.
60259         * modules/unictype/property-hyphen: New file.
60260         * modules/unictype/property-punctuation: New file.
60261         * modules/unictype/property-line-separator: New file.
60262         * modules/unictype/property-paragraph-separator: New file.
60263         * modules/unictype/property-quotation-mark: New file.
60264         * modules/unictype/property-sentence-terminal: New file.
60265         * modules/unictype/property-terminal-punctuation: New file.
60266         * modules/unictype/property-currency-symbol: New file.
60267         * modules/unictype/property-math: New file.
60268         * modules/unictype/property-other-math: New file.
60269         * modules/unictype/property-paired-punctuation: New file.
60270         * modules/unictype/property-left-of-pair: New file.
60271         * modules/unictype/property-combining: New file.
60272         * modules/unictype/property-composite: New file.
60273         * modules/unictype/property-decimal-digit: New file.
60274         * modules/unictype/property-numeric: New file.
60275         * modules/unictype/property-diacritic: New file.
60276         * modules/unictype/property-extender: New file.
60277         * modules/unictype/property-ignorable-control: New file.
60278         * modules/unictype/property-test: New file.
60279         * modules/unictype/property-byname: New file.
60280         * modules/unictype/property-all: New file.
60281         * modules/unictype/scripts: New file.
60282         * modules/unictype/scripts-all: New file.
60283         * modules/unictype/block-of: New file.
60284         * modules/unictype/block-test: New file.
60285         * modules/unictype/block-list: New file.
60286         * modules/unictype/block-all: New file.
60287         * modules/unictype/syntax-c-whitespace: New file.
60288         * modules/unictype/syntax-java-whitespace: New file.
60289         * modules/unictype/syntax-c-ident: New file.
60290         * modules/unictype/syntax-java-ident: New file.
60291         * modules/unictype/ctype-alnum: New file.
60292         * modules/unictype/ctype-alpha: New file.
60293         * modules/unictype/ctype-cntrl: New file.
60294         * modules/unictype/ctype-digit: New file.
60295         * modules/unictype/ctype-graph: New file.
60296         * modules/unictype/ctype-lower: New file.
60297         * modules/unictype/ctype-print: New file.
60298         * modules/unictype/ctype-punct: New file.
60299         * modules/unictype/ctype-space: New file.
60300         * modules/unictype/ctype-upper: New file.
60301         * modules/unictype/ctype-xdigit: New file.
60302         * modules/unictype/ctype-blank: New file.
60303         * lib/unictype/bidi_byname.c: New file.
60304         * lib/unictype/bidi_name.c: New file.
60305         * lib/unictype/bidi_of.c: New file.
60306         * lib/unictype/bidi_test.c: New file.
60307         * lib/unictype/bitmap.h: New file.
60308         * lib/unictype/block_test.c: New file.
60309         * lib/unictype/blocks.c: New file.
60310         * lib/unictype/categ_C.c: New file.
60311         * lib/unictype/categ_Cc.c: New file.
60312         * lib/unictype/categ_Cf.c: New file.
60313         * lib/unictype/categ_Cn.c: New file.
60314         * lib/unictype/categ_Co.c: New file.
60315         * lib/unictype/categ_Cs.c: New file.
60316         * lib/unictype/categ_L.c: New file.
60317         * lib/unictype/categ_Ll.c: New file.
60318         * lib/unictype/categ_Lm.c: New file.
60319         * lib/unictype/categ_Lo.c: New file.
60320         * lib/unictype/categ_Lt.c: New file.
60321         * lib/unictype/categ_Lu.c: New file.
60322         * lib/unictype/categ_M.c: New file.
60323         * lib/unictype/categ_Mc.c: New file.
60324         * lib/unictype/categ_Me.c: New file.
60325         * lib/unictype/categ_Mn.c: New file.
60326         * lib/unictype/categ_N.c: New file.
60327         * lib/unictype/categ_Nd.c: New file.
60328         * lib/unictype/categ_Nl.c: New file.
60329         * lib/unictype/categ_No.c: New file.
60330         * lib/unictype/categ_P.c: New file.
60331         * lib/unictype/categ_Pc.c: New file.
60332         * lib/unictype/categ_Pd.c: New file.
60333         * lib/unictype/categ_Pe.c: New file.
60334         * lib/unictype/categ_Pf.c: New file.
60335         * lib/unictype/categ_Pi.c: New file.
60336         * lib/unictype/categ_Po.c: New file.
60337         * lib/unictype/categ_Ps.c: New file.
60338         * lib/unictype/categ_S.c: New file.
60339         * lib/unictype/categ_Sc.c: New file.
60340         * lib/unictype/categ_Sk.c: New file.
60341         * lib/unictype/categ_Sm.c: New file.
60342         * lib/unictype/categ_So.c: New file.
60343         * lib/unictype/categ_Z.c: New file.
60344         * lib/unictype/categ_Zl.c: New file.
60345         * lib/unictype/categ_Zp.c: New file.
60346         * lib/unictype/categ_Zs.c: New file.
60347         * lib/unictype/categ_and.c: New file.
60348         * lib/unictype/categ_and_not.c: New file.
60349         * lib/unictype/categ_byname.c: New file.
60350         * lib/unictype/categ_name.c: New file.
60351         * lib/unictype/categ_none.c: New file.
60352         * lib/unictype/categ_of.c: New file.
60353         * lib/unictype/categ_or.c: New file.
60354         * lib/unictype/categ_test.c: New file.
60355         * lib/unictype/combining.c: New file.
60356         * lib/unictype/ctype_alnum.c: New file.
60357         * lib/unictype/ctype_alpha.c: New file.
60358         * lib/unictype/ctype_blank.c: New file.
60359         * lib/unictype/ctype_cntrl.c: New file.
60360         * lib/unictype/ctype_digit.c: New file.
60361         * lib/unictype/ctype_graph.c: New file.
60362         * lib/unictype/ctype_lower.c: New file.
60363         * lib/unictype/ctype_print.c: New file.
60364         * lib/unictype/ctype_punct.c: New file.
60365         * lib/unictype/ctype_space.c: New file.
60366         * lib/unictype/ctype_upper.c: New file.
60367         * lib/unictype/ctype_xdigit.c: New file.
60368         * lib/unictype/decdigit.c: New file.
60369         * lib/unictype/digit.c: New file.
60370         * lib/unictype/identsyntaxmap.h: New file.
60371         * lib/unictype/mirror.c: New file.
60372         * lib/unictype/numeric.c: New file.
60373         * lib/unictype/pr_alphabetic.c: New file.
60374         * lib/unictype/pr_ascii_hex_digit.c: New file.
60375         * lib/unictype/pr_bidi_arabic_digit.c: New file.
60376         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
60377         * lib/unictype/pr_bidi_block_separator.c: New file.
60378         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
60379         * lib/unictype/pr_bidi_common_separator.c: New file.
60380         * lib/unictype/pr_bidi_control.c: New file.
60381         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
60382         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
60383         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
60384         * lib/unictype/pr_bidi_european_digit.c: New file.
60385         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
60386         * lib/unictype/pr_bidi_left_to_right.c: New file.
60387         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
60388         * lib/unictype/pr_bidi_other_neutral.c: New file.
60389         * lib/unictype/pr_bidi_pdf.c: New file.
60390         * lib/unictype/pr_bidi_segment_separator.c: New file.
60391         * lib/unictype/pr_bidi_whitespace.c: New file.
60392         * lib/unictype/pr_byname.c: New file.
60393         * lib/unictype/pr_byname.gperf: New file.
60394         * lib/unictype/pr_combining.c: New file.
60395         * lib/unictype/pr_composite.c: New file.
60396         * lib/unictype/pr_currency_symbol.c: New file.
60397         * lib/unictype/pr_dash.c: New file.
60398         * lib/unictype/pr_decimal_digit.c: New file.
60399         * lib/unictype/pr_default_ignorable_code_point.c: New file.
60400         * lib/unictype/pr_deprecated.c: New file.
60401         * lib/unictype/pr_diacritic.c: New file.
60402         * lib/unictype/pr_extender.c: New file.
60403         * lib/unictype/pr_format_control.c: New file.
60404         * lib/unictype/pr_grapheme_base.c: New file.
60405         * lib/unictype/pr_grapheme_extend.c: New file.
60406         * lib/unictype/pr_grapheme_link.c: New file.
60407         * lib/unictype/pr_hex_digit.c: New file.
60408         * lib/unictype/pr_hyphen.c: New file.
60409         * lib/unictype/pr_id_continue.c: New file.
60410         * lib/unictype/pr_id_start.c: New file.
60411         * lib/unictype/pr_ideographic.c: New file.
60412         * lib/unictype/pr_ids_binary_operator.c: New file.
60413         * lib/unictype/pr_ids_trinary_operator.c: New file.
60414         * lib/unictype/pr_ignorable_control.c: New file.
60415         * lib/unictype/pr_iso_control.c: New file.
60416         * lib/unictype/pr_join_control.c: New file.
60417         * lib/unictype/pr_left_of_pair.c: New file.
60418         * lib/unictype/pr_line_separator.c: New file.
60419         * lib/unictype/pr_logical_order_exception.c: New file.
60420         * lib/unictype/pr_lowercase.c: New file.
60421         * lib/unictype/pr_math.c: New file.
60422         * lib/unictype/pr_non_break.c: New file.
60423         * lib/unictype/pr_not_a_character.c: New file.
60424         * lib/unictype/pr_numeric.c: New file.
60425         * lib/unictype/pr_other_alphabetic.c: New file.
60426         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
60427         * lib/unictype/pr_other_grapheme_extend.c: New file.
60428         * lib/unictype/pr_other_id_continue.c: New file.
60429         * lib/unictype/pr_other_id_start.c: New file.
60430         * lib/unictype/pr_other_lowercase.c: New file.
60431         * lib/unictype/pr_other_math.c: New file.
60432         * lib/unictype/pr_other_uppercase.c: New file.
60433         * lib/unictype/pr_paired_punctuation.c: New file.
60434         * lib/unictype/pr_paragraph_separator.c: New file.
60435         * lib/unictype/pr_pattern_syntax.c: New file.
60436         * lib/unictype/pr_pattern_white_space.c: New file.
60437         * lib/unictype/pr_private_use.c: New file.
60438         * lib/unictype/pr_punctuation.c: New file.
60439         * lib/unictype/pr_quotation_mark.c: New file.
60440         * lib/unictype/pr_radical.c: New file.
60441         * lib/unictype/pr_sentence_terminal.c: New file.
60442         * lib/unictype/pr_soft_dotted.c: New file.
60443         * lib/unictype/pr_space.c: New file.
60444         * lib/unictype/pr_terminal_punctuation.c: New file.
60445         * lib/unictype/pr_test.c: New file.
60446         * lib/unictype/pr_titlecase.c: New file.
60447         * lib/unictype/pr_unassigned_code_value.c: New file.
60448         * lib/unictype/pr_unified_ideograph.c: New file.
60449         * lib/unictype/pr_uppercase.c: New file.
60450         * lib/unictype/pr_variation_selector.c: New file.
60451         * lib/unictype/pr_white_space.c: New file.
60452         * lib/unictype/pr_xid_continue.c: New file.
60453         * lib/unictype/pr_xid_start.c: New file.
60454         * lib/unictype/pr_zero_width.c: New file.
60455         * lib/unictype/scripts.c: New file.
60456         * lib/unictype/sy_c_ident.c: New file.
60457         * lib/unictype/sy_c_whitespace.c: New file.
60458         * lib/unictype/sy_java_ident.c: New file.
60459         * lib/unictype/sy_java_whitespace.c: New file.
60460
60461         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
60462         Unicode 5.0.0.
60463         * lib/unictype/blocks.h: Likewise.
60464         * lib/unictype/categ_C.h: Likewise.
60465         * lib/unictype/categ_Cc.h: Likewise.
60466         * lib/unictype/categ_Cf.h: Likewise.
60467         * lib/unictype/categ_Cn.h: Likewise.
60468         * lib/unictype/categ_Co.h: Likewise.
60469         * lib/unictype/categ_Cs.h: Likewise.
60470         * lib/unictype/categ_L.h: Likewise.
60471         * lib/unictype/categ_Ll.h: Likewise.
60472         * lib/unictype/categ_Lm.h: Likewise.
60473         * lib/unictype/categ_Lo.h: Likewise.
60474         * lib/unictype/categ_Lt.h: Likewise.
60475         * lib/unictype/categ_Lu.h: Likewise.
60476         * lib/unictype/categ_M.h: Likewise.
60477         * lib/unictype/categ_Mc.h: Likewise.
60478         * lib/unictype/categ_Me.h: Likewise.
60479         * lib/unictype/categ_Mn.h: Likewise.
60480         * lib/unictype/categ_N.h: Likewise.
60481         * lib/unictype/categ_Nd.h: Likewise.
60482         * lib/unictype/categ_Nl.h: Likewise.
60483         * lib/unictype/categ_No.h: Likewise.
60484         * lib/unictype/categ_P.h: Likewise.
60485         * lib/unictype/categ_Pc.h: Likewise.
60486         * lib/unictype/categ_Pd.h: Likewise.
60487         * lib/unictype/categ_Pe.h: Likewise.
60488         * lib/unictype/categ_Pf.h: Likewise.
60489         * lib/unictype/categ_Pi.h: Likewise.
60490         * lib/unictype/categ_Po.h: Likewise.
60491         * lib/unictype/categ_Ps.h: Likewise.
60492         * lib/unictype/categ_S.h: Likewise.
60493         * lib/unictype/categ_Sc.h: Likewise.
60494         * lib/unictype/categ_Sk.h: Likewise.
60495         * lib/unictype/categ_Sm.h: Likewise.
60496         * lib/unictype/categ_So.h: Likewise.
60497         * lib/unictype/categ_Z.h: Likewise.
60498         * lib/unictype/categ_Zl.h: Likewise.
60499         * lib/unictype/categ_Zp.h: Likewise.
60500         * lib/unictype/categ_Zs.h: Likewise.
60501         * lib/unictype/categ_of.h: Likewise.
60502         * lib/unictype/combining.h: Likewise.
60503         * lib/unictype/ctype_alnum.h: Likewise.
60504         * lib/unictype/ctype_alpha.h: Likewise.
60505         * lib/unictype/ctype_blank.h: Likewise.
60506         * lib/unictype/ctype_cntrl.h: Likewise.
60507         * lib/unictype/ctype_digit.h: Likewise.
60508         * lib/unictype/ctype_graph.h: Likewise.
60509         * lib/unictype/ctype_lower.h: Likewise.
60510         * lib/unictype/ctype_print.h: Likewise.
60511         * lib/unictype/ctype_punct.h: Likewise.
60512         * lib/unictype/ctype_space.h: Likewise.
60513         * lib/unictype/ctype_upper.h: Likewise.
60514         * lib/unictype/ctype_xdigit.h: Likewise.
60515         * lib/unictype/decdigit.h: Likewise.
60516         * lib/unictype/digit.h: Likewise.
60517         * lib/unictype/mirror.h: Likewise.
60518         * lib/unictype/numeric.h: Likewise.
60519         * lib/unictype/pr_alphabetic.h: Likewise.
60520         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
60521         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
60522         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
60523         * lib/unictype/pr_bidi_block_separator.h: Likewise.
60524         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
60525         * lib/unictype/pr_bidi_common_separator.h: Likewise.
60526         * lib/unictype/pr_bidi_control.h: Likewise.
60527         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
60528         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
60529         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
60530         * lib/unictype/pr_bidi_european_digit.h: Likewise.
60531         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
60532         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
60533         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
60534         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
60535         * lib/unictype/pr_bidi_pdf.h: Likewise.
60536         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
60537         * lib/unictype/pr_bidi_whitespace.h: Likewise.
60538         * lib/unictype/pr_combining.h: Likewise.
60539         * lib/unictype/pr_composite.h: Likewise.
60540         * lib/unictype/pr_currency_symbol.h: Likewise.
60541         * lib/unictype/pr_dash.h: Likewise.
60542         * lib/unictype/pr_decimal_digit.h: Likewise.
60543         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
60544         * lib/unictype/pr_deprecated.h: Likewise.
60545         * lib/unictype/pr_diacritic.h: Likewise.
60546         * lib/unictype/pr_extender.h: Likewise.
60547         * lib/unictype/pr_format_control.h: Likewise.
60548         * lib/unictype/pr_grapheme_base.h: Likewise.
60549         * lib/unictype/pr_grapheme_extend.h: Likewise.
60550         * lib/unictype/pr_grapheme_link.h: Likewise.
60551         * lib/unictype/pr_hex_digit.h: Likewise.
60552         * lib/unictype/pr_hyphen.h: Likewise.
60553         * lib/unictype/pr_id_continue.h: Likewise.
60554         * lib/unictype/pr_id_start.h: Likewise.
60555         * lib/unictype/pr_ideographic.h: Likewise.
60556         * lib/unictype/pr_ids_binary_operator.h: Likewise.
60557         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
60558         * lib/unictype/pr_ignorable_control.h: Likewise.
60559         * lib/unictype/pr_iso_control.h: Likewise.
60560         * lib/unictype/pr_join_control.h: Likewise.
60561         * lib/unictype/pr_left_of_pair.h: Likewise.
60562         * lib/unictype/pr_line_separator.h: Likewise.
60563         * lib/unictype/pr_logical_order_exception.h: Likewise.
60564         * lib/unictype/pr_lowercase.h: Likewise.
60565         * lib/unictype/pr_math.h: Likewise.
60566         * lib/unictype/pr_non_break.h: Likewise.
60567         * lib/unictype/pr_not_a_character.h: Likewise.
60568         * lib/unictype/pr_numeric.h: Likewise.
60569         * lib/unictype/pr_other_alphabetic.h: Likewise.
60570         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
60571         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
60572         * lib/unictype/pr_other_id_continue.h: Likewise.
60573         * lib/unictype/pr_other_id_start.h: Likewise.
60574         * lib/unictype/pr_other_lowercase.h: Likewise.
60575         * lib/unictype/pr_other_math.h: Likewise.
60576         * lib/unictype/pr_other_uppercase.h: Likewise.
60577         * lib/unictype/pr_paired_punctuation.h: Likewise.
60578         * lib/unictype/pr_paragraph_separator.h: Likewise.
60579         * lib/unictype/pr_pattern_syntax.h: Likewise.
60580         * lib/unictype/pr_pattern_white_space.h: Likewise.
60581         * lib/unictype/pr_private_use.h: Likewise.
60582         * lib/unictype/pr_punctuation.h: Likewise.
60583         * lib/unictype/pr_quotation_mark.h: Likewise.
60584         * lib/unictype/pr_radical.h: Likewise.
60585         * lib/unictype/pr_sentence_terminal.h: Likewise.
60586         * lib/unictype/pr_soft_dotted.h: Likewise.
60587         * lib/unictype/pr_space.h: Likewise.
60588         * lib/unictype/pr_terminal_punctuation.h: Likewise.
60589         * lib/unictype/pr_titlecase.h: Likewise.
60590         * lib/unictype/pr_unassigned_code_value.h: Likewise.
60591         * lib/unictype/pr_unified_ideograph.h: Likewise.
60592         * lib/unictype/pr_uppercase.h: Likewise.
60593         * lib/unictype/pr_variation_selector.h: Likewise.
60594         * lib/unictype/pr_white_space.h: Likewise.
60595         * lib/unictype/pr_xid_continue.h: Likewise.
60596         * lib/unictype/pr_xid_start.h: Likewise.
60597         * lib/unictype/pr_zero_width.h: Likewise.
60598         * lib/unictype/scripts.h: Likewise.
60599         * lib/unictype/scripts_byname.gperf: Likewise.
60600         * lib/unictype/sy_c_ident.h: Likewise.
60601         * lib/unictype/sy_c_whitespace.h: Likewise.
60602         * lib/unictype/sy_java_ident.h: Likewise.
60603         * lib/unictype/sy_java_whitespace.h: Likewise.
60604
60605         * lib/unictype/Makefile: New file.
60606         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
60607         glibc.
60608         * lib/unictype/3level.h: New file, copied from glibc.
60609         * lib/unictype/3levelbit.h: New file.
60610
60611 2007-11-11  Bruno Haible  <bruno@clisp.org>
60612
60613         * modules/gperf: New file.
60614         * modules/iconv_open (Depends-on): Add it.
60615         (Makefile.am): Remove the GPERF definition.
60616
60617 2007-11-11  Bruno Haible  <bruno@clisp.org>
60618
60619         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
60620         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
60621
60622 2007-11-11  Bruno Haible  <bruno@clisp.org>
60623
60624         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
60625         (usage): Remove function.
60626
60627 2007-11-11  Bruno Haible  <bruno@clisp.org>
60628
60629         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
60630         gl_FUNC_CEILF_LIBS.
60631         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
60632         gl_FUNC_CEIL_LIBS.
60633         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
60634         gl_FUNC_CEILL_LIBS.
60635         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
60636         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
60637         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
60638
60639 2007-11-11  Bruno Haible  <bruno@clisp.org>
60640
60641         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
60642         roundf were declared but do not exist on functions.
60643         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
60644         roundl were declared but do not exist on functions.
60645         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
60646         HAVE_FLOORL_AND_CEILL, respectively.
60647         Needed for Sun C on Solaris 10.
60648
60649 2007-11-11  Bruno Haible  <bruno@clisp.org>
60650
60651         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
60652         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
60653         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
60654         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
60655         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
60656         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
60657         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
60658         HAVE_DECL_ROUNDF.
60659         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
60660         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
60661         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
60662         of HAVE_DECL_ROUND*.
60663         * modules/math (Makefile.am): Update.
60664
60665 2007-11-10  Bruno Haible  <bruno@clisp.org>
60666
60667         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
60668         ptrdiff_t as m4/intl.m4.
60669
60670 2007-11-10  Jim Meyering  <meyering@redhat.com>
60671
60672         Avoid link failure for the argmatch test.
60673         * tests/test-argmatch.c (usage): Define function to avoid a link
60674         failure: argmatch_die requires a usage function.
60675
60676 2007-11-09  Bruno Haible  <bruno@clisp.org>
60677
60678         * doc/functions/snprintf.texi: Mention BeOS deficiency.
60679         * doc/functions/vsnprintf.texi: Likewise.
60680         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
60681         with a size argument < 2.
60682
60683 2007-11-09  Bruno Haible  <bruno@clisp.org>
60684
60685         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
60686         buffer. Fixes an inefficiency introduced on 2007-11-03.
60687
60688 2007-11-09  Bruno Haible  <bruno@clisp.org>
60689
60690         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
60691         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
60692
60693 2007-11-08  Jim Meyering  <meyering@redhat.com>
60694
60695         Change cache variable name prefix "jm_" to "gl_" everywhere.
60696         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
60697         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
60698         * m4/uptime.m4: s/gl_/jm_/
60699
60700 2007-11-07  Bruno Haible  <bruno@clisp.org>
60701
60702         Update to GNU gettext 0.17.
60703         * m4/intl.m4: Update to GNU gettext 0.17.
60704         * m4/po.m4: Likewise.
60705         * modules/gettext (Files): Remove m4/ulonglong.m4.
60706         (configure.ac): Require gettext infrastructure from version 0.17.
60707
60708 2007-11-06  Bruno Haible  <bruno@clisp.org>
60709
60710         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
60711         symbolic values are not defined in a public header.
60712         * lib/freadable.c (freadable) [QNX]: Likewise.
60713         * lib/freadahead.c (freadahead) [QNX]: Likewise.
60714         * lib/freading.c (freading) [QNX]: Likewise.
60715         * lib/fseterr.c (fseterr) [QNX]: Likewise.
60716         * lib/fwritable.c (fwritable) [QNX]: Likewise.
60717         * lib/fwriting.c (fwriting) [QNX]: Likewise.
60718         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
60719         Reported by Alain Magloire.
60720
60721         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
60722
60723 2007-11-05  Bruno Haible  <bruno@clisp.org>
60724
60725         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
60726         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
60727         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
60728         Reported by Eric Blake.
60729
60730 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60731             Bruno Haible  <bruno@clisp.org>
60732
60733         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
60734         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
60735         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
60736         (malloc): Undefine also before including <stdlib.h>.
60737         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
60738         Needed on OSF/1 4.0.
60739
60740 2007-11-05  Jim Meyering  <meyering@redhat.com>
60741
60742         git-version-gen: sync from coreutils.
60743         * build-aux/git-version-gen: Add comments.
60744         Change the first '-' to '.' in the snapshot version string,
60745         e.g., 6.9-377-08144 -> 6.9.377-08144
60746         Remove first parameter.
60747         Don't declare a version "-dirty" merely because a time
60748         stamp has changed.
60749
60750 2007-11-04  Bruno Haible  <bruno@clisp.org>
60751
60752         * lib/lock.h: Protect all macro definitions containing an 'if'
60753         statement through a "do { ... } while (0)".
60754         * lib/tls.h: Likewise.
60755
60756 2007-11-04  Bruno Haible  <bruno@clisp.org>
60757
60758         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
60759
60760 2007-11-04  Bruno Haible  <bruno@clisp.org>
60761
60762         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
60763         * modules/fprintf-posix (Depends-on): Add nocrash.
60764         * modules/snprintf-posix (Depends-on): Likewise.
60765         * modules/sprintf-posix (Depends-on): Likewise.
60766         * modules/vasnprintf-posix (Depends-on): Likewise.
60767         * modules/vasprintf-posix (Depends-on): Likewise.
60768         * modules/vfprintf-posix (Depends-on): Likewise.
60769         * modules/vsnprintf-posix (Depends-on): Likewise.
60770         * modules/vsprintf-posix (Depends-on): Likewise.
60771         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
60772         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
60773         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
60774         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
60775         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
60776         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
60777         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
60778
60779 2007-11-04  Bruno Haible  <bruno@clisp.org>
60780
60781         * modules/nocrash: New file.
60782         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
60783         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
60784
60785 2007-11-04  Bruno Haible  <bruno@clisp.org>
60786
60787         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
60788         precision handling.
60789         * tests/test-vasprintf-posix.c (test_function): Likewise.
60790         * tests/test-snprintf-posix.h (test_function): Likewise.
60791         * tests/test-sprintf-posix.h (test_function): Likewise.
60792
60793         Fix *printf behaviour for large precisions on mingw and BeOS.
60794         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
60795         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
60796         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
60797         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
60798         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
60799         gl_PRINTF_PRECISION and test its result. Invoke
60800         gl_PREREQ_VASNPRINTF_PRECISION.
60801         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
60802         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
60803         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
60804         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
60805         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
60806         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
60807         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
60808         * doc/functions/fprintf.texi: Update.
60809         * doc/functions/printf.texi: Update.
60810         * doc/functions/snprintf.texi: Update.
60811         * doc/functions/sprintf.texi: Update.
60812         * doc/functions/vfprintf.texi: Update.
60813         * doc/functions/vprintf.texi: Update.
60814         * doc/functions/vsnprintf.texi: Update.
60815         * doc/functions/vsprintf.texi: Update.
60816
60817 2007-11-04  Bruno Haible  <bruno@clisp.org>
60818
60819         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
60820
60821 2007-11-04  Bruno Haible  <bruno@clisp.org>
60822
60823         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
60824         Reported by Sylvain Beucler <beuc@gnu.org>.
60825
60826 2007-11-03  Bruno Haible  <bruno@clisp.org>
60827
60828         * tests/test-fprintf-posix2.sh: New file.
60829         * tests/test-fprintf-posix2.c: New file.
60830         * modules/fprintf-posix-tests (Files): Add them.
60831         (TESTS): Add test-fprintf-posix2.sh.
60832         (configure.ac): Check for getrlimit and setrlimit.
60833         (check_PROGRAMS): Add test-fprintf-posix2.
60834
60835         * tests/test-printf-posix2.sh: New file.
60836         * tests/test-printf-posix2.c: New file.
60837         * modules/printf-posix-tests (Files): Add them.
60838         (TESTS): Add test-printf-posix2.sh.
60839         (configure.ac): Check for getrlimit and setrlimit.
60840         (check_PROGRAMS): Add test-printf-posix2.
60841
60842         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
60843         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
60844         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
60845         (decode_double): New function, copied from decode_long_double.
60846         (scale10_round_decimal_decoded): New function, extracted from
60847         scale10_round_decimal_long_double.
60848         (scale10_round_decimal_long_double): Use it.
60849         (scale10_round_decimal_double): New function.
60850         (floorlog10): New function.
60851         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
60852         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
60853         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
60854         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
60855         gl_PRINTF_ENOMEM and test its result. Invoke
60856         gl_PREREQ_VASNPRINTF_ENOMEM.
60857         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
60858         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
60859         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
60860         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
60861         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
60862         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
60863         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
60864         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
60865         * modules/snprintf-posix (Depends-on): Likewise.
60866         * modules/sprintf-posix (Depends-on): Likewise.
60867         * modules/vasnprintf-posix (Depends-on): Likewise.
60868         * modules/vasprintf-posix (Depends-on): Likewise.
60869         * modules/vfprintf-posix (Depends-on): Likewise.
60870         * modules/vsnprintf-posix (Depends-on): Likewise.
60871         * modules/vsprintf-posix (Depends-on): Likewise.
60872         * doc/functions/fprintf.texi: Update.
60873         * doc/functions/printf.texi: Update.
60874         * doc/functions/snprintf.texi: Update.
60875         * doc/functions/sprintf.texi: Update.
60876         * doc/functions/vfprintf.texi: Update.
60877         * doc/functions/vprintf.texi: Update.
60878         * doc/functions/vsnprintf.texi: Update.
60879         * doc/functions/vsprintf.texi: Update.
60880
60881 2007-11-03  Bruno Haible  <bruno@clisp.org>
60882
60883         * modules/frexp-nolibm-tests: New file.
60884
60885         * modules/frexp-nolibm: New file.
60886         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
60887
60888 2007-11-03  Bruno Haible  <bruno@clisp.org>
60889
60890         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
60891         value is C99 compliant.
60892         Needed for OSF/1 5.1.
60893
60894 2007-11-03  Bruno Haible  <bruno@clisp.org>
60895
60896         Fix out-of-memory handling of vasnprintf.
60897         * lib/printf-parse.c: Include <errno.h>.
60898         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
60899         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
60900         is already set.
60901
60902 2007-11-02  Eric Blake  <ebb9@byu.net>
60903
60904         Fix tests on cygwin.
60905         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
60906
60907 2007-11-01  Bruno Haible  <bruno@clisp.org>
60908
60909         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
60910         warning.
60911         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
60912         needed for POSIX compatibility.
60913
60914 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
60915
60916         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
60917         for compatibility with GNU.
60918
60919 2007-11-01  Bruno Haible  <bruno@clisp.org>
60920
60921         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
60922         (putenv): Renamed from rpl_putenv. Change argument type from
60923         'const char *' to 'char *'.
60924         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
60925         of defining putenv in config.h, just set REPLACE_PUTENV.
60926         * modules/putenv (Depends-on): Add stdlib.
60927         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
60928         (Include): Use <stdlib.h>.
60929         * lib/stdlib.in.h (putenv): New declaration.
60930         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
60931         REPLACE_PUTENV.
60932         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
60933         REPLACE_PUTENV.
60934         Needed for MacOS X 10.5.0.
60935         Reported by Peter O'Gorman <peter@pogma.com>.
60936
60937 2007-11-01  Jim Meyering  <meyering@redhat.com>
60938
60939         Treat an empty date string exactly like "0".
60940         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
60941         if the remaining date string (to be parsed) is empty, use "0".
60942         Reported by Mischa Molhoek and discussed in this thread:
60943         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
60944
60945 2007-10-31  Bruno Haible  <bruno@clisp.org>
60946
60947         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
60948         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
60949         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
60950         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
60951         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
60952         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
60953
60954 2007-10-31  Bruno Haible  <bruno@clisp.org>
60955
60956         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
60957         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
60958         (AC_TYPE_LONG_LONG_INT): Use it.
60959         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
60960         it as well.
60961         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
60962         to m4/longlong.m4.
60963         * modules/stdint (Files): Remove m4/ulonglong.m4.
60964         * modules/strtoull (Files): Use m4/longlong.m4 instead of
60965         m4/ulonglong.m4.
60966         * modules/strtoumax (Files): Likewise.
60967
60968 2007-10-30  Bruno Haible  <bruno@clisp.org>
60969
60970         * modules/xvasprintf-posix: New file.
60971         Suggested by Eric Blake.
60972
60973 2007-10-30  Bruno Haible  <bruno@clisp.org>
60974
60975         * modules/xprintf-posix-tests: New file.
60976         * tests/test-xprintf-posix.sh: New file.
60977         * tests/test-xprintf-posix.c: New file.
60978         * tests/test-xfprintf-posix.c: New file.
60979
60980         * modules/xprintf-posix: New file.
60981
60982 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60983
60984         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
60985         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
60986         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
60987
60988 2007-10-29  Bruno Haible  <bruno@clisp.org>
60989
60990         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
60991         contain the special marker '_cv_'.
60992         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
60993         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
60994         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
60995         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
60996         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
60997         Reported by Ralf Wildenhues.
60998
60999 2007-10-29  Bruno Haible  <bruno@clisp.org>
61000
61001         * gnulib-tool (func_import): When --lgpl is not specified, set
61002         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
61003         GPLv3.
61004         Reported by Simon Josefsson.
61005
61006 2007-10-28  Bruno Haible  <bruno@clisp.org>
61007
61008         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
61009         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
61010         HAVE_DECL_ISFINITE.
61011         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
61012         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
61013         HAVE_DECL_ISFINITE.
61014
61015 2007-10-28  Bruno Haible  <bruno@clisp.org>
61016
61017         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
61018         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
61019
61020 2007-10-28  Bruno Haible  <bruno@clisp.org>
61021
61022         Fix link errors with Sun C 5.0 on Solaris 10.
61023         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
61024         function is declared but not present in the compiler's libm.
61025         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
61026         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
61027         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
61028         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
61029         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
61030         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
61031         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
61032         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
61033         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
61034         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
61035         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
61036         HAVE_DECL_FLOORL.
61037
61038 2007-10-28  Bruno Haible  <bruno@clisp.org>
61039
61040         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
61041         gl_FUNC_FLOORL. Cache the result.
61042         (gl_FUNC_FLOORL): Use it.
61043         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
61044         gl_FUNC_CEILL. Cache the result.
61045         (gl_FUNC_CEILL): Use it.
61046
61047         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
61048         gl_FUNC_FLOOR. Cache the result.
61049         (gl_FUNC_FLOOR): Use it.
61050         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
61051         gl_FUNC_CEIL. Cache the result.
61052         (gl_FUNC_CEIL): Use it.
61053
61054         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
61055         gl_FUNC_FLOORF. Cache the result.
61056         (gl_FUNC_FLOORF): Use it.
61057         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
61058         gl_FUNC_CEILF. Cache the result.
61059         (gl_FUNC_CEILF): Use it.
61060
61061 2007-10-28  Bruno Haible  <bruno@clisp.org>
61062
61063         * gnulib-tool: Allow specifying the LGPL version number through
61064         --lgpl=2 or --lgpl=3.
61065         (func_usage): Document --lgpl with argument.
61066         Handle --lgpl=... arguments.
61067         (func_import): Recognize also gl_LGPL calls with an argument. When
61068         --lgpl=2 is used and the module's license is just LGPL, report an
61069         error. Set sed_transform_lib_file according to the lgpl variable. In
61070         the generated files, use --lgpl or gl_LGPL invocations with argument,
61071         if necessary.
61072         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
61073         an LGPv2+ license.
61074         * doc/gnulib-tool.texi (Modified imports): Update explanation of
61075         gl_LGPL macro.
61076
61077 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61078             Bruno Haible  <bruno@clisp.org>
61079
61080         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
61081         (u16_uctomb_aux): Likewise.
61082         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
61083         !HAVE_INLINE.
61084         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
61085
61086 2007-10-28  Bruno Haible  <bruno@clisp.org>
61087
61088         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
61089         Invoke AM_GETTEXT_OPTION if it exists.
61090         * modules/vasprintf: Likewise.
61091         * modules/verror: Likewise.
61092         * modules/xprintf: Likewise.
61093         * modules/xvasprintf: Likewise.
61094
61095 2007-10-27  Ben Pfaff  <blp@gnu.org>
61096
61097         * lib/math.in.h: Define isfinite macro and prototypes for
61098         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
61099         implementations.
61100         * m4/math_h.m4: New substitutions for isfinite module.
61101         * lib/isfinite.c: New file.
61102         * m4/isfinite.m4: New file.
61103         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
61104         * modules/isfinite: New file.
61105         * modules/isfinite-tests: New file.
61106         * tests/tests-isfinite.c: New file.
61107         * doc/functions/isfinite.texi: Mention isfinite module.
61108         * MODULES.html.sh: Mention new module.
61109
61110 2007-10-27  Ben Pfaff  <blp@gnu.org>
61111
61112         Ralf Wildenhues reported that Tru64 4.0D declares the round
61113         functions but does not have definitions.
61114         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
61115         cannot be found in any library, set the output variable to
61116         "missing" instead of "".
61117         * m4/round.m4: Also use our substitute if we cannot find round in
61118         any library, even if it is declared.
61119         * m4/roundf.m4: Likewise for roundf.
61120         * m4/roundl.m4: Likewise for roundl.
61121         * lib/math.in.h: Undefine roundf, round, roundl before defining
61122         their replacements, to allow for hypothetical systems where these
61123         may be defined as macros but not available in libraries.
61124
61125 2007-10-27  Bruno Haible  <bruno@clisp.org>
61126
61127         * doc/gnulib.texi: Invoke @firstparagraphindent.
61128         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
61129         changes in gnulib.
61130         (Source changes): New section.
61131
61132 2007-10-26  Bruno Haible  <bruno@clisp.org>
61133
61134         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
61135         borrowed from autoconf.
61136
61137 2007-10-26  Bruno Haible  <bruno@clisp.org>
61138
61139         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
61140         strerror returned the empty string. Needed on HP-UX 11.00.
61141
61142 2007-10-24  Micah Cowan  <micah@cowan.name>
61143
61144         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
61145         * build-aux/bootstrap: Remove support for now-unnecessary option,
61146         --cvs-user, and envvars CVS_USER, CVS_RSH.
61147
61148 2007-10-24  Jim Meyering  <meyering@redhat.com>
61149
61150         Avoid diagnostics from sha1sum when there is no cached checksum.
61151         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
61152         if the po.s1 file hasn't been created yet.
61153
61154         * build-aux/bootstrap: Sync from coreutils:
61155         2007-10-24  Jim Meyering  <meyering@redhat.com>
61156         Get gnulib from the git repository, not from an obsolete cvs one.
61157         * build-aux/bootstrap: Suggestion from Micah Cowan.
61158         2007-10-04  Jim Meyering  <jim@meyering.net>
61159         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
61160         (update_po_files): Work also when there are no .po files in po/.
61161
61162 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
61163
61164         * README: Append ".git" to git and cg examples.
61165         Problem reported by Benoit Sigoure.
61166
61167 2007-10-23  Micah Cowan  <micah@cowan.name>
61168
61169         * users.txt: Add wget.
61170
61171 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61172
61173         Fix linking of some unistdio tests on FreeBSD.
61174         * modules/unistdio/u16-vsnprintf-tests
61175         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
61176         * modules/unistdio/u16-vsprintf-tests
61177         (test_u16_vsnprintf1_LDADD): Likewise.
61178         * modules/unistdio/u32-vsnprintf-tests
61179         (test_u32_vsnprintf1_LDADD): Likewise.
61180         * modules/unistdio/u32-vsprintf-tests
61181         (test_u32_vsprintf1_LDADD): Likewise.
61182         * modules/unistdio/u8-vsnprintf-tests
61183         (test_u8_vsnprintf1_LDADD): Likewise.
61184         * modules/unistdio/u8-vsprintf-tests
61185         (test_u8_vsprintf1_LDADD): Likewise.
61186         * modules/unistdio/ulc-vsnprintf-tests
61187         (test_ulc_vsnprintf1_LDADD): Likewise.
61188         * modules/unistdio/ulc-vsprintf-tests
61189         (test_ulc_vsprintf1_LDADD): Likewise.
61190
61191         Fix linking of some uniconv tests on FreeBSD.
61192         * modules/uniconv/u16-conv-from-enc-tests
61193         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
61194         * modules/uniconv/u16-conv-to-enc-tests
61195         (test_u16_conv_to_enc_LDADD): Likewise.
61196         * modules/uniconv/u16-strconv-from-enc-tests
61197         (test_u16_strconv_from_enc_LDADD): Likewise.
61198         * modules/uniconv/u16-strconv-to-enc-tests
61199         (test_u16_strconv_to_enc_LDADD): Likewise.
61200         * modules/uniconv/u32-conv-from-enc-tests
61201         (test_u32_conv_from_enc_LDADD): Likewise.
61202         * modules/uniconv/u32-conv-to-enc-tests
61203         (test_u32_conv_to_enc_LDADD): Likewise.
61204         * modules/uniconv/u32-strconv-from-enc-tests
61205         (test_u32_strconv_from_enc_LDADD): Likewise.
61206         * modules/uniconv/u32-strconv-to-enc-tests
61207         (test_u32_strconv_to_enc_LDADD): Likewise.
61208         * modules/uniconv/u8-conv-from-enc-tests
61209         (test_u8_conv_from_enc_LDADD): Likewise.
61210         * modules/uniconv/u8-conv-to-enc-tests
61211         (test_u8_conv_to_enc_LDADD): Likewise.
61212         * modules/uniconv/u8-strconv-from-enc-tests
61213         (test_u8_strconv_from_enc_LDADD): Likewise.
61214         * modules/uniconv/u8-strconv-to-enc-tests
61215         (test_u8_strconv_to_enc_LDADD): Likewise.
61216
61217 2007-10-22  Bruno Haible  <bruno@clisp.org>
61218
61219         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
61220         size.
61221
61222 2007-10-22  Eric Blake  <ebb9@byu.net>
61223
61224         Tweak x*printf documentation.
61225         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
61226         variable name and comments.
61227         Suggested by Bruno Haible.
61228
61229 2007-10-22  Bruno Haible  <bruno@clisp.org>
61230
61231         * lib/acl.c (copy_acl): Fix file name in comment.
61232
61233 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
61234
61235         Fix Tru64 problem with stdbool.h.
61236         * lib/stdbool.in.h (false, true):
61237         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
61238         Don't declare as an enum in this situation; it runs afoul of Tru64.
61239         Problem reported by Steven M. Schweda in
61240         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
61241
61242 2007-10-22  Eric Blake  <ebb9@byu.net>
61243
61244         Also wrap vf?printf.
61245         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
61246         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
61247         (xvprintf, xvfprintf): New functions.
61248
61249 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61250
61251         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
61252         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
61253
61254         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
61255         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
61256
61257 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
61258
61259         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
61260         by Bruno Haible.
61261
61262 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61263
61264         * lib/getloadavg.c
61265         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
61266         Undef `sys' after including sys/table.h, for Tru64 4.0D.
61267
61268         * tests/test-i-ring.c: Work for C89.
61269
61270 2007-10-22  Bruno Haible  <bruno@clisp.org>
61271
61272         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
61273         -1u, in preprocessor expression, so that we don't test for the bug
61274         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
61275         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
61276
61277 2007-10-22  Eric Blake  <ebb9@byu.net>
61278
61279         * tests/test-yesno.sh: Silence stderr during test.
61280
61281 2007-10-22  Simon Josefsson  <simon@josefsson.org>
61282
61283         * modules/crypto/gc-camellia: New file.
61284
61285         * m4/gc-camellia.m4: New file.
61286
61287         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
61288
61289         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
61290
61291 2007-10-22  Simon Josefsson  <simon@josefsson.org>
61292
61293         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
61294         --help to stdout.  Reported by sms@antinode.org (Steven
61295         M. Schweda).
61296
61297 2007-10-22  Simon Josefsson  <simon@josefsson.org>
61298
61299         * users.txt: Fix link to libksba.
61300
61301 2007-10-21  Ben Pfaff  <blp@gnu.org>
61302
61303         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
61304         round.c roundf implementation that depends on floorf and ceilf to
61305         be tested unconditionally.
61306
61307 2007-10-21  Ben Pfaff  <blp@gnu.org>
61308
61309         * m4/check-libm-func.m4: Removed.
61310         * m4/check-math-lib.m4: New file.
61311         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
61312         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
61313         definition and lack of AC_LIBOBJ([roundf]).
61314         * m4/roundl.m4: Ditto, and similarly for roundl.
61315         * modules/round: Reference new m4 file.
61316         * modules/roundf: Ditto.
61317         * modules/roundl: Ditto.
61318         * tests/test-round2.c (main): Use ROUND instead of round.
61319         Bug report from Bruno Haible.
61320
61321 2007-10-21  Bruno Haible  <bruno@clisp.org>
61322
61323         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
61324         context.
61325
61326 2007-10-21  Bruno Haible  <bruno@clisp.org>
61327
61328         * tests/test-wcwidth.c (main): Allow negative result for some control
61329         characters.
61330
61331         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
61332         Needed on OSF/1 5.1.
61333
61334 2007-10-21  Bruno Haible  <bruno@clisp.org>
61335
61336         * tests/test-floorf1.c: Include isnanf.h.
61337         (main): Use isnanf() instead of isnan().
61338         * tests/test-ceilf1.c: Include isnanf.h.
61339         (main): Use isnanf() instead of isnan().
61340         * tests/test-truncf1.c: Include isnanf.h.
61341         (main): Use isnanf() instead of isnan().
61342         * tests/test-roundf1.c: Include isnanf.h.
61343         (main): Use isnanf() instead of isnan().
61344
61345 2007-10-21  Eric Blake  <ebb9@byu.net>
61346
61347         * users.txt: Update URL for m4.
61348
61349 2007-10-21  Bruno Haible  <bruno@clisp.org>
61350
61351         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
61352
61353 2007-10-21  Bruno Haible  <bruno@clisp.org>
61354
61355         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
61356         Git's management files if the CVS files are not present.
61357
61358 2007-10-20  Bruno Haible  <bruno@clisp.org>
61359
61360         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
61361         gcc-3.4.x.
61362
61363 2007-10-20  Ben Pfaff  <blp@gnu.org>
61364
61365         * lib/math.in.h: Declare round, roundf, roundl if we are providing
61366         implementations.
61367         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
61368         * lib/round.c: New file.
61369         * lib/roundf.c: New file.
61370         * lib/roundl.c: New file.
61371         * m4/round.m4: New file.
61372         * m4/roundf.m4: New file.
61373         * m4/roundl.m4: New file.
61374         * m4/check-libm-func-m4: New file.
61375         * modules/math: Replace round, roundf, roundl related @VARS@ in
61376         math.in.h.
61377         * modules/round: New file.
61378         * modules/round-tests: New file.
61379         * modules/roundf: New file.
61380         * modules/roundf-tests: New file.
61381         * modules/roundl: New file.
61382         * modules/roundl-tests: New file.
61383         * tests/test-round1.c: New file.
61384         * tests/test-round2.c: New file.
61385         * tests/test-roundf1.c: New file.
61386         * tests/test-roundf2.c: New file.
61387         * tests/test-roundl.c: New file.
61388         * doc/functions/round.texi: Mention round module.
61389         * doc/functions/roundf.texi: Mention roundf module.
61390         * doc/functions/roundl.texi: Mention roundl module.
61391         * MODULES.html.sh: Mention new modules.
61392         Thanks to Bruno Haible for suggestions.
61393
61394 2007-10-20  Jim Meyering  <meyering@redhat.com>
61395
61396         * lib/xprintf.c: Include <config.h> unconditionally.
61397
61398         Change xprintf's license to GPL.
61399         * modules/xprintf (License): s/LGPL/GPL/, since this module
61400         depends on modules (exit and exitfail) which are GPL.
61401         Suggestion from Bruno Haible.
61402
61403         xprintf fixes.
61404         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
61405         Use a clearer diagnostic.
61406         Patch from Bruno Haible.
61407
61408 2007-10-20  Bruno Haible  <bruno@clisp.org>
61409
61410         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
61411         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
61412         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
61413
61414 2007-10-20  Bruno Haible  <bruno@clisp.org>
61415
61416         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
61417         precision in the comparison result > x - 1 or similar.
61418         * tests/test-ceilf2.c (correct_result_p): Likewise.
61419         * tests/test-truncf2.c (correct_result_p): Likewise.
61420         * tests/test-trunc2.c (correct_result_p): Likewise.
61421         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
61422
61423 2007-10-20  Bruno Haible  <bruno@clisp.org>
61424
61425         * modules/ceil: New file.
61426         * m4/ceil.m4: New file.
61427         * doc/functions/ceil.texi: Mention the 'ceil' module.
61428
61429 2007-10-20  Bruno Haible  <bruno@clisp.org>
61430
61431         * modules/floor: New file.
61432         * m4/floor.m4: New file.
61433         * doc/functions/floor.texi: Mention the 'floor' module.
61434
61435 2007-10-20  Bruno Haible  <bruno@clisp.org>
61436
61437         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
61438         of %a.
61439         * modules/floorf-tests (Depends-on): Likewise.
61440         * modules/truncf-tests (Depends-on): Likewise.
61441         * modules/trunc-tests (Depends-on): Likewise.
61442         Reported by Ben Pfaff.
61443
61444 2007-10-19  Jim Meyering  <meyering@redhat.com>
61445
61446         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
61447         Don't bother testing specific errno values.  Just test ferror.
61448
61449         New module: xprintf
61450         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
61451
61452 2007-10-19  Bruno Haible  <bruno@clisp.org>
61453
61454         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
61455         syntax.
61456         * modules/javaexec (Makefile.am): Likewise.
61457         * modules/relocatable-prog (Makefile.am): Likewise.
61458         Suggested by Jim Meyering.
61459
61460 2007-10-18  Bruno Haible  <bruno@clisp.org>
61461
61462         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
61463         Reported by Jim Meyering.
61464
61465 2007-10-18  Eric Blake  <ebb9@byu.net>
61466
61467         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
61468
61469 2007-10-18  Bruno Haible  <bruno@clisp.org>
61470
61471         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
61472         the format string into writable memory. Needed in Fortify conditions.
61473
61474 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
61475             Bruno Haible  <bruno@clisp.org>
61476
61477         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
61478         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
61479         * modules/trim (Depends-on): Add mbchar.
61480         (configure.ac): Add gl_FUNC_MBRTOWC.
61481         (Makefile.am): Augment lib_SOURCES.
61482
61483 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
61484
61485         Modify glob.c to use fstatat and dirfd, to simplify it.
61486         Suggested by Eric Blake.
61487         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
61488         Don't include <stdbool.h>; not used.
61489         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
61490         (link_exists_p): Simplify implementation, since we can now assume
61491         dirfd and fstatat.
61492         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
61493
61494 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61495
61496         * gnulib-tool (func_get_dependencies): Fix sed script to
61497         match only tests.
61498
61499 2007-10-17  Bruno Haible  <bruno@clisp.org>
61500
61501         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
61502         allow locale names without encoding suffix.
61503         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
61504         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
61505
61506 2007-10-16  Bruno Haible  <bruno@clisp.org>
61507
61508         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
61509         * lib/getgroups.c (getgroups): Likewise.
61510         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
61511
61512 2007-10-16  Bruno Haible  <bruno@clisp.org>
61513
61514         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
61515         * modules/malloc-posix (License): Likewise.
61516         * modules/realloc-posix (License): Likewise.
61517         * modules/calloc-posix (License): Likewise.
61518         * modules/intprops (License): Change from GPL to LGPL, with
61519         Paul Eggert's approval.
61520
61521 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
61522
61523         Merge glibc changes into lib/glob.c.
61524
61525         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
61526         2007-10-15 04:59:03 UTC.  Here are the changes:
61527
61528         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
61529
61530         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
61531
61532         * lib/glob.c: Add some branch prediction throughout.
61533
61534         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
61535
61536         [BZ #5103]
61537         * lib/glob.c (glob): Recognize patterns starting \/.
61538
61539         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
61540
61541         [BZ #3996]
61542         * lib/glob.c (attribute_hidden): Define if not defined.
61543         (glob): Unescape dirname, filename or username when needed and not
61544         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
61545         is NULL.  Handle unescaped [ in pattern without closing ].
61546         Don't pass GLOB_CHECK down to recursive glob for directories.
61547         (__glob_pattern_type): New function.
61548         (__glob_pattern_p): Implement using __glob_pattern_type.
61549         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
61550         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
61551         Remove unreachable code.
61552
61553         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
61554
61555         * lib/glob.c (glob_in_dir): Add some comments and asserts to
61556         explain why there are no leaks.
61557
61558         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
61559
61560         [BZ #3253]
61561         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
61562         time, rather allocate increasingly bigger arrays of pointers, if
61563         possible with alloca, if too large with malloc.
61564
61565 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
61566
61567         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
61568         Problem reported by H.Merijn Brand in
61569         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
61570         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
61571         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
61572
61573 2007-10-15  Bruno Haible  <bruno@clisp.org>
61574
61575         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
61576         with explicit rpl_ prefix.
61577         * lib/fopen.c (fopen): Likewise.
61578         * lib/freopen.c (freopen): Likewise.
61579         * lib/iconv.c (iconv): Likewise.
61580         * lib/iconv_close.c (iconv_close): Likewise.
61581
61582 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61583
61584         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
61585
61586 2007-10-15  Bruno Haible  <bruno@clisp.org>
61587
61588         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
61589         <stddef.h> instead of <stdlib.h> since we only need NULL.
61590         Reported by Ben Pfaff <blp@cs.stanford.edu>.
61591
61592 2007-10-15  Bruno Haible  <bruno@clisp.org>
61593
61594         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
61595         Replace paragraph talking about LIBOBJS.
61596         Reported by Colin Watson <cjwatson@debian.org>.
61597
61598 2007-10-15  Bruno Haible  <bruno@clisp.org>
61599
61600         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
61601         <stdlib.h> before using NULL.
61602
61603 2007-10-15  Simon Josefsson  <simon@josefsson.org>
61604
61605         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
61606         Reported by Albert Chin <china@thewrittenword.com>.
61607
61608 2007-10-14  Bruno Haible  <bruno@clisp.org>
61609
61610         * modules/iconv_open-utf-tests: New file.
61611         * tests/test-iconv-utf.c: New file.
61612
61613         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
61614         * modules/iconv_open-utf: New file.
61615         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
61616         (iconv, iconv_close): New declarations.
61617         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
61618         be defined.
61619         (iconv_open): Add special handling of conversion between UTF-8 and
61620         UTF-{16,32}{BE,LE}.
61621         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
61622         * lib/iconv_close.c: New file.
61623         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
61624         gl_FUNC_ICONV_OPEN.
61625         (gl_FUNC_ICONV_OPEN): Use it.
61626         (gl_FUNC_ICONV_OPEN_UTF): New macro.
61627         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
61628         and REPLACE_ICONV_UTF.
61629         * modules/iconv_open (Depends-on): Add c-strcase.
61630         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
61631         ICONV_CONST.
61632         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
61633
61634 2007-10-13  Albert Chin  <china@thewrittenword.com>
61635             Bruno Haible  <bruno@clisp.org>
61636
61637         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
61638         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
61639
61640 2007-10-13  Bruno Haible  <bruno@clisp.org>
61641
61642         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
61643         defined, use the ISO C99 inline semantics.
61644         * lib/argp.h (ARGP_EI): Likewise.
61645
61646 2007-10-13  Bruno Haible  <bruno@clisp.org>
61647
61648         Handle 'inline' change in gcc 4.3.0.
61649         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
61650         argp_fmtstream_write, argp_fmtstream_set_lmargin,
61651         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
61652         argp_fmtstream_point): Disable 'extern' declaration if the function
61653         definition is going to be provided inline.
61654         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
61655         semantics, not the ISO C99 inline semantics.
61656         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
61657         'extern' declaration if the function definition is going to be provided
61658         inline.
61659         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
61660         the GNU C inline semantics, not the ISO C99 inline semantics. With
61661         GCC 4.2, avoid a warning.
61662
61663 2007-10-13  Bruno Haible  <bruno@clisp.org>
61664
61665         * lib/freading.h (freading): Enable the use of __freading for
61666         glibc >= 2.7.
61667         * lib/freading.c (freading): Likewise.
61668
61669 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
61670
61671         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
61672         "warning: C99 inline functions are not supported; using GNU89".
61673
61674 2007-10-12  Bruno Haible  <bruno@clisp.org>
61675
61676         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
61677         of 2.
61678         * tests/test-ceilf2.c: New file.
61679         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
61680
61681         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
61682         * modules/ceilf-tests: Update.
61683
61684 2007-10-12  Bruno Haible  <bruno@clisp.org>
61685
61686         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
61687         of 2.
61688         * tests/test-floorf2.c: New file.
61689         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
61690
61691         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
61692         * modules/floorf-tests: Update.
61693
61694 2007-10-12  Bruno Haible  <bruno@clisp.org>
61695
61696         * tests/test-trunc2.c: New file.
61697         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
61698
61699         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
61700         * modules/trunc-tests: Update.
61701
61702 2007-10-12  Bruno Haible  <bruno@clisp.org>
61703
61704         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
61705         of 2.
61706         * tests/test-truncf2.c: New file.
61707         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
61708
61709         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
61710         * modules/truncf-tests: Update.
61711
61712 2007-10-11  Eric Blake  <ebb9@byu.net>
61713
61714         Don't claim strerror is broken on Interix.
61715         * doc/functions/strerror.texi (strerror): Known broken systems are
61716         now Solaris 8, and not Interix.
61717         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
61718         Interix on cross-compile.
61719         Reported by Martin Koeppe in
61720         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
61721
61722 2007-10-11  Bruno Haible  <bruno@clisp.org>
61723
61724         * modules/i-ring-tests: New file.
61725         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
61726         instead of assert.
61727
61728 2007-10-11  Bruno Haible  <bruno@clisp.org>
61729
61730         * modules/filenamecat-tests: New file.
61731         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
61732         * lib/filenamecat.c: Remove test code.
61733
61734 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
61735
61736         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
61737
61738         * lib/strerror.c: Include <string.h> always, to test interface,
61739         and to remove the need for the dummy.
61740         Include intprops.h to compute width instead of doing it ourselves
61741         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
61742         (strerror): Define it to return NULL if there's no system strerror.
61743         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
61744         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
61745         ancient pre-strerror Unix systems well any more.  Saying "unknown
61746         system error" is enough.
61747         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
61748         simpler strerror.c implementation.
61749         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
61750         Simplify the tests to reflect the simpler strerror implementation.
61751         * modules/strerror (Depends-on): Add intprops.
61752
61753 2007-10-09  Eric Blake  <ebb9@byu.net>
61754
61755         Silence test-fpending.
61756         * modules/fpending-tests (Files): Add wrapper script.
61757         * tests/test-fpending.sh: New file.
61758
61759 2007-10-09  Bruno Haible  <bruno@clisp.org>
61760
61761         * MODULES.html.sh (func_module): Don't create a hyperlink for
61762         function names like 'printf_frexp'.
61763         (Misc): Add crc, memxor.
61764         (Characteristics of floating types): New section.
61765         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
61766         isnanf-nolibm, signbit, trunc, truncf, truncl.
61767         (Enhancements for ISO C 99 functions): New subsection Input/output.
61768         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
61769         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
61770         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
61771         (Compatibility checks for POSIX:2001 functions): Add clock-time.
61772         (Enhancements for POSIX:2001 functions): Add chdir-long.
61773         (File system functions): Add areadlink, chdir-safer, read-file.
61774         Remove cycle-check.
61775         (File system as inode set): New section.
61776         (Date and time): Add gethrxtime.
61777         (Multithreading): Add openmp.
61778         (Internationalization functions): Add localename.
61779         (Unicode string functions): Add unistr/u*-mbsnlen.
61780         (Support for maintaining and releasing projects): Add git-version-gen.
61781         (Lone files): Remove directories.
61782
61783 2007-10-08  Ben Pfaff  <blp@gnu.org>
61784
61785         * lib/xmalloca.h: Fix typo in comment.
61786
61787 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
61788
61789         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
61790         when avoiding problems with integer overflow.  Use a portable test
61791         instead.
61792
61793 2007-10-08  Simon Josefsson  <simon@josefsson.org>
61794
61795         * modules/dummy (License): Change to LGPLv2+.
61796         * modules/float (License): Likewise
61797         * modules/realloc (License): Likewise
61798         * modules/stdlib (License): Likewise
61799
61800 2007-10-07  Bruno Haible  <bruno@clisp.org>
61801
61802         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
61803         * floor.c (TWO_MANT_DIG): Likewise.
61804         * ceil.c (TWO_MANT_DIG): Likewise.
61805         Reported by Ben Pfaff.
61806
61807 2007-10-07  Bruno Haible  <bruno@clisp.org>
61808
61809         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
61810         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
61811         * lib/frexp.c (FUNC): Likewise.
61812         * lib/printf-frexp.h (printf_frexp): Likewise.
61813         * lib/printf-frexpl.h (printf_frexpl): Likewise.
61814         * lib/printf-frexp.c (FUNC): Likewise.
61815         Suggested by Jim Meyering.
61816
61817 2007-10-07  Jim Meyering  <meyering@redhat.com>
61818
61819         Make xnanosleep's integer overflow test more robust.
61820         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
61821         so that gcc-4.3.0 doesn't optimize away this test for overflow.
61822
61823 2007-10-07  Bruno Haible  <bruno@clisp.org>
61824
61825         * NEWS: Mention the license change.
61826
61827         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
61828         abbreviations in the modules files.
61829
61830         Change copyright notice from GPLv2+ to GPLv3+.
61831         * README: Change copyright notice.
61832         * MODULES.html.sh: Likewise.
61833         * build-aux/bootstrap.conf: Likewise.
61834         * build-aux/config.libpath: Likewise.
61835         * build-aux/csharpcomp.sh.in: Likewise.
61836         * build-aux/csharpexec.sh.in: Likewise.
61837         * build-aux/install-reloc: Likewise.
61838         * build-aux/javacomp.sh.in: Likewise.
61839         * build-aux/javaexec.sh.in: Likewise.
61840         * build-aux/ldd.sh.in: Likewise.
61841         * build-aux/reloc-ldflags: Likewise.
61842         * build-aux/relocatable.sh.in: Likewise.
61843         * build-aux/x-to-1.in: Likewise.
61844         * check-module: Likewise.
61845         * config/srclistvars.sh: Likewise.
61846         * gnulib-tool: Likewise.
61847         * lib/acl-internal.h: Likewise.
61848         * lib/acl.c: Likewise.
61849         * lib/acl.h: Likewise.
61850         * lib/acl_entries.c: Likewise.
61851         * lib/areadlink-with-size.c: Likewise.
61852         * lib/areadlink.c: Likewise.
61853         * lib/areadlink.h: Likewise.
61854         * lib/argmatch.c: Likewise.
61855         * lib/argmatch.h: Likewise.
61856         * lib/argp-ba.c: Likewise.
61857         * lib/argp-eexst.c: Likewise.
61858         * lib/argp-fmtstream.c: Likewise.
61859         * lib/argp-fmtstream.h: Likewise.
61860         * lib/argp-fs-xinl.c: Likewise.
61861         * lib/argp-help.c: Likewise.
61862         * lib/argp-namefrob.h: Likewise.
61863         * lib/argp-parse.c: Likewise.
61864         * lib/argp-pin.c: Likewise.
61865         * lib/argp-pv.c: Likewise.
61866         * lib/argp-pvh.c: Likewise.
61867         * lib/argp-xinl.c: Likewise.
61868         * lib/argp.h: Likewise.
61869         * lib/at-func.c: Likewise.
61870         * lib/atanl.c: Likewise.
61871         * lib/backupfile.c: Likewise.
61872         * lib/backupfile.h: Likewise.
61873         * lib/basename.c: Likewise.
61874         * lib/binary-io.h: Likewise.
61875         * lib/byteswap.in.h: Likewise.
61876         * lib/c-stack.c: Likewise.
61877         * lib/c-stack.h: Likewise.
61878         * lib/c-strcasestr.c: Likewise.
61879         * lib/c-strcasestr.h: Likewise.
61880         * lib/c-strstr.c: Likewise.
61881         * lib/c-strstr.h: Likewise.
61882         * lib/c-strtod.c: Likewise.
61883         * lib/calloc.c: Likewise.
61884         * lib/canon-host.c: Likewise.
61885         * lib/canon-host.h: Likewise.
61886         * lib/canonicalize-lgpl.c: Likewise.
61887         * lib/canonicalize.c: Likewise.
61888         * lib/canonicalize.h: Likewise.
61889         * lib/ceil.c: Likewise.
61890         * lib/ceilf.c: Likewise.
61891         * lib/ceill.c: Likewise.
61892         * lib/chdir-long.c: Likewise.
61893         * lib/chdir-long.h: Likewise.
61894         * lib/chdir-safer.c: Likewise.
61895         * lib/chdir-safer.h: Likewise.
61896         * lib/chown.c: Likewise.
61897         * lib/classpath.c: Likewise.
61898         * lib/classpath.h: Likewise.
61899         * lib/clean-temp.c: Likewise.
61900         * lib/clean-temp.h: Likewise.
61901         * lib/cloexec.c: Likewise.
61902         * lib/close-stream.c: Likewise.
61903         * lib/closein.c: Likewise.
61904         * lib/closein.h: Likewise.
61905         * lib/closeout.c: Likewise.
61906         * lib/closeout.h: Likewise.
61907         * lib/concat-filename.c: Likewise.
61908         * lib/copy-file.c: Likewise.
61909         * lib/copy-file.h: Likewise.
61910         * lib/count-one-bits.h: Likewise.
61911         * lib/crc.c: Likewise.
61912         * lib/crc.h: Likewise.
61913         * lib/creat-safer.c: Likewise.
61914         * lib/csharpcomp.c: Likewise.
61915         * lib/csharpcomp.h: Likewise.
61916         * lib/csharpexec.c: Likewise.
61917         * lib/csharpexec.h: Likewise.
61918         * lib/cycle-check.c: Likewise.
61919         * lib/cycle-check.h: Likewise.
61920         * lib/diacrit.c: Likewise.
61921         * lib/diacrit.h: Likewise.
61922         * lib/diffseq.h: Likewise.
61923         * lib/dirchownmod.c: Likewise.
61924         * lib/dirent.in.h: Likewise.
61925         * lib/dirfd.c: Likewise.
61926         * lib/dirfd.h: Likewise.
61927         * lib/dirname.c: Likewise.
61928         * lib/dirname.h: Likewise.
61929         * lib/dummy.c: Likewise.
61930         * lib/dup-safer.c: Likewise.
61931         * lib/dup2.c: Likewise.
61932         * lib/eealloc.h: Likewise.
61933         * lib/error.c: Likewise.
61934         * lib/error.h: Likewise.
61935         * lib/euidaccess.c: Likewise.
61936         * lib/exclude.c: Likewise.
61937         * lib/exclude.h: Likewise.
61938         * lib/execute.c: Likewise.
61939         * lib/execute.h: Likewise.
61940         * lib/exitfail.c: Likewise.
61941         * lib/exitfail.h: Likewise.
61942         * lib/expl.c: Likewise.
61943         * lib/fatal-signal.c: Likewise.
61944         * lib/fatal-signal.h: Likewise.
61945         * lib/fbufmode.c: Likewise.
61946         * lib/fbufmode.h: Likewise.
61947         * lib/fchdir.c: Likewise.
61948         * lib/fchmodat.c: Likewise.
61949         * lib/fchownat.c: Likewise.
61950         * lib/fcntl--.h: Likewise.
61951         * lib/fcntl-safer.h: Likewise.
61952         * lib/fcntl.in.h: Likewise.
61953         * lib/fd-safer.c: Likewise.
61954         * lib/fflush.c: Likewise.
61955         * lib/file-has-acl.c: Likewise.
61956         * lib/file-set.c: Likewise.
61957         * lib/file-type.c: Likewise.
61958         * lib/file-type.h: Likewise.
61959         * lib/fileblocks.c: Likewise.
61960         * lib/filemode.c: Likewise.
61961         * lib/filemode.h: Likewise.
61962         * lib/filename.h: Likewise.
61963         * lib/filenamecat.c: Likewise.
61964         * lib/filenamecat.h: Likewise.
61965         * lib/findprog.c: Likewise.
61966         * lib/findprog.h: Likewise.
61967         * lib/float.in.h: Likewise.
61968         * lib/floor.c: Likewise.
61969         * lib/floorf.c: Likewise.
61970         * lib/floorl.c: Likewise.
61971         * lib/fopen-safer.c: Likewise.
61972         * lib/fopen.c: Likewise.
61973         * lib/fpending.c: Likewise.
61974         * lib/fpending.h: Likewise.
61975         * lib/fprintf.c: Likewise.
61976         * lib/fprintftime.h: Likewise.
61977         * lib/fpucw.h: Likewise.
61978         * lib/fpurge.c: Likewise.
61979         * lib/fpurge.h: Likewise.
61980         * lib/freadable.c: Likewise.
61981         * lib/freadable.h: Likewise.
61982         * lib/freadahead.c: Likewise.
61983         * lib/freadahead.h: Likewise.
61984         * lib/freading.c: Likewise.
61985         * lib/freading.h: Likewise.
61986         * lib/free.c: Likewise.
61987         * lib/freopen.c: Likewise.
61988         * lib/frexp.c: Likewise.
61989         * lib/frexpl.c: Likewise.
61990         * lib/fseek.c: Likewise.
61991         * lib/fseterr.c: Likewise.
61992         * lib/fseterr.h: Likewise.
61993         * lib/fstatat.c: Likewise.
61994         * lib/fstrcmp.c: Likewise.
61995         * lib/fstrcmp.h: Likewise.
61996         * lib/fsusage.c: Likewise.
61997         * lib/fsusage.h: Likewise.
61998         * lib/ftell.c: Likewise.
61999         * lib/ftello.c: Likewise.
62000         * lib/fts-cycle.c: Likewise.
62001         * lib/fts.c: Likewise.
62002         * lib/fts_.h: Likewise.
62003         * lib/full-read.c: Likewise.
62004         * lib/full-read.h: Likewise.
62005         * lib/full-write.c: Likewise.
62006         * lib/full-write.h: Likewise.
62007         * lib/fwritable.c: Likewise.
62008         * lib/fwritable.h: Likewise.
62009         * lib/fwriteerror.c: Likewise.
62010         * lib/fwriteerror.h: Likewise.
62011         * lib/fwriting.c: Likewise.
62012         * lib/fwriting.h: Likewise.
62013         * lib/gcd.c: Likewise.
62014         * lib/gcd.h: Likewise.
62015         * lib/getcwd.c: Likewise.
62016         * lib/getdate.h: Likewise.
62017         * lib/getdate.y: Likewise.
62018         * lib/getdomainname.c: Likewise.
62019         * lib/getdomainname.h: Likewise.
62020         * lib/getgroups.c: Likewise.
62021         * lib/gethostname.c: Likewise.
62022         * lib/gethrxtime.c: Likewise.
62023         * lib/gethrxtime.h: Likewise.
62024         * lib/getloadavg.c: Likewise.
62025         * lib/getndelim2.c: Likewise.
62026         * lib/getndelim2.h: Likewise.
62027         * lib/getnline.c: Likewise.
62028         * lib/getnline.h: Likewise.
62029         * lib/getopt.c: Likewise.
62030         * lib/getopt.in.h: Likewise.
62031         * lib/getopt1.c: Likewise.
62032         * lib/getopt_int.h: Likewise.
62033         * lib/getpagesize.h: Likewise.
62034         * lib/getsubopt.c: Likewise.
62035         * lib/gettime.c: Likewise.
62036         * lib/getugroups.c: Likewise.
62037         * lib/getugroups.h: Likewise.
62038         * lib/getusershell.c: Likewise.
62039         * lib/gl_anyavltree_list1.h: Likewise.
62040         * lib/gl_anyavltree_list2.h: Likewise.
62041         * lib/gl_anyhash_list1.h: Likewise.
62042         * lib/gl_anyhash_list2.h: Likewise.
62043         * lib/gl_anylinked_list1.h: Likewise.
62044         * lib/gl_anylinked_list2.h: Likewise.
62045         * lib/gl_anyrbtree_list1.h: Likewise.
62046         * lib/gl_anyrbtree_list2.h: Likewise.
62047         * lib/gl_anytree_list1.h: Likewise.
62048         * lib/gl_anytree_list2.h: Likewise.
62049         * lib/gl_anytree_oset.h: Likewise.
62050         * lib/gl_anytreehash_list1.h: Likewise.
62051         * lib/gl_anytreehash_list2.h: Likewise.
62052         * lib/gl_array_list.c: Likewise.
62053         * lib/gl_array_list.h: Likewise.
62054         * lib/gl_array_oset.c: Likewise.
62055         * lib/gl_array_oset.h: Likewise.
62056         * lib/gl_avltree_list.c: Likewise.
62057         * lib/gl_avltree_list.h: Likewise.
62058         * lib/gl_avltree_oset.c: Likewise.
62059         * lib/gl_avltree_oset.h: Likewise.
62060         * lib/gl_avltreehash_list.c: Likewise.
62061         * lib/gl_avltreehash_list.h: Likewise.
62062         * lib/gl_carray_list.c: Likewise.
62063         * lib/gl_carray_list.h: Likewise.
62064         * lib/gl_linked_list.c: Likewise.
62065         * lib/gl_linked_list.h: Likewise.
62066         * lib/gl_linkedhash_list.c: Likewise.
62067         * lib/gl_linkedhash_list.h: Likewise.
62068         * lib/gl_list.c: Likewise.
62069         * lib/gl_list.h: Likewise.
62070         * lib/gl_oset.c: Likewise.
62071         * lib/gl_oset.h: Likewise.
62072         * lib/gl_rbtree_list.c: Likewise.
62073         * lib/gl_rbtree_list.h: Likewise.
62074         * lib/gl_rbtree_oset.c: Likewise.
62075         * lib/gl_rbtree_oset.h: Likewise.
62076         * lib/gl_rbtreehash_list.c: Likewise.
62077         * lib/gl_rbtreehash_list.h: Likewise.
62078         * lib/gl_sublist.c: Likewise.
62079         * lib/gl_sublist.h: Likewise.
62080         * lib/group-member.c: Likewise.
62081         * lib/group-member.h: Likewise.
62082         * lib/hard-locale.c: Likewise.
62083         * lib/hard-locale.h: Likewise.
62084         * lib/hash-pjw.c: Likewise.
62085         * lib/hash-pjw.h: Likewise.
62086         * lib/hash-triple.c: Likewise.
62087         * lib/hash.c: Likewise.
62088         * lib/hash.h: Likewise.
62089         * lib/human.c: Likewise.
62090         * lib/human.h: Likewise.
62091         * lib/i-ring.c: Likewise.
62092         * lib/i-ring.h: Likewise.
62093         * lib/idcache.c: Likewise.
62094         * lib/imaxabs.c: Likewise.
62095         * lib/imaxdiv.c: Likewise.
62096         * lib/inet_pton.c: Likewise.
62097         * lib/inet_pton.h: Likewise.
62098         * lib/intprops.h: Likewise.
62099         * lib/inttostr.c: Likewise.
62100         * lib/inttostr.h: Likewise.
62101         * lib/inttypes.in.h: Likewise.
62102         * lib/isapipe.c: Likewise.
62103         * lib/isdir.c: Likewise.
62104         * lib/isnan.c: Likewise.
62105         * lib/isnan.h: Likewise.
62106         * lib/isnanf.c: Likewise.
62107         * lib/isnanf.h: Likewise.
62108         * lib/isnanl-nolibm.h: Likewise.
62109         * lib/isnanl.c: Likewise.
62110         * lib/isnanl.h: Likewise.
62111         * lib/javacomp.c: Likewise.
62112         * lib/javacomp.h: Likewise.
62113         * lib/javaexec.c: Likewise.
62114         * lib/javaexec.h: Likewise.
62115         * lib/javaversion.c: Likewise.
62116         * lib/javaversion.h: Likewise.
62117         * lib/javaversion.java: Likewise.
62118         * lib/lbrkprop.h: Likewise.
62119         * lib/lchmod.h: Likewise.
62120         * lib/lchown.c: Likewise.
62121         * lib/ldexpl.c: Likewise.
62122         * lib/linebreak.c: Likewise.
62123         * lib/linebreak.h: Likewise.
62124         * lib/linebuffer.c: Likewise.
62125         * lib/linebuffer.h: Likewise.
62126         * lib/locale.in.h: Likewise.
62127         * lib/logl.c: Likewise.
62128         * lib/long-options.c: Likewise.
62129         * lib/long-options.h: Likewise.
62130         * lib/lstat.c: Likewise.
62131         * lib/lstat.h: Likewise.
62132         * lib/math.in.h: Likewise.
62133         * lib/mbchar.c: Likewise.
62134         * lib/mbchar.h: Likewise.
62135         * lib/mbfile.h: Likewise.
62136         * lib/mbiter.h: Likewise.
62137         * lib/mbscasecmp.c: Likewise.
62138         * lib/mbscasestr.c: Likewise.
62139         * lib/mbschr.c: Likewise.
62140         * lib/mbscspn.c: Likewise.
62141         * lib/mbslen.c: Likewise.
62142         * lib/mbsncasecmp.c: Likewise.
62143         * lib/mbsnlen.c: Likewise.
62144         * lib/mbspbrk.c: Likewise.
62145         * lib/mbspcasecmp.c: Likewise.
62146         * lib/mbsrchr.c: Likewise.
62147         * lib/mbssep.c: Likewise.
62148         * lib/mbsspn.c: Likewise.
62149         * lib/mbsstr.c: Likewise.
62150         * lib/mbstok_r.c: Likewise.
62151         * lib/mbswidth.c: Likewise.
62152         * lib/mbswidth.h: Likewise.
62153         * lib/mbuiter.h: Likewise.
62154         * lib/memcasecmp.c: Likewise.
62155         * lib/memcasecmp.h: Likewise.
62156         * lib/memchr.c: Likewise.
62157         * lib/memcmp.c: Likewise.
62158         * lib/memcoll.c: Likewise.
62159         * lib/memcoll.h: Likewise.
62160         * lib/memcpy.c: Likewise.
62161         * lib/memrchr.c: Likewise.
62162         * lib/mkancesdirs.c: Likewise.
62163         * lib/mkdir-p.c: Likewise.
62164         * lib/mkdir-p.h: Likewise.
62165         * lib/mkdir.c: Likewise.
62166         * lib/mkdirat.c: Likewise.
62167         * lib/mkdtemp.c: Likewise.
62168         * lib/mkstemp-safer.c: Likewise.
62169         * lib/mkstemp.c: Likewise.
62170         * lib/modechange.c: Likewise.
62171         * lib/modechange.h: Likewise.
62172         * lib/mountlist.c: Likewise.
62173         * lib/mountlist.h: Likewise.
62174         * lib/mpsort.c: Likewise.
62175         * lib/nanosleep.c: Likewise.
62176         * lib/obstack.c: Likewise.
62177         * lib/obstack.h: Likewise.
62178         * lib/open-safer.c: Likewise.
62179         * lib/open.c: Likewise.
62180         * lib/openat-die.c: Likewise.
62181         * lib/openat-priv.h: Likewise.
62182         * lib/openat-proc.c: Likewise.
62183         * lib/openat.c: Likewise.
62184         * lib/openat.h: Likewise.
62185         * lib/pagealign_alloc.c: Likewise.
62186         * lib/pagealign_alloc.h: Likewise.
62187         * lib/physmem.c: Likewise.
62188         * lib/physmem.h: Likewise.
62189         * lib/pipe-safer.c: Likewise.
62190         * lib/pipe.c: Likewise.
62191         * lib/pipe.h: Likewise.
62192         * lib/posixtm.c: Likewise.
62193         * lib/posixtm.h: Likewise.
62194         * lib/posixver.c: Likewise.
62195         * lib/printf-frexp.c: Likewise.
62196         * lib/printf-frexp.h: Likewise.
62197         * lib/printf-frexpl.c: Likewise.
62198         * lib/printf-frexpl.h: Likewise.
62199         * lib/printf.c: Likewise.
62200         * lib/progname.c: Likewise.
62201         * lib/progname.h: Likewise.
62202         * lib/progreloc.c: Likewise.
62203         * lib/putenv.c: Likewise.
62204         * lib/quote.c: Likewise.
62205         * lib/quote.h: Likewise.
62206         * lib/quotearg.c: Likewise.
62207         * lib/quotearg.h: Likewise.
62208         * lib/raise.c: Likewise.
62209         * lib/readline.c: Likewise.
62210         * lib/readline.h: Likewise.
62211         * lib/readlink.c: Likewise.
62212         * lib/readtokens.c: Likewise.
62213         * lib/readtokens.h: Likewise.
62214         * lib/readtokens0.c: Likewise.
62215         * lib/readtokens0.h: Likewise.
62216         * lib/readutmp.c: Likewise.
62217         * lib/readutmp.h: Likewise.
62218         * lib/realloc.c: Likewise.
62219         * lib/relocwrapper.c: Likewise.
62220         * lib/rename-dest-slash.c: Likewise.
62221         * lib/rename.c: Likewise.
62222         * lib/rmdir.c: Likewise.
62223         * lib/rpmatch.c: Likewise.
62224         * lib/safe-read.c: Likewise.
62225         * lib/safe-read.h: Likewise.
62226         * lib/safe-write.c: Likewise.
62227         * lib/safe-write.h: Likewise.
62228         * lib/same-inode.h: Likewise.
62229         * lib/same.c: Likewise.
62230         * lib/same.h: Likewise.
62231         * lib/save-cwd.c: Likewise.
62232         * lib/save-cwd.h: Likewise.
62233         * lib/savedir.c: Likewise.
62234         * lib/savedir.h: Likewise.
62235         * lib/savewd.c: Likewise.
62236         * lib/savewd.h: Likewise.
62237         * lib/search.in.h: Likewise.
62238         * lib/setenv.c: Likewise.
62239         * lib/setenv.h: Likewise.
62240         * lib/settime.c: Likewise.
62241         * lib/sh-quote.c: Likewise.
62242         * lib/sh-quote.h: Likewise.
62243         * lib/sig2str.c: Likewise.
62244         * lib/sig2str.h: Likewise.
62245         * lib/signal.in.h: Likewise.
62246         * lib/signbitd.c: Likewise.
62247         * lib/signbitf.c: Likewise.
62248         * lib/signbitl.c: Likewise.
62249         * lib/sigprocmask.c: Likewise.
62250         * lib/sincosl.c: Likewise.
62251         * lib/sleep.c: Likewise.
62252         * lib/sprintf.c: Likewise.
62253         * lib/sqrtl.c: Likewise.
62254         * lib/stat-time.h: Likewise.
62255         * lib/stdio--.h: Likewise.
62256         * lib/stdio-safer.h: Likewise.
62257         * lib/stdlib--.h: Likewise.
62258         * lib/stdlib-safer.h: Likewise.
62259         * lib/stdlib.in.h: Likewise.
62260         * lib/stpcpy.c: Likewise.
62261         * lib/stpncpy.c: Likewise.
62262         * lib/strchrnul.c: Likewise.
62263         * lib/strcspn.c: Likewise.
62264         * lib/strerror.c: Likewise.
62265         * lib/strftime.c: Likewise.
62266         * lib/strftime.h: Likewise.
62267         * lib/striconveh.c: Likewise.
62268         * lib/striconveh.h: Likewise.
62269         * lib/striconveha.c: Likewise.
62270         * lib/striconveha.h: Likewise.
62271         * lib/stripslash.c: Likewise.
62272         * lib/strnlen1.c: Likewise.
62273         * lib/strnlen1.h: Likewise.
62274         * lib/strtod.c: Likewise.
62275         * lib/strtoimax.c: Likewise.
62276         * lib/strtok_r.c: Likewise.
62277         * lib/strtol.c: Likewise.
62278         * lib/strtoll.c: Likewise.
62279         * lib/strtoul.c: Likewise.
62280         * lib/strtoull.c: Likewise.
62281         * lib/sysexits.in.h: Likewise.
62282         * lib/tempname.c: Likewise.
62283         * lib/tempname.h: Likewise.
62284         * lib/timespec.h: Likewise.
62285         * lib/tls.c: Likewise.
62286         * lib/tls.h: Likewise.
62287         * lib/tmpdir.c: Likewise.
62288         * lib/tmpdir.h: Likewise.
62289         * lib/tmpfile-safer.c: Likewise.
62290         * lib/tmpfile.c: Likewise.
62291         * lib/trigl.c: Likewise.
62292         * lib/trigl.h: Likewise.
62293         * lib/trim.c: Likewise.
62294         * lib/trim.h: Likewise.
62295         * lib/trunc.c: Likewise.
62296         * lib/truncf.c: Likewise.
62297         * lib/truncl.c: Likewise.
62298         * lib/tsearch.c: Likewise.
62299         * lib/unicodeio.c: Likewise.
62300         * lib/unicodeio.h: Likewise.
62301         * lib/unistd--.h: Likewise.
62302         * lib/unistd-safer.h: Likewise.
62303         * lib/unistdio/ulc-fprintf.c: Likewise.
62304         * lib/unistdio/ulc-vfprintf.c: Likewise.
62305         * lib/unlinkdir.c: Likewise.
62306         * lib/unlinkdir.h: Likewise.
62307         * lib/unlocked-io.h: Likewise.
62308         * lib/unsetenv.c: Likewise.
62309         * lib/userspec.c: Likewise.
62310         * lib/utime.c: Likewise.
62311         * lib/utimecmp.c: Likewise.
62312         * lib/utimecmp.h: Likewise.
62313         * lib/utimens.c: Likewise.
62314         * lib/verify.h: Likewise.
62315         * lib/verror.c: Likewise.
62316         * lib/verror.h: Likewise.
62317         * lib/version-etc-fsf.c: Likewise.
62318         * lib/version-etc.c: Likewise.
62319         * lib/version-etc.h: Likewise.
62320         * lib/vfprintf.c: Likewise.
62321         * lib/vprintf.c: Likewise.
62322         * lib/vsprintf.c: Likewise.
62323         * lib/w32spawn.h: Likewise.
62324         * lib/wait-process.c: Likewise.
62325         * lib/wait-process.h: Likewise.
62326         * lib/wcwidth.c: Likewise.
62327         * lib/write-any-file.c: Likewise.
62328         * lib/xalloc-die.c: Likewise.
62329         * lib/xalloc.h: Likewise.
62330         * lib/xasprintf.c: Likewise.
62331         * lib/xgetcwd.c: Likewise.
62332         * lib/xgetcwd.h: Likewise.
62333         * lib/xgetdomainname.c: Likewise.
62334         * lib/xgetdomainname.h: Likewise.
62335         * lib/xgethostname.c: Likewise.
62336         * lib/xmalloc.c: Likewise.
62337         * lib/xmalloca.c: Likewise.
62338         * lib/xmalloca.h: Likewise.
62339         * lib/xmemcoll.c: Likewise.
62340         * lib/xnanosleep.c: Likewise.
62341         * lib/xreadlink.c: Likewise.
62342         * lib/xreadlink.h: Likewise.
62343         * lib/xsetenv.c: Likewise.
62344         * lib/xsetenv.h: Likewise.
62345         * lib/xstriconv.c: Likewise.
62346         * lib/xstriconv.h: Likewise.
62347         * lib/xstrndup.c: Likewise.
62348         * lib/xstrndup.h: Likewise.
62349         * lib/xstrtod.c: Likewise.
62350         * lib/xstrtod.h: Likewise.
62351         * lib/xstrtol-error.c: Likewise.
62352         * lib/xstrtol.c: Likewise.
62353         * lib/xstrtol.h: Likewise.
62354         * lib/xtime.h: Likewise.
62355         * lib/xvasprintf.c: Likewise.
62356         * lib/xvasprintf.h: Likewise.
62357         * lib/yesno.c: Likewise.
62358         * lib/yesno.h: Likewise.
62359         * posix-modules: Likewise.
62360         * tests/test-alloca-opt.c: Likewise.
62361         * tests/test-arcfour.c: Likewise.
62362         * tests/test-arctwo.c: Likewise.
62363         * tests/test-argmatch.c: Likewise.
62364         * tests/test-argp-2.sh: Likewise.
62365         * tests/test-argp.c: Likewise.
62366         * tests/test-arpa_inet.c: Likewise.
62367         * tests/test-array_list.c: Likewise.
62368         * tests/test-array_oset.c: Likewise.
62369         * tests/test-atexit.c: Likewise.
62370         * tests/test-avltree_list.c: Likewise.
62371         * tests/test-avltree_oset.c: Likewise.
62372         * tests/test-avltreehash_list.c: Likewise.
62373         * tests/test-base64.c: Likewise.
62374         * tests/test-binary-io.c: Likewise.
62375         * tests/test-byteswap.c: Likewise.
62376         * tests/test-c-ctype.c: Likewise.
62377         * tests/test-c-strcasecmp.c: Likewise.
62378         * tests/test-c-strcasestr.c: Likewise.
62379         * tests/test-c-strncasecmp.c: Likewise.
62380         * tests/test-c-strstr.c: Likewise.
62381         * tests/test-canonicalize-lgpl.c: Likewise.
62382         * tests/test-canonicalize.c: Likewise.
62383         * tests/test-carray_list.c: Likewise.
62384         * tests/test-ceilf.c: Likewise.
62385         * tests/test-ceill.c: Likewise.
62386         * tests/test-count-one-bits.c: Likewise.
62387         * tests/test-crc.c: Likewise.
62388         * tests/test-dirname.c: Likewise.
62389         * tests/test-fbufmode.c: Likewise.
62390         * tests/test-fcntl.c: Likewise.
62391         * tests/test-fflush.c: Likewise.
62392         * tests/test-floorf.c: Likewise.
62393         * tests/test-floorl.c: Likewise.
62394         * tests/test-fopen.c: Likewise.
62395         * tests/test-fprintf-posix.c: Likewise.
62396         * tests/test-fprintf-posix.h: Likewise.
62397         * tests/test-fpurge.c: Likewise.
62398         * tests/test-freadable.c: Likewise.
62399         * tests/test-freadahead.c: Likewise.
62400         * tests/test-freading.c: Likewise.
62401         * tests/test-freopen.c: Likewise.
62402         * tests/test-frexp.c: Likewise.
62403         * tests/test-frexpl.c: Likewise.
62404         * tests/test-fseek.c: Likewise.
62405         * tests/test-fseeko.c: Likewise.
62406         * tests/test-fseterr.c: Likewise.
62407         * tests/test-fstrcmp.c: Likewise.
62408         * tests/test-ftell.c: Likewise.
62409         * tests/test-ftello.c: Likewise.
62410         * tests/test-fwritable.c: Likewise.
62411         * tests/test-fwriting.c: Likewise.
62412         * tests/test-getaddrinfo.c: Likewise.
62413         * tests/test-getpass.c: Likewise.
62414         * tests/test-gettimeofday.c: Likewise.
62415         * tests/test-hmac-md5.c: Likewise.
62416         * tests/test-hmac-sha1.c: Likewise.
62417         * tests/test-iconv.c: Likewise.
62418         * tests/test-iconvme.c: Likewise.
62419         * tests/test-inttypes.c: Likewise.
62420         * tests/test-isnan.c: Likewise.
62421         * tests/test-isnanf.c: Likewise.
62422         * tests/test-isnanl-nolibm.c: Likewise.
62423         * tests/test-isnanl.c: Likewise.
62424         * tests/test-isnanl.h: Likewise.
62425         * tests/test-ldexpl.c: Likewise.
62426         * tests/test-linked_list.c: Likewise.
62427         * tests/test-linkedhash_list.c: Likewise.
62428         * tests/test-locale.c: Likewise.
62429         * tests/test-localename.c: Likewise.
62430         * tests/test-lock.c: Likewise.
62431         * tests/test-lseek.c: Likewise.
62432         * tests/test-malloca.c: Likewise.
62433         * tests/test-math.c: Likewise.
62434         * tests/test-mbscasecmp.c: Likewise.
62435         * tests/test-mbscasestr1.c: Likewise.
62436         * tests/test-mbscasestr2.c: Likewise.
62437         * tests/test-mbscasestr3.c: Likewise.
62438         * tests/test-mbscasestr4.c: Likewise.
62439         * tests/test-mbschr.c: Likewise.
62440         * tests/test-mbscspn.c: Likewise.
62441         * tests/test-mbsncasecmp.c: Likewise.
62442         * tests/test-mbspbrk.c: Likewise.
62443         * tests/test-mbspcasecmp.c: Likewise.
62444         * tests/test-mbsrchr.c: Likewise.
62445         * tests/test-mbsspn.c: Likewise.
62446         * tests/test-mbsstr1.c: Likewise.
62447         * tests/test-mbsstr2.c: Likewise.
62448         * tests/test-mbsstr3.c: Likewise.
62449         * tests/test-md5.c: Likewise.
62450         * tests/test-memmem.c: Likewise.
62451         * tests/test-netinet_in.c: Likewise.
62452         * tests/test-open.c: Likewise.
62453         * tests/test-printf-frexp.c: Likewise.
62454         * tests/test-printf-frexpl.c: Likewise.
62455         * tests/test-printf-posix.c: Likewise.
62456         * tests/test-printf-posix.h: Likewise.
62457         * tests/test-rbtree_list.c: Likewise.
62458         * tests/test-rbtree_oset.c: Likewise.
62459         * tests/test-rbtreehash_list.c: Likewise.
62460         * tests/test-read-file.c: Likewise.
62461         * tests/test-rijndael.c: Likewise.
62462         * tests/test-search.c: Likewise.
62463         * tests/test-signbit.c: Likewise.
62464         * tests/test-sleep.c: Likewise.
62465         * tests/test-snprintf-posix.c: Likewise.
62466         * tests/test-snprintf-posix.h: Likewise.
62467         * tests/test-snprintf.c: Likewise.
62468         * tests/test-sprintf-posix.c: Likewise.
62469         * tests/test-sprintf-posix.h: Likewise.
62470         * tests/test-stat-time.c: Likewise.
62471         * tests/test-stdbool.c: Likewise.
62472         * tests/test-stdint.c: Likewise.
62473         * tests/test-stdio.c: Likewise.
62474         * tests/test-stdlib.c: Likewise.
62475         * tests/test-stpncpy.c: Likewise.
62476         * tests/test-strcasestr.c: Likewise.
62477         * tests/test-striconv.c: Likewise.
62478         * tests/test-striconveh.c: Likewise.
62479         * tests/test-striconveha.c: Likewise.
62480         * tests/test-string.c: Likewise.
62481         * tests/test-sys_select.c: Likewise.
62482         * tests/test-sys_socket.c: Likewise.
62483         * tests/test-sys_stat.c: Likewise.
62484         * tests/test-sys_time.c: Likewise.
62485         * tests/test-sysexits.c: Likewise.
62486         * tests/test-time.c: Likewise.
62487         * tests/test-tls.c: Likewise.
62488         * tests/test-trunc.c: Likewise.
62489         * tests/test-truncf.c: Likewise.
62490         * tests/test-truncl.c: Likewise.
62491         * tests/test-unistd.c: Likewise.
62492         * tests/test-vasnprintf-posix.c: Likewise.
62493         * tests/test-vasnprintf-posix2.c: Likewise.
62494         * tests/test-vasnprintf.c: Likewise.
62495         * tests/test-vasprintf-posix.c: Likewise.
62496         * tests/test-vasprintf.c: Likewise.
62497         * tests/test-verify.c: Likewise.
62498         * tests/test-vfprintf-posix.c: Likewise.
62499         * tests/test-vprintf-posix.c: Likewise.
62500         * tests/test-vsnprintf-posix.c: Likewise.
62501         * tests/test-vsnprintf.c: Likewise.
62502         * tests/test-vsprintf-posix.c: Likewise.
62503         * tests/test-wchar.c: Likewise.
62504         * tests/test-wctype.c: Likewise.
62505         * tests/test-wcwidth.c: Likewise.
62506         * tests/test-xstrtol.c: Likewise.
62507         * tests/test-xvasprintf.c: Likewise.
62508         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
62509         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
62510         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
62511         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
62512         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
62513         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
62514         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
62515         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
62516         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
62517         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
62518         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
62519         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
62520         * tests/uniname/test-uninames.c: Likewise.
62521         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
62522         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
62523         * tests/unistdio/test-u16-printf1.h: Likewise.
62524         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
62525         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
62526         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
62527         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
62528         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
62529         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
62530         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
62531         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
62532         * tests/unistdio/test-u32-printf1.h: Likewise.
62533         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
62534         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
62535         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
62536         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
62537         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
62538         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
62539         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
62540         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
62541         * tests/unistdio/test-u8-printf1.h: Likewise.
62542         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
62543         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
62544         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
62545         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
62546         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
62547         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
62548         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
62549         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
62550         * tests/unistdio/test-ulc-printf1.h: Likewise.
62551         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
62552         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
62553         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
62554         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
62555         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
62556         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
62557         * tests/uniwidth/test-u16-strwidth.c: Likewise.
62558         * tests/uniwidth/test-u16-width.c: Likewise.
62559         * tests/uniwidth/test-u32-strwidth.c: Likewise.
62560         * tests/uniwidth/test-u32-width.c: Likewise.
62561         * tests/uniwidth/test-u8-strwidth.c: Likewise.
62562         * tests/uniwidth/test-u8-width.c: Likewise.
62563         * tests/uniwidth/test-uc_width.c: Likewise.
62564         * config/srclist-update: Likewise.
62565         (fixlicense): Update to GPLv3+.
62566
62567         Change copyright notice from LGPLv2.1+ to LGPLv3+.
62568         * tests/test-tsearch.c: Change copyright notice.
62569
62570         Change copyright notice from LGPLv2.0+ to LGPLv3+.
62571         * lib/c-strcaseeq.h: Change copyright notice.
62572         * lib/streq.h: Likewise.
62573         * lib/uniconv.h: Likewise.
62574         * lib/uniconv/u-conv-from-enc.h: Likewise.
62575         * lib/uniconv/u-conv-to-enc.h: Likewise.
62576         * lib/uniconv/u-strconv-from-enc.h: Likewise.
62577         * lib/uniconv/u-strconv-to-enc.h: Likewise.
62578         * lib/uniconv/u16-conv-from-enc.c: Likewise.
62579         * lib/uniconv/u16-conv-to-enc.c: Likewise.
62580         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
62581         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
62582         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
62583         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
62584         * lib/uniconv/u32-conv-from-enc.c: Likewise.
62585         * lib/uniconv/u32-conv-to-enc.c: Likewise.
62586         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
62587         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
62588         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
62589         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
62590         * lib/uniconv/u8-conv-from-enc.c: Likewise.
62591         * lib/uniconv/u8-conv-to-enc.c: Likewise.
62592         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
62593         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
62594         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
62595         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
62596         * lib/uniname.h: Likewise.
62597         * lib/uniname/uniname.c: Likewise.
62598         * lib/unistdio.h: Likewise.
62599         * lib/unistdio/u-asnprintf.h: Likewise.
62600         * lib/unistdio/u-asprintf.h: Likewise.
62601         * lib/unistdio/u-printf-args.c: Likewise.
62602         * lib/unistdio/u-printf-args.h: Likewise.
62603         * lib/unistdio/u-printf-parse.h: Likewise.
62604         * lib/unistdio/u-snprintf.h: Likewise.
62605         * lib/unistdio/u-sprintf.h: Likewise.
62606         * lib/unistdio/u-vasprintf.h: Likewise.
62607         * lib/unistdio/u-vsnprintf.h: Likewise.
62608         * lib/unistdio/u-vsprintf.h: Likewise.
62609         * lib/unistdio/u16-asnprintf.c: Likewise.
62610         * lib/unistdio/u16-asprintf.c: Likewise.
62611         * lib/unistdio/u16-printf-parse.c: Likewise.
62612         * lib/unistdio/u16-snprintf.c: Likewise.
62613         * lib/unistdio/u16-sprintf.c: Likewise.
62614         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
62615         * lib/unistdio/u16-u16-asprintf.c: Likewise.
62616         * lib/unistdio/u16-u16-snprintf.c: Likewise.
62617         * lib/unistdio/u16-u16-sprintf.c: Likewise.
62618         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
62619         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
62620         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
62621         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
62622         * lib/unistdio/u16-vasnprintf.c: Likewise.
62623         * lib/unistdio/u16-vasprintf.c: Likewise.
62624         * lib/unistdio/u16-vsnprintf.c: Likewise.
62625         * lib/unistdio/u16-vsprintf.c: Likewise.
62626         * lib/unistdio/u32-asnprintf.c: Likewise.
62627         * lib/unistdio/u32-asprintf.c: Likewise.
62628         * lib/unistdio/u32-printf-parse.c: Likewise.
62629         * lib/unistdio/u32-snprintf.c: Likewise.
62630         * lib/unistdio/u32-sprintf.c: Likewise.
62631         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
62632         * lib/unistdio/u32-u32-asprintf.c: Likewise.
62633         * lib/unistdio/u32-u32-snprintf.c: Likewise.
62634         * lib/unistdio/u32-u32-sprintf.c: Likewise.
62635         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
62636         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
62637         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
62638         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
62639         * lib/unistdio/u32-vasnprintf.c: Likewise.
62640         * lib/unistdio/u32-vasprintf.c: Likewise.
62641         * lib/unistdio/u32-vsnprintf.c: Likewise.
62642         * lib/unistdio/u32-vsprintf.c: Likewise.
62643         * lib/unistdio/u8-asnprintf.c: Likewise.
62644         * lib/unistdio/u8-asprintf.c: Likewise.
62645         * lib/unistdio/u8-printf-parse.c: Likewise.
62646         * lib/unistdio/u8-snprintf.c: Likewise.
62647         * lib/unistdio/u8-sprintf.c: Likewise.
62648         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
62649         * lib/unistdio/u8-u8-asprintf.c: Likewise.
62650         * lib/unistdio/u8-u8-snprintf.c: Likewise.
62651         * lib/unistdio/u8-u8-sprintf.c: Likewise.
62652         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
62653         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
62654         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
62655         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
62656         * lib/unistdio/u8-vasnprintf.c: Likewise.
62657         * lib/unistdio/u8-vasprintf.c: Likewise.
62658         * lib/unistdio/u8-vsnprintf.c: Likewise.
62659         * lib/unistdio/u8-vsprintf.c: Likewise.
62660         * lib/unistdio/ulc-asnprintf.c: Likewise.
62661         * lib/unistdio/ulc-asprintf.c: Likewise.
62662         * lib/unistdio/ulc-printf-parse.c: Likewise.
62663         * lib/unistdio/ulc-snprintf.c: Likewise.
62664         * lib/unistdio/ulc-sprintf.c: Likewise.
62665         * lib/unistdio/ulc-vasnprintf.c: Likewise.
62666         * lib/unistdio/ulc-vasprintf.c: Likewise.
62667         * lib/unistdio/ulc-vsnprintf.c: Likewise.
62668         * lib/unistdio/ulc-vsprintf.c: Likewise.
62669         * lib/unistr.h: Likewise.
62670         * lib/unistr/u-cpy-alloc.h: Likewise.
62671         * lib/unistr/u-cpy.h: Likewise.
62672         * lib/unistr/u-endswith.h: Likewise.
62673         * lib/unistr/u-move.h: Likewise.
62674         * lib/unistr/u-set.h: Likewise.
62675         * lib/unistr/u-startswith.h: Likewise.
62676         * lib/unistr/u-stpcpy.h: Likewise.
62677         * lib/unistr/u-stpncpy.h: Likewise.
62678         * lib/unistr/u-strcat.h: Likewise.
62679         * lib/unistr/u-strcpy.h: Likewise.
62680         * lib/unistr/u-strcspn.h: Likewise.
62681         * lib/unistr/u-strdup.h: Likewise.
62682         * lib/unistr/u-strlen.h: Likewise.
62683         * lib/unistr/u-strncat.h: Likewise.
62684         * lib/unistr/u-strncpy.h: Likewise.
62685         * lib/unistr/u-strnlen.h: Likewise.
62686         * lib/unistr/u-strpbrk.h: Likewise.
62687         * lib/unistr/u-strspn.h: Likewise.
62688         * lib/unistr/u-strstr.h: Likewise.
62689         * lib/unistr/u-strtok.h: Likewise.
62690         * lib/unistr/u16-check.c: Likewise.
62691         * lib/unistr/u16-chr.c: Likewise.
62692         * lib/unistr/u16-cmp.c: Likewise.
62693         * lib/unistr/u16-cpy-alloc.c: Likewise.
62694         * lib/unistr/u16-cpy.c: Likewise.
62695         * lib/unistr/u16-endswith.c: Likewise.
62696         * lib/unistr/u16-mblen.c: Likewise.
62697         * lib/unistr/u16-mbsnlen.c: Likewise.
62698         * lib/unistr/u16-mbtouc-aux.c: Likewise.
62699         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
62700         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
62701         * lib/unistr/u16-mbtouc.c: Likewise.
62702         * lib/unistr/u16-mbtoucr.c: Likewise.
62703         * lib/unistr/u16-move.c: Likewise.
62704         * lib/unistr/u16-next.c: Likewise.
62705         * lib/unistr/u16-prev.c: Likewise.
62706         * lib/unistr/u16-set.c: Likewise.
62707         * lib/unistr/u16-startswith.c: Likewise.
62708         * lib/unistr/u16-stpcpy.c: Likewise.
62709         * lib/unistr/u16-stpncpy.c: Likewise.
62710         * lib/unistr/u16-strcat.c: Likewise.
62711         * lib/unistr/u16-strchr.c: Likewise.
62712         * lib/unistr/u16-strcmp.c: Likewise.
62713         * lib/unistr/u16-strcpy.c: Likewise.
62714         * lib/unistr/u16-strcspn.c: Likewise.
62715         * lib/unistr/u16-strdup.c: Likewise.
62716         * lib/unistr/u16-strlen.c: Likewise.
62717         * lib/unistr/u16-strmblen.c: Likewise.
62718         * lib/unistr/u16-strmbtouc.c: Likewise.
62719         * lib/unistr/u16-strncat.c: Likewise.
62720         * lib/unistr/u16-strncmp.c: Likewise.
62721         * lib/unistr/u16-strncpy.c: Likewise.
62722         * lib/unistr/u16-strnlen.c: Likewise.
62723         * lib/unistr/u16-strpbrk.c: Likewise.
62724         * lib/unistr/u16-strrchr.c: Likewise.
62725         * lib/unistr/u16-strspn.c: Likewise.
62726         * lib/unistr/u16-strstr.c: Likewise.
62727         * lib/unistr/u16-strtok.c: Likewise.
62728         * lib/unistr/u16-to-u32.c: Likewise.
62729         * lib/unistr/u16-to-u8.c: Likewise.
62730         * lib/unistr/u16-uctomb-aux.c: Likewise.
62731         * lib/unistr/u16-uctomb.c: Likewise.
62732         * lib/unistr/u32-check.c: Likewise.
62733         * lib/unistr/u32-chr.c: Likewise.
62734         * lib/unistr/u32-cmp.c: Likewise.
62735         * lib/unistr/u32-cpy-alloc.c: Likewise.
62736         * lib/unistr/u32-cpy.c: Likewise.
62737         * lib/unistr/u32-endswith.c: Likewise.
62738         * lib/unistr/u32-mblen.c: Likewise.
62739         * lib/unistr/u32-mbsnlen.c: Likewise.
62740         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
62741         * lib/unistr/u32-mbtouc.c: Likewise.
62742         * lib/unistr/u32-mbtoucr.c: Likewise.
62743         * lib/unistr/u32-move.c: Likewise.
62744         * lib/unistr/u32-next.c: Likewise.
62745         * lib/unistr/u32-prev.c: Likewise.
62746         * lib/unistr/u32-set.c: Likewise.
62747         * lib/unistr/u32-startswith.c: Likewise.
62748         * lib/unistr/u32-stpcpy.c: Likewise.
62749         * lib/unistr/u32-stpncpy.c: Likewise.
62750         * lib/unistr/u32-strcat.c: Likewise.
62751         * lib/unistr/u32-strchr.c: Likewise.
62752         * lib/unistr/u32-strcmp.c: Likewise.
62753         * lib/unistr/u32-strcpy.c: Likewise.
62754         * lib/unistr/u32-strcspn.c: Likewise.
62755         * lib/unistr/u32-strdup.c: Likewise.
62756         * lib/unistr/u32-strlen.c: Likewise.
62757         * lib/unistr/u32-strmblen.c: Likewise.
62758         * lib/unistr/u32-strmbtouc.c: Likewise.
62759         * lib/unistr/u32-strncat.c: Likewise.
62760         * lib/unistr/u32-strncmp.c: Likewise.
62761         * lib/unistr/u32-strncpy.c: Likewise.
62762         * lib/unistr/u32-strnlen.c: Likewise.
62763         * lib/unistr/u32-strpbrk.c: Likewise.
62764         * lib/unistr/u32-strrchr.c: Likewise.
62765         * lib/unistr/u32-strspn.c: Likewise.
62766         * lib/unistr/u32-strstr.c: Likewise.
62767         * lib/unistr/u32-strtok.c: Likewise.
62768         * lib/unistr/u32-to-u16.c: Likewise.
62769         * lib/unistr/u32-to-u8.c: Likewise.
62770         * lib/unistr/u32-uctomb.c: Likewise.
62771         * lib/unistr/u8-check.c: Likewise.
62772         * lib/unistr/u8-chr.c: Likewise.
62773         * lib/unistr/u8-cmp.c: Likewise.
62774         * lib/unistr/u8-cpy-alloc.c: Likewise.
62775         * lib/unistr/u8-cpy.c: Likewise.
62776         * lib/unistr/u8-endswith.c: Likewise.
62777         * lib/unistr/u8-mblen.c: Likewise.
62778         * lib/unistr/u8-mbsnlen.c: Likewise.
62779         * lib/unistr/u8-mbtouc-aux.c: Likewise.
62780         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
62781         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
62782         * lib/unistr/u8-mbtouc.c: Likewise.
62783         * lib/unistr/u8-mbtoucr.c: Likewise.
62784         * lib/unistr/u8-move.c: Likewise.
62785         * lib/unistr/u8-next.c: Likewise.
62786         * lib/unistr/u8-prev.c: Likewise.
62787         * lib/unistr/u8-set.c: Likewise.
62788         * lib/unistr/u8-startswith.c: Likewise.
62789         * lib/unistr/u8-stpcpy.c: Likewise.
62790         * lib/unistr/u8-stpncpy.c: Likewise.
62791         * lib/unistr/u8-strcat.c: Likewise.
62792         * lib/unistr/u8-strchr.c: Likewise.
62793         * lib/unistr/u8-strcmp.c: Likewise.
62794         * lib/unistr/u8-strcpy.c: Likewise.
62795         * lib/unistr/u8-strcspn.c: Likewise.
62796         * lib/unistr/u8-strdup.c: Likewise.
62797         * lib/unistr/u8-strlen.c: Likewise.
62798         * lib/unistr/u8-strmblen.c: Likewise.
62799         * lib/unistr/u8-strmbtouc.c: Likewise.
62800         * lib/unistr/u8-strncat.c: Likewise.
62801         * lib/unistr/u8-strncmp.c: Likewise.
62802         * lib/unistr/u8-strncpy.c: Likewise.
62803         * lib/unistr/u8-strnlen.c: Likewise.
62804         * lib/unistr/u8-strpbrk.c: Likewise.
62805         * lib/unistr/u8-strrchr.c: Likewise.
62806         * lib/unistr/u8-strspn.c: Likewise.
62807         * lib/unistr/u8-strstr.c: Likewise.
62808         * lib/unistr/u8-strtok.c: Likewise.
62809         * lib/unistr/u8-to-u16.c: Likewise.
62810         * lib/unistr/u8-to-u32.c: Likewise.
62811         * lib/unistr/u8-uctomb-aux.c: Likewise.
62812         * lib/unistr/u8-uctomb.c: Likewise.
62813         * lib/unitypes.h: Likewise.
62814         * lib/uniwidth.h: Likewise.
62815         * lib/uniwidth/cjk.h: Likewise.
62816         * lib/uniwidth/u16-strwidth.c: Likewise.
62817         * lib/uniwidth/u16-width.c: Likewise.
62818         * lib/uniwidth/u32-strwidth.c: Likewise.
62819         * lib/uniwidth/u32-width.c: Likewise.
62820         * lib/uniwidth/u8-strwidth.c: Likewise.
62821         * lib/uniwidth/u8-width.c: Likewise.
62822         * lib/uniwidth/width.c: Likewise.
62823
62824 2007-10-07  Bruno Haible  <bruno@clisp.org>
62825
62826         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
62827         The file is still under LGPL (see modules/inttypes).
62828
62829 2007-10-06  Bruno Haible  <bruno@clisp.org>
62830
62831         * modules/trunc (Dependencies): Add 'extensions'.
62832         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
62833         Reported by Ben Pfaff <blp@gnu.org>.
62834
62835 2007-10-06  Bruno Haible  <bruno@clisp.org>
62836
62837         * modules/freopen-tests: New file.
62838         * tests/test-freopen.c: New file.
62839
62840         * modules/fopen-tests: New file.
62841         * tests/test-fopen.c: New file.
62842
62843         * modules/fopen: New file.
62844         * lib/fopen.c: New file.
62845         * m4/fopen.m4: New file.
62846         * modules/freopen: New file.
62847         * lib/freopen.c: New file.
62848         * m4/freopen.m4: New file.
62849         * lib/stdio.in.h (fopen, freopen): New declarations.
62850         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
62851         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
62852         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
62853         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
62854         * doc/functions/fopen.texi: Mention the 'fopen' module.
62855         * doc/functions/freopen.texi: Mention the 'freopen' module.
62856
62857 2007-10-06  Bruno Haible  <bruno@clisp.org>
62858
62859         * modules/open-tests: New file.
62860         * tests/test-open.c: New file.
62861
62862         * modules/open: New file.
62863         * lib/open.c: New file.
62864         * m4/open.m4: New file.
62865         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
62866         lib/open.c does.
62867         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
62868         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
62869         macros.
62870         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
62871         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
62872         REPLACE_OPEN.
62873         * doc/functions/open.texi: Mention the 'open' module.
62874
62875 2007-10-04  Bruno Haible  <bruno@clisp.org>
62876
62877         * modules/ceill-tests: New file.
62878         * tests/test-ceill.c: New file.
62879
62880         * modules/ceill: New file.
62881         * lib/ceill.c: Replace entire file.
62882         * m4/ceill.m4: New file.
62883         * lib/math.in.h (ceill): Replace declaration.
62884         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
62885         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
62886         * doc/functions/ceill.texi: Mention the 'ceill' module.
62887         * modules/mathl (Files): Remove lib/ceill.c.
62888         (Depends-on): Add ceill.
62889
62890 2007-10-04  Bruno Haible  <bruno@clisp.org>
62891
62892         * modules/ceilf-tests: New file.
62893         * tests/test-ceilf.c: New file.
62894
62895         * modules/ceilf: New file.
62896         * lib/ceil.c: New file.
62897         * lib/ceilf.c: New file.
62898         * m4/ceilf.m4: New file.
62899         * lib/math.in.h (ceilf): New declaration.
62900         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
62901         HAVE_DECL_CEILF.
62902         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
62903         HAVE_DECL_CEILF.
62904         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
62905
62906 2007-10-04  Bruno Haible  <bruno@clisp.org>
62907
62908         * modules/floorl-tests: New file.
62909         * tests/test-floorl.c: New file.
62910
62911         * modules/floorl: New file.
62912         * lib/floorl.c: Replace entire file.
62913         * m4/floorl.m4: New file.
62914         * lib/math.in.h (floorl): Replace declaration.
62915         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
62916         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
62917         * doc/functions/floorl.texi: Mention the 'floorl' module.
62918         * modules/mathl (Files): Remove lib/floorl.c.
62919         (Depends-on): Add floorl.
62920
62921 2007-10-04  Bruno Haible  <bruno@clisp.org>
62922
62923         * modules/floorf-tests: New file.
62924         * tests/test-floorf.c: New file.
62925
62926         * modules/floorf: New file.
62927         * lib/floor.c: New file.
62928         * lib/floorf.c: New file.
62929         * m4/floorf.m4: New file.
62930         * lib/math.in.h (floorf): New declaration.
62931         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
62932         HAVE_DECL_FLOORF.
62933         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
62934         HAVE_DECL_FLOORF.
62935         * doc/functions/floorf.texi: Mention the 'floorf' module.
62936
62937 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
62938             Bruno Haible  <bruno@clisp.org>
62939
62940         Advertise for the Git server instead of the CVS server.
62941         * doc/gnulib-intro.texi (Steady Development): Mention the Git
62942         repository instead of the CVS one.
62943         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
62944         about all VCS systems generically.
62945         * doc/gnulib.texi (Introduction): Capitalize `Git'.
62946
62947 2007-10-04  Bruno Haible  <bruno@clisp.org>
62948
62949         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
62950         means.
62951         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
62952
62953 2007-10-04  Bruno Haible  <bruno@clisp.org>
62954
62955         * modules/truncl-tests: New file.
62956         * tests/test-truncl.c: New file.
62957
62958         * modules/truncl: New file.
62959         * lib/truncl.c: New file.
62960         * m4/truncl.m4: New file.
62961         * lib/math.in.h (truncl): New declaration.
62962         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
62963         HAVE_DECL_TRUNCL.
62964         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
62965         HAVE_DECL_TRUNCL.
62966         * doc/functions/truncl.texi: Mention the 'truncl' module.
62967
62968 2007-10-04  Bruno Haible  <bruno@clisp.org>
62969
62970         * modules/truncf-tests: New file.
62971         * tests/test-truncf.c: New file.
62972
62973         * modules/truncf: New file.
62974         * lib/trunc.c: Make paramerizable through USE_* macros.
62975         * lib/truncf.c: New file.
62976         * m4/truncf.m4: New file.
62977         * lib/math.in.h (truncf): New declaration.
62978         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
62979         HAVE_DECL_TRUNCF.
62980         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
62981         HAVE_DECL_TRUNCF.
62982         * doc/functions/truncf.texi: Mention the 'truncf' module.
62983
62984 2007-10-03  Bruno Haible  <bruno@clisp.org>
62985
62986         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
62987         augmentation also for tests modules.
62988         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
62989         * modules/atexit-tests (Makefile.am): Likewise.
62990         * modules/binary-io-tests (Makefile.am): Likewise.
62991         * modules/c-strcase-tests (Makefile.am): Likewise.
62992         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
62993         * modules/canonicalize-tests (Makefile.am): Likewise.
62994         * modules/closein-tests (Makefile.am): Likewise.
62995         * modules/fprintf-posix-tests (Makefile.am): Likewise.
62996         * modules/freadahead-tests (Makefile.am): Likewise.
62997         * modules/fseek-tests (Makefile.am): Likewise.
62998         * modules/fseeko-tests (Makefile.am): Likewise.
62999         * modules/ftell-tests (Makefile.am): Likewise.
63000         * modules/ftello-tests (Makefile.am): Likewise.
63001         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
63002         * modules/isnanl-tests (Makefile.am): Likewise.
63003         * modules/lseek-tests (Makefile.am): Likewise.
63004         * modules/mbscasecmp-tests (Makefile.am): Likewise.
63005         * modules/mbscasestr-tests (Makefile.am): Likewise.
63006         * modules/mbschr-tests (Makefile.am): Likewise.
63007         * modules/mbscspn-tests (Makefile.am): Likewise.
63008         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
63009         * modules/mbspbrk-tests (Makefile.am): Likewise.
63010         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
63011         * modules/mbsrchr-tests (Makefile.am): Likewise.
63012         * modules/mbsspn-tests (Makefile.am): Likewise.
63013         * modules/mbsstr-tests (Makefile.am): Likewise.
63014         * modules/printf-posix-tests (Makefile.am): Likewise.
63015         * modules/snprintf-posix-tests (Makefile.am): Likewise.
63016         * modules/sprintf-posix-tests (Makefile.am): Likewise.
63017         * modules/tsearch-tests (Makefile.am): Likewise.
63018         * modules/uniname/uniname-tests (Makefile.am): Likewise.
63019         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
63020         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
63021         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
63022         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
63023         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
63024         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
63025         * modules/vprintf-posix-tests (Makefile.am): Likewise.
63026         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
63027         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
63028         * modules/xstrtoimax-tests (Makefile.am): Likewise.
63029         * modules/xstrtol-tests (Makefile.am): Likewise.
63030         * modules/xstrtoumax-tests (Makefile.am): Likewise.
63031         * modules/yesno-tests (Makefile.am): Likewise.
63032
63033 2007-10-03  Bruno Haible  <bruno@clisp.org>
63034
63035         * modules/trunc-tests: New file.
63036         * tests/test-trunc.c: New file.
63037
63038         * modules/trunc: New file.
63039         * lib/trunc.c: New file.
63040         * m4/trunc.m4: New file.
63041         * lib/math.in.h (trunc): New declaration.
63042         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
63043         HAVE_DECL_TRUNC.
63044         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
63045         HAVE_DECL_TRUNC.
63046         * doc/functions/trunc.texi: Mention the 'trunc' module.
63047
63048 2007-10-03  Bruno Haible  <bruno@clisp.org>
63049
63050         * tests/test-fpending.c: New file, mostly copied
63051         from coreutils/lib/t-fpending.c.
63052         * modules/fpending-tests: New file.
63053
63054 2007-10-03  Bruno Haible  <bruno@clisp.org>
63055
63056         Port the stdio extensions to QNX (untested).
63057         * lib/fseterr.c (fseterr): Add support for QNX.
63058         * lib/fbufmode.c (fbufmode): Likewise.
63059         * lib/freadable.c (freadable): Likewise.
63060         * lib/fwritable.c (fwritable): Likewise.
63061         * lib/freading.c (freading): Likewise.
63062         * lib/fwriting.c (fwriting): Likewise.
63063         * lib/freadahead.c (freadahed): Likewise.
63064         * lib/fpurge.c (fpurge): Likewise.
63065         * lib/fseeko.c (rpl_fseeko): Likewise.
63066
63067 2007-10-03  Bruno Haible  <bruno@clisp.org>
63068             Jim Meyering  <jim@meyering.net>
63069             Eric Blake  <ebb9@byu.net>
63070
63071         * doc/relocatable.texi: Use @command instead of @program.
63072
63073 2007-10-02  Jim Meyering  <jim@meyering.net>
63074
63075         Perform one more "_.h" -> ".in.h" substitution.
63076         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
63077         instead of unistd_.h here, too.
63078
63079 2007-10-01  Bruno Haible  <bruno@clisp.org>
63080
63081         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
63082         Needed for the alloca-opt module.
63083
63084 2007-09-30  Bruno Haible  <bruno@clisp.org>
63085
63086         * lib/alloca.in.h: Renamed from lib/alloca_.h.
63087         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
63088         alloca_.h.
63089         * lib/argz.in.h: Renamed from lib/argz_.h.
63090         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
63091         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
63092         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
63093         byteswap_.h.
63094         * lib/dirent.in.h: Renamed from lib/dirent_.h.
63095         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
63096         dirent_.h.
63097         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
63098         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
63099         fcntl_.h.
63100         * lib/float.in.h: Renamed from lib/float_.h.
63101         * modules/float (Files, Makefile.am): Use float.in.h instead of
63102         float_.h.
63103         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
63104         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
63105         fnmatch_.h.
63106         * lib/getopt.in.h: Renamed from lib/getopt_.h.
63107         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
63108         getopt_.h.
63109         * lib/glob.in.h: Renamed from lib/glob_.h.
63110         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
63111         * lib/iconv.in.h: Renamed from lib/iconv_.h.
63112         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
63113         iconv_.h.
63114         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
63115         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
63116         inttypes_.h.
63117         * lib/locale.in.h: Renamed from lib/locale_.h.
63118         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
63119         locale_.h.
63120         * lib/math.in.h: Renamed from lib/math_.h.
63121         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
63122         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
63123         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
63124         of netinet_in_.h. Add dependency.
63125         * lib/poll.in.h: Renamed from lib/poll_.h.
63126         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
63127         * lib/search.in.h: Renamed from lib/search_.h.
63128         * modules/search (Files, Makefile.am): Use search.in.h instead of
63129         search_.h.
63130         * lib/signal.in.h: Renamed from lib/signal_.h.
63131         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
63132         _signal.h.
63133         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
63134         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
63135         stdbool_.h.
63136         * lib/stdint.in.h: Renamed from lib/stdint_.h.
63137         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
63138         stdint_.h.
63139         * lib/stdio.in.h: Renamed from lib/stdio_.h.
63140         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
63141         stdio_.h.
63142         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
63143         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
63144         stdlib_.h.
63145         * lib/string.in.h: Renamed from lib/string_.h.
63146         * modules/string (Files, Makefile.am): Use string.in.h instead of
63147         string_.h.
63148         * doc/gnulib-tool.texi (Initial import): Update.
63149         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
63150         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
63151         of sys_select_.h. Add dependency.
63152         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
63153         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
63154         of sys_socket_.h.
63155         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
63156         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
63157         sys_stat_.h.
63158         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
63159         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
63160         sys_time_.h.
63161         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
63162         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
63163         sysexits_.h.
63164         * lib/time.in.h: Renamed from lib/time_.h.
63165         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
63166         * lib/unistd.in.h: Renamed from lib/unistd_.h.
63167         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
63168         unistd_.h.
63169         * lib/wchar.in.h: Renamed from lib/wchar_.h.
63170         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
63171         wchar_.h.
63172         * lib/wctype.in.h: Renamed from lib/wctype_.h.
63173         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
63174         wctype_.h.
63175         * build-aux/bootstrap (slurp): Update.
63176         * lib/.cppi-disable: Update.
63177
63178 2007-09-30  Bruno Haible  <bruno@clisp.org>
63179
63180         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
63181         Needed on BeOS.
63182
63183 2007-09-30  Bruno Haible  <bruno@clisp.org>
63184
63185         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
63186
63187 2007-09-29  Bruno Haible  <bruno@clisp.org>
63188
63189         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
63190
63191 2007-09-29  Bruno Haible  <bruno@clisp.org>
63192
63193         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
63194         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
63195         * build-aux/install-reloc: Compile also areadlink.c.
63196         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
63197
63198 2007-09-29  Bruno Haible  <bruno@clisp.org>
63199
63200         * gnulib-tool (func_emit_initmacro_done): Indentation.
63201
63202 2007-09-29  Bruno Haible  <bruno@clisp.org>
63203
63204         * README: Add CVS checkout update instructions.
63205         Info from Bob Proulx <bob@proulx.com>.
63206
63207 2007-09-28  Eric Blake  <ebb9@byu.net>
63208
63209         Provide move-if-change.
63210         * build-aux/move-if-change: New file, based on best practice
63211         rather than any canonical upstream location.
63212
63213 2007-09-28  Jim Meyering  <jim@meyering.net>
63214
63215         Fix canonicalize loop-detection corner case.
63216         Do not attempt to stat the symlink values stored via seen_triple.
63217         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
63218         on linux-2.6.18, (but not 2.6.22).
63219         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
63220         triple_compare.  The former compares dev,ino,filename, while the latter
63221         would actually stat dirname(filename) when dev and ino were equal.
63222         * lib/hash-triple.c: Install <string.h>.
63223         (STREQ): Define.
63224         (triple_compare_ino_str): New function.
63225         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
63226
63227 2007-09-28  Eric Blake  <ebb9@byu.net>
63228
63229         Enforce that AC_REPLACE_FUNCS files exist.
63230         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
63231         override check for typos.
63232
63233         Fix test-closein on Solaris 10.
63234         * tests/test-closein.c (main): Don't assume stdin can be inherited
63235         closed on all systems.
63236         * tests/test-closein.sh: Likewise.
63237         Reported by Piotr Tarnowski.
63238
63239 2007-09-28  Jim Meyering  <jim@meyering.net>
63240
63241         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
63242
63243 2007-09-27  Jim Meyering  <jim@meyering.net>
63244
63245         canonicalize: Avoid a false-positive cycle failure.
63246         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
63247         Sort.  Remove cycle-check.
63248         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
63249         not cycle-check.h.
63250         (seen_triple): New function.
63251         (canonicalize_filename_mode): Use it instead of cycle-check.
63252         * tests/test-canonicalize.c: Add a test for this bug.
63253         * tests/test-canonicalize.sh: Set up and run the test.
63254
63255         New module, file-set, from coreutils.
63256         * modules/file-set: Define it.
63257         * lib/file-set.c, lib/file-set.h: Implement.
63258
63259         New module, hash-triple, from coreutils.
63260         * modules/hash-triple: Define it.
63261         * lib/hash-triple.c, lib/hash-triple.h: Implement.
63262
63263 2007-09-25  Eric Blake  <ebb9@byu.net>
63264
63265         Fix strerror on Interix.
63266         * lib/string_.h (strerror): Declare replacement.
63267         * doc/functions/strerror.texi (strerror): Document the Interix
63268         shortcoming.
63269         * modules/string (Makefile.am): Support new hooks.
63270         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
63271         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
63272         gl_FUNC_STRERROR_SEPARATE.
63273         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
63274         * lib/strerror.c (rpl_strerror): Provide replacement.
63275         * modules/strerror (Depends-on): Add string.
63276         (configure.ac): Detect use of module.
63277         * tests/test-strerror.c: New file.
63278         * modules/strerror-tests: New test module.
63279         * modules/argp (Depends-on): Add strerror.
63280         * modules/error (Depends-on): Likewise.
63281         Reported by Martin Koeppe.
63282
63283 2007-09-24  Bruno Haible  <bruno@clisp.org>
63284
63285         * README: Update git instructions.
63286
63287 2007-09-24  Eric Blake  <ebb9@byu.net>
63288
63289         Revert fpending breakage from 2007-09-08.
63290         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
63291         __fpending.c.
63292
63293 2007-09-24  Jim Meyering  <jim@meyering.net>
63294
63295         filenamecat.c: Add a test.
63296         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
63297         showing how the function works when DIR is the empty string.
63298
63299 2007-09-21  Simon Josefsson  <simon@josefsson.org>
63300
63301         * tests/test-canonicalize.sh: Turn on executable bit.
63302
63303 2007-09-19  Eric Blake  <ebb9@byu.net>
63304
63305         * README: Update CVS instructions.
63306
63307 2007-09-18  Bruno Haible  <bruno@clisp.org>
63308
63309         * modules/areadlink: New file.
63310         * lib/areadlink.h (areadlink): New declaration.
63311         * lib/areadlink.c: New file, based on lib/xreadlink.c.
63312
63313 2007-09-17  Jim Meyering  <jim@meyering.net>
63314
63315         * lib/savewd.c (ESTALE) [!defined]: Define.
63316         Reported to be required on Interix by Martin Koeppe.
63317
63318 2007-09-17  Bruno Haible  <bruno@clisp.org>
63319
63320         * gnulib-tool (func_version): Use $version.
63321
63322 2007-09-16  Bruno Haible  <bruno@clisp.org>
63323
63324         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
63325         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
63326         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
63327         Reported by Greg Schafer <gschafer@zip.com.au>.
63328
63329 2007-09-15  Bruno Haible  <bruno@clisp.org>
63330
63331         * gnulib-tool (sed): Try a little harder to make bash understand the
63332         alias.
63333         Reported by Bruce Korb <bruce.korb@gmail.com>.
63334
63335 2007-09-13  Eric Blake  <ebb9@byu.net>
63336
63337         * ChangeLog: Remove conflict markers.
63338
63339 2007-09-13  Simon Josefsson  <simon@josefsson.org>
63340
63341         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
63342         Reported by Bruno Haible <bruno@clisp.org>.
63343
63344 2007-09-12  Bruno Haible  <bruno@clisp.org>
63345
63346         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
63347         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
63348         is not defined.
63349
63350 2007-09-12  Eric Blake  <ebb9@byu.net>
63351
63352         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
63353         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
63354         Autoconf definition.
63355         * modules/euidaccess (Depends-on): Add extensions, for
63356         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
63357         * modules/fnmatch (Depends-on): Likewise.
63358         * modules/getaddrinfo (Depends-on): Likewise.
63359         * modules/getdelim (Depends-on): Likewise.
63360         * modules/getline (Depends-on): Likewise.
63361         * modules/getsubopt (Depends-on): Likewise.
63362         * modules/gettext (Depends-on): Likewise.
63363         * modules/group-member (Depends-on): Likewise.
63364         * modules/mbchar (Depends-on): Likewise.
63365         * modules/memmem (Depends-on): Likewise.
63366         * modules/mempcpy (Depends-on): Likewise.
63367         * modules/memrchr (Depends-on): Likewise.
63368         * modules/pagealign_alloc (Depends-on): Likewise.
63369         * modules/readutmp (Depends-on): Likewise.
63370         * modules/stpcpy (Depends-on): Likewise.
63371         * modules/stpncpy (Depends-on): Likewise.
63372         * modules/strchrnul (Depends-on): Likewise.
63373         * modules/strndup (Depends-on): Likewise.
63374         * modules/strsep (Depends-on): Likewise.
63375         * modules/strverscmp (Depends-on): Likewise.
63376         * modules/vasprintf (Depends-on): Likewise.
63377         * modules/wcwidth (Depends-on): Likewise.
63378         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
63379         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
63380         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
63381         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
63382         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
63383         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
63384         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
63385         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
63386         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
63387         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
63388         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
63389         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
63390         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
63391         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
63392         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
63393         * m4/readutmp.m4 (gl_READUTMP): Likewise.
63394         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
63395         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
63396         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
63397         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
63398         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
63399         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
63400         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
63401         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
63402         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
63403         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
63404         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
63405         so that lock.m4 can be used in gettext without extensions module.
63406
63407 2007-09-11  Bruno Haible  <bruno@clisp.org>
63408
63409         * m4/isc-posix.m4: Remove file.
63410         Suggested by Eric Blake.
63411
63412 2007-09-11  Eric Blake  <ebb9@byu.net>
63413
63414         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
63415
63416 2007-09-10  Bruno Haible  <bruno@clisp.org>
63417
63418         * posix-modules: Fix typo in error message.
63419         Reported by Matt <mkraai@beckman.com>.
63420
63421 2007-09-09  Bruno Haible  <bruno@clisp.org>
63422
63423         * doc/functions/getdelim.texi: Update list of platforms lacking the
63424         function.
63425         * doc/functions/getline.texi: Likewise.
63426
63427 2007-09-09  Jim Meyering  <jim@meyering.net>
63428
63429         * lib/hash.c (hash_initialize): Detect calloc failure.
63430         Reported by Bruno Haible.
63431
63432 2007-09-09  Bruno Haible  <bruno@clisp.org>
63433
63434         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
63435         malloc or realloc fails.
63436
63437 2007-09-09  Bruno Haible  <bruno@clisp.org>
63438
63439         * modules/getcwd (Depends-on): Add malloc-posix.
63440         * modules/glob (Depends-on): Likewise.
63441         * modules/putenv (Depends-on): Likewise.
63442         * modules/strdup (Depends-on): Likewise.
63443         * modules/getdelim (Depends-on): Add realloc-posix.
63444         * modules/read-file (Depends-on): Likewise.
63445
63446 2007-09-09  Bruno Haible  <bruno@clisp.org>
63447
63448         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
63449         (gl_FUNC_MALLOC_POSIX): Require it.
63450         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
63451         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
63452         * modules/realloc (Files): Add m4/malloc.m4.
63453         * modules/calloc (Files): Likewise.
63454
63455 2007-09-09  Bruno Haible  <bruno@clisp.org>
63456
63457         * modules/malloc-posix: New file.
63458         * modules/malloc (Depends-on): Add malloc-posix.
63459         * lib/malloc.c: Include errno.h.
63460         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
63461         and a POSIX-compatible malloc into a single function. Set ENOMEM
63462         when returning NULL.
63463         * m4/malloc.m4: New file.
63464         * doc/functions/malloc.texi: Mention the malloc-posix module.
63465         * lib/stdlib_.h (malloc): New declaration.
63466         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
63467         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
63468         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
63469         and HAVE_MALLOC_POSIX.
63470
63471 2007-09-09  Bruno Haible  <bruno@clisp.org>
63472
63473         * modules/realloc-posix: New file.
63474         * modules/realloc (Depends-on): Add realloc-posix.
63475         * lib/realloc.c: Include errno.h.
63476         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
63477         and a POSIX-compatible realloc into a single function. Set ENOMEM
63478         when returning NULL.
63479         * m4/realloc.m4: New file.
63480         * doc/functions/realloc.texi: Mention the realloc-posix module.
63481         * lib/stdlib_.h (realloc): New declaration.
63482         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
63483         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
63484         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
63485         and HAVE_REALLOC_POSIX.
63486
63487 2007-09-09  Bruno Haible  <bruno@clisp.org>
63488
63489         * modules/calloc-posix: New file.
63490         * modules/calloc (Depends-on): Add calloc-posix.
63491         * lib/calloc.c: Include errno.h.
63492         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
63493         and a POSIX-compatible calloc into a single function. Set ENOMEM
63494         when returning NULL.
63495         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
63496         * doc/functions/calloc.texi: Mention the calloc-posix module.
63497         * lib/stdlib_.h (calloc): New declaration.
63498         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
63499         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
63500         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
63501         and HAVE_CALLOC_POSIX.
63502
63503 2007-09-09  Bruno Haible  <bruno@clisp.org>
63504
63505         Allow for modules to show an arbitrary notice.
63506         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
63507         * gnulib-tool: New option --extract-notice.
63508         (func_usage): Document it.
63509         (sed_extract_prog): Update.
63510         (func_get_notice): New function.
63511         (func_modules_notice): New function.
63512         (func_import, func_create_testdir): Invoke it.
63513         Suggested by Jim Meyering.
63514
63515 2007-09-09  Bruno Haible  <bruno@clisp.org>
63516
63517         * gnulib-tool: New options --verbose, --quiet.
63518         (func_usage): Document them.
63519         (verbose): New variable.
63520         (func_execute_command): New function.
63521         (func_import): Don't show the module list and the file list if
63522         $verbose < 0.
63523         (func_create_testdir): Likewise. Use func_execute_command.
63524         (func_create_megatestdir): Use func_execute_command.
63525
63526 2007-09-08  Bruno Haible  <bruno@clisp.org>
63527
63528         * gnulib-tool (func_import): Prefer rsync over wget when available,
63529         for fetching the PO files.
63530
63531 2007-09-08  Bruno Haible  <bruno@clisp.org>
63532
63533         * posix-modules: New file. Portions copied from gnulib-tool.
63534         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
63535
63536 2007-09-08  Jim Meyering  <jim@meyering.net>
63537
63538         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
63539         * lib/fpending.h: Rename from __fpending.h.
63540         * lib/fpending.c: Rename from __fpending.c.
63541         Include "fpending.h", not "__fpending.h".
63542         * lib/__fpending.h, lib/__fpending.c: Remove files.
63543         * modules/fpending (Files): Reflect new file names.
63544         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
63545
63546 2007-09-08  Bruno Haible  <bruno@clisp.org>
63547
63548         * m4/inttypes-h.m4: Remove stub file.
63549
63550 2007-09-07  Simon Josefsson  <simon@josefsson.org>
63551
63552         * doc/headers/stdint.texi: Discuss #include_next issue.
63553
63554 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
63555
63556         * build-aux/bootstrap: Remove obsolete comment about wget --help.
63557
63558 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
63559
63560         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
63561         in variable name.
63562
63563 2007-09-03  Jim Meyering  <jim@meyering.net>
63564
63565         New module: git-version-gen.
63566         * modules/git-version-gen: New file.
63567
63568         Import changes from coreutils for bootstrap script.
63569
63570         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
63571
63572         bootstrap: uses rsync to download the .po files
63573         * build-aux/bootstrap (po_download_command_format): New global.
63574         (download_po_files): Use rsync.
63575         (update_po_files): Don't remove .po files after download,
63576         so future rsync runs can take advantage of the copies.
63577
63578         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
63579
63580         Solve the unnecessary-.po-file-regeneration problem once and for all.
63581         * build-aux/bootstrap (download_po_files): New function, renamed from
63582         get_translations.  Now, downloads, but doesn't update LINGUAS.
63583         (update_po_files): New function.
63584
63585         bootstrap: Ignore more.
63586         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
63587         uniwidth to e.g., lib/.gitignore.
63588         (slurp): Handle the sys_stat_.h -> sys mapping, too.
63589
63590         * build-aux/bootstrap: New setting: vc_ignore.
63591         (insert_sorted_if_absent): Create $file if absent.
63592         Adapt to new, possibly empty, list: $vc_ignore.
63593
63594         bootstrap: generate more ignorable names
63595         * build-aux/bootstrap (slurp): When generating ignorable names,
63596         also map .sin to .sed, .gperf to .c, and .y to .c.
63597
63598 2007-09-03  Jim Meyering  <jim@meyering.net>
63599
63600         * build-aux/git-version-gen: New file, from coreutils.  For details, see
63601         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
63602
63603 2007-09-02  Bruno Haible  <bruno@clisp.org>
63604
63605         Fix mis-recognition of 'mcs' on QNX 6.
63606         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
63607         output contains the string "Mono".
63608         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
63609         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
63610
63611 2007-09-01  Bruno Haible  <bruno@clisp.org>
63612
63613         Fix collision between uniwidth/* and linebreak modules.
63614         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
63615         u32_width): Remove declarations.
63616         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
63617         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
63618         streq3, streq2, streq1, streq0): Remove functions.
63619         (STREQ): Remove macro.
63620         (is_cjk_encoding): Remove function.
63621         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
63622         (uc_width, u8_width, u16_width, u32_width): Remove functions.
63623         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
63624         * NEWS: Document the change.
63625
63626 2007-09-01  Bruno Haible  <bruno@clisp.org>
63627
63628         * lib/streq.h: Add double-inclusion guard.
63629
63630 2007-09-01  Karl Berry  <karl@gnu.org>
63631
63632         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
63633
63634 2007-08-28  Jim Meyering  <jim@meyering.net>
63635
63636         Rename mreadlink_with_size to areadlink_with_size.
63637         * NEWS: Document the change.
63638         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
63639         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
63640         * lib/mreadlink.h: Rename this to...
63641         * lib/areadlink.h: ...this.
63642         * modules/mreadlink-with-size: Rename this to...
63643         * modules/areadlink-with-size: ...this.
63644         * lib/canonicalize.c: Reflect the renaming.
63645         * modules/canonicalize: Likewise.
63646
63647 2007-08-26  Bruno Haible  <bruno@clisp.org>
63648
63649         * gnulib-tool (func_import): When deciding which files to remove,
63650         consider also dangling symbolic links.
63651         Reported by Eric Blake.
63652
63653 2007-08-26  Bruno Haible  <bruno@clisp.org>
63654
63655         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
63656
63657 2007-08-23  Simon Josefsson  <simon@josefsson.org>
63658
63659         * lib/readline.c: Don't include getline.h, the prototype is now
63660         found in stdio.h.
63661
63662 2007-08-23  Jim Meyering  <jim@meyering.net>
63663
63664         Getdelim touchup.
63665         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
63666         around the funlockfile call, since funlockfile never sets errno.
63667         Don't set errno upon failed realloc.
63668
63669 2007-08-22  Eric Blake  <ebb9@byu.net>
63670
63671         Getline touchups.
63672         * lib/getdelim.c (getdelim): Revert regression that required *n to
63673         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
63674         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
63675         getdelim, rather than whether implementation is missing.
63676         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
63677         * lib/stdio_.h (getline): Also declare if replacement is
63678         required.
63679         * doc/functions/getdelim.texi: New file.
63680         * doc/functions/getline.texi: Likewise.
63681         * doc/gnulib.texi (Function Substitutes): Add new files.
63682         Reported by Bruno Haible.
63683
63684 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
63685
63686         * users.txt: Add Guile.
63687
63688 2007-08-22  Eric Blake  <ebb9@byu.net>
63689
63690         * tests/test-getdelim.c (main): Use remove, not unlink.
63691         * tests/test-getline.c (main): Likewise.
63692
63693         Move getline and getdelim into stdio.h, per POSIX 200x.
63694         * modules/getline (Files): Remove getline.h.
63695         (Depends-on): Add stdio.
63696         (configure.ac): Add module indicator.
63697         * modules/getdelim (Files): Remove getdelim.h.
63698         (Depends-on): Add stdio.
63699         (configure.ac): Add module indicator.
63700         * modules/stdio (Makefile.am): Work with new indicators.
63701         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
63702         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
63703         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
63704         * lib/getdelim.h: Delete.
63705         * lib/getline.h: Delete.
63706         * lib/stdio_.h (getdelim, getline): Declare.
63707         * modules/getdelim-tests: New module.
63708         * modules/getline-tests: Likewise.
63709         * tests/test-getdelim.c: New file.
63710         * tests/test-getline.c: Likewise.
63711         * NEWS: Document the change.
63712         * lib/getline.c: Update choice of header.
63713         * lib/csharpcomp.c: Likewise.
63714         * lib/getpass.c: Likewise.
63715         * lib/javacomp.c: Likewise.
63716         * lib/javaversion.c: Likewise.
63717         * lib/yesno.c: Likewise.
63718         * lib/getdelim.c: Likewise.
63719         (getdelim): Set errno on failure, and avoid memory leak.
63720
63721 2007-08-19  Bruno Haible  <bruno@clisp.org>
63722
63723         * modules/closein (Depends-on): Add freadahead.
63724         * lib/closein.c: Include freadahead.h.
63725         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
63726         is zero.
63727
63728 2007-08-19  Bruno Haible  <bruno@clisp.org>
63729
63730         * modules/freadahead-tests: New file.
63731         * tests/test-freadahead.sh: New file.
63732         * tests/test-freadahead.c: New file.
63733
63734         * modules/freadahead: New file.
63735         * lib/freadahead.h: New file.
63736         * lib/freadahead.c: New file.
63737         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
63738         fbufmode, fpurge, freadable, fwritable.
63739
63740 2007-08-19  Eric Blake  <ebb9@byu.net>
63741
63742         Test yesno in combination with closein.
63743         * lib/yesno.c (yesno): Document use of stdin.
63744         * modules/yesno-tests (Files): New module.
63745         * tests/test-yesno.c (main): New file.
63746         * tests/test-yesno.sh: Likewise.
63747
63748 2007-08-19  Bruno Haible  <bruno@clisp.org>
63749
63750         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
63751         * lib/fseeko.c (rpl_fseeko): Likewise.
63752         * lib/fseterr.c (fseterr): Likewise.
63753
63754 2007-08-19  Bruno Haible  <bruno@clisp.org>
63755
63756         * tests/test-lseek.c (main): Disable a test for BeOS.
63757         * doc/functions/lseek.texi: Document the BeOS bug.
63758
63759 2007-08-19  Bruno Haible  <bruno@clisp.org>
63760             Eric Blake  <ebb9@byu.net>
63761
63762         * lib/lseek.c: Include <sys/stat.h>.
63763         (rpl_lseek): Add workaround code also for Unix platforms.
63764         Needed for BeOS.
63765         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
63766         * doc/functions/lseek.texi: Document BeOS definiency.
63767
63768 2007-08-18  Bruno Haible  <bruno@clisp.org>
63769
63770         * modules/fstrcmp-tests: New file.
63771         * tests/test-fstrcmp.c: New file.
63772
63773 2007-08-18  Bruno Haible  <bruno@clisp.org>
63774
63775         * modules/fstrcmp: New file, from GNU gettext with modifications.
63776         * lib/fstrcmp.h: New file, from GNU gettext.
63777         * lib/fstrcmp.c: New file, from GNU gettext.
63778         * MODULES.html.sh (String handling): Add fstrcmp.
63779
63780 2007-08-18  Bruno Haible  <bruno@clisp.org>
63781
63782         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
63783         'bool'.
63784         (diag, compareseq): Remove const from the ctxt argument.
63785         (USE_HEURISTIC): Undefine at the end.
63786
63787 2007-08-18  Jim Meyering  <jim@meyering.net>
63788
63789         New file: lib/idcache.h
63790         * NEWS: Mention the addition.
63791         * modules/idcache (Files): Add lib/idcache.h
63792         * lib/idcache.c: Include "idcache.h".
63793         Don't include <sys/types.h>.
63794         Add a FIXME comment.
63795         Move file-scoped "static" declarations to the top.
63796         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
63797
63798 2007-08-17  Bruno Haible  <bruno@clisp.org>
63799         and Paul Eggert  <eggert@cs.ucla.edu>
63800
63801         * MODULES.html.sh: Add diffseq.
63802         * modules/diffseq: New file.
63803         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
63804         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
63805
63806 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
63807
63808         Import changes from coreutils for bootstrap script.
63809
63810         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
63811
63812         * build-aux/bootstrap (slurp): Work even in environments where
63813         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
63814         current code does not slurp files whose names start with ".", and
63815         this looks like it might be a troublesome area.
63816
63817         2007-07-11  Jim Meyering  <jim@meyering.net>
63818
63819         If there's a GPL vN copyright comment, require that N == 3.
63820
63821         2007-07-08  Jim Meyering  <jim@meyering.net>
63822
63823         Run the coreutils-specific code only if tests/Makefile.am.in exists.
63824         * build-aux/bootstrap (mam_template): Move definition out of loop.
63825
63826         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
63827
63828         * build-aux/bootstrap (symlink_to_dir): Rename function from
63829         symlink_to_gnulib.  Add a directory parameter.  Update all
63830         callers.
63831         (cp_mark_as_generated): Also check for -- and link to -- files in
63832         gl/.
63833
63834         2007-07-08  Jim Meyering  <jim@meyering.net>
63835
63836         Adapt to deeper hierarchy in gnulib.
63837         * build-aux/bootstrap (symlink_to_dir): If the destination
63838         directory doesn't exist, create it. This is required at least for
63839         "lib/uniwidth/cjk.h".
63840
63841         2007-05-15  Jim Meyering  <jim@meyering.net>
63842
63843         * build-aux/bootstrap: Now that generated Makefile.am files
63844         are no longer under version control, they must be created at
63845         bootstrap time.
63846
63847 2007-08-14  Ben Pfaff  <blp@gnu.org>
63848
63849         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
63850
63851 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
63852
63853         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
63854         given the changes below.
63855         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
63856         even on hosts that have padding bits beyond the supported 64.
63857
63858 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
63859
63860         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
63861         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
63862         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
63863         depends on it.
63864         (xstrtol_error): Remove.
63865         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
63866         but with a different signature.
63867         (ATTRIBUTE_NORETURN, __attribute__): New macros.
63868         * lib/xstrtol-error.c: Include exitfail.h.
63869         (xstrtol_fatal): New function, with a different signature from the
63870         old xstrtol_error, so that the caller need not worry about passing
63871         in an exit status, or about storage management of the option argument.
63872         (xstrtol_error): Now a static function.  Redo signature to
63873         implement xstrtol_fatal.  Output the correct number of hyphens in
63874         front of the option so that the caller need not worry about
63875         storage management.
63876         (N_): New macro.
63877         (_): Remove; not used now.
63878         * modules/xstrtol: Depend on getopt.
63879         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
63880         of old STRTOL_FATAL_ERROR macro.
63881         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
63882         of test program.
63883         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
63884         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
63885
63886 2007-08-08  Eric Blake  <ebb9@byu.net>
63887
63888         * lib/xstrtol-error.c: Add missing include.
63889
63890         Move xstrtol messages into gnulib domain, when --pobase is used.
63891         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
63892         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
63893         * modules/xstrtol (Files): Distribute new file.
63894         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
63895         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
63896         * tests/test-xstrtol.c: ...into new file.
63897         * tests/test-xstrtoul.c: Also test xstrtoul.
63898         * tests/test-xstrtoimax.c: Also test xstrtoimax.
63899         * tests/test-xstrtoumax.c: Also test xstrtoumax.
63900         * tests/test-xstrtol.sh: Drive the tests.
63901         * tests/test-xstrtoimax.sh: Likewise.
63902         * tests/test-xstrtoumax.sh: Likewise.
63903         * modules/xstrtol-tests: New module.
63904         * modules/xstrtoimax-tests: Likewise.
63905         * modules/xstrtoumax-tests: Likewise.
63906
63907 2007-08-08  Jim Meyering  <jim@meyering.net>
63908
63909         New function: mfile_name_concat.
63910         * lib/filenamecat.c (mfile_name_concat): New function, just like
63911         file_name_concat, but return NULL upon failure rather than exiting
63912         with a diagnostic.
63913         * lib/filenamecat.h: Declare it.
63914
63915 2007-08-07  Bruno Haible  <bruno@clisp.org>
63916
63917         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
63918         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
63919         warning from gcc.
63920         Reported by Eric Blake.
63921
63922 2007-08-07  Simon Josefsson  <simon@josefsson.org>
63923
63924         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
63925         * modules/crypto/arcfour (License): Likewise.
63926         * modules/crypto/des-tests (License): Likewise.
63927         * modules/crypto/gc-arctwo-tests (License): Likewise.
63928         * modules/crypto/gc-des-tests (License): Likewise.
63929         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
63930         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
63931         * modules/crypto/gc-md2-tests (License): Likewise.
63932         * modules/crypto/gc-md4-tests (License): Likewise.
63933         * modules/crypto/gc-md5-tests (License): Likewise.
63934         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
63935         * modules/crypto/gc-rijndael-tests (License): Likewise.
63936         * modules/crypto/gc-sha1-tests (License): Likewise.
63937         * modules/crypto/gc-tests (License): Likewise.
63938         * modules/crypto/hmac-md5 (License): Likewise.
63939         * modules/crypto/hmac-sha1 (License): Likewise.
63940         * modules/crypto/md2-tests (License): Likewise.
63941         * modules/crypto/md4-tests (License): Likewise.
63942         * modules/crypto/md5 (License): Likewise.
63943         * modules/crypto/rijndael (License): Likewise.
63944         * modules/crypto/sha1 (License): Likewise.
63945         * modules/memxor (License): Likewise.
63946
63947 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
63948         and Bruno Haible  <bruno@clisp.org>
63949
63950         * NEWS: Describe interface changes to human, xstrtol.
63951         * lib/human.h: Include <xstrtol.h>.
63952         (human_options): Return enum strtol_error, not int.  Remove
63953         bool arg; take int * instead.
63954         * lib/human.c: Don't include "gettext.h".
63955         (_): Remove; no longer used.
63956         Don't include <xstrtol.h>, since human.h does it.
63957         (human_options): Adjust to abovementioned interface changes.
63958         Do not report error to stderr; that's now the caller's
63959         responsibility.
63960         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
63961         interface change.
63962         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
63963         Str, Argument_type_string.  All uses changed.  Put " argument"
63964         in diagnostics to make them clearer.  Change wording of suffix
63965         message for clarity.
63966         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
63967         Argument_type_string.
63968         (STRTOL_FATAL_WARN): Remove; no longer used.
63969         * modules/human (Depends-on): Remove gettext-h.
63970
63971 2007-08-06  Simon Josefsson  <simon@josefsson.org>
63972
63973         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
63974
63975 2007-07-31  Bruno Haible  <bruno@clisp.org>
63976
63977         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
63978         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
63979         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
63980
63981 2007-07-31  Bruno Haible  <bruno@clisp.org>
63982
63983         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
63984         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
63985
63986 2007-07-30  Bruno Haible  <bruno@clisp.org>
63987
63988         * modules/base64 (License): Use the synonymous term "LGPLv2+".
63989         * modules/c-ctype (License): Likewise.
63990         * modules/c-strcase (License): Likewise.
63991         * modules/check-version (License): Likewise.
63992         * modules/iconv (License): Likewise.
63993         * modules/iconv_open (License): Likewise.
63994         * modules/read-file (License): Likewise.
63995         * modules/striconv (License): Likewise.
63996         * modules/strverscmp (License): Likewise.
63997         * modules/vasprintf (License): Likewise.
63998         * modules/crypto/des (License): Likewise.
63999         * modules/crypto/gc (License): Likewise.
64000         * modules/crypto/gc-arcfour (License): Likewise.
64001         * modules/crypto/gc-arctwo (License): Likewise.
64002         * modules/crypto/gc-des (License): Likewise.
64003         * modules/crypto/gc-hmac-md5 (License): Likewise.
64004         * modules/crypto/gc-hmac-sha1 (License): Likewise.
64005         * modules/crypto/gc-md2 (License): Likewise.
64006         * modules/crypto/gc-md4 (License): Likewise.
64007         * modules/crypto/gc-md5 (License): Likewise.
64008         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
64009         * modules/crypto/gc-random (License): Likewise.
64010         * modules/crypto/gc-rijndael (License): Likewise.
64011         * modules/crypto/gc-sha1 (License): Likewise.
64012         * modules/crypto/md2 (License): Likewise.
64013         * modules/crypto/md4 (License): Likewise.
64014
64015 2007-07-30  Jim Meyering  <jim@meyering.net>
64016
64017         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
64018         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
64019         it has valid stat data.  This bug would cause du not to count the
64020         sizes of inaccessible directories.
64021         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
64022         in <http://bugzilla.redhat.com/250077>.
64023
64024 2007-07-25  Peter O'Gorman  <peter@pogma.com>
64025             Bruno Haible  <bruno@clisp.org>
64026
64027         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
64028         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
64029         #include_next, gives a diagnostic about it, but reports no error in
64030         the exit code.
64031         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
64032
64033 2007-07-24  Ben Pfaff  <blp@gnu.org>
64034
64035         Improve name: "count-one-bits" is better than "popcount".
64036         * MODULES.html.sh: Update name.
64037         * lib/popcount.h: Renamed lib/count-one-bits.h.
64038         (popcount): Renamed count_one_bits.
64039         (popcountl): Renamed count_one_bits_l.
64040         (popcountll): Renamed count_one_bits_ll.
64041         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
64042         * modules/popcount: Renamed module/count-one-bits.
64043         * modules/popcount-tests: Renamed module/count-one-bits-tests.
64044         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
64045
64046 2007-07-23  Ben Pfaff  <blp@gnu.org>
64047
64048         * lib/popcount.h (popcount32): Reduce size of constants, to allow
64049         better code generation, and add U to large constants to avoid
64050         warnings, in non-GCC case.
64051         Suggested by Bruno Haible.
64052
64053 2007-07-23  Ben Pfaff  <blp@gnu.org>
64054
64055         * lib/popcount.h: Use verify_true instead of if...abort.
64056         * modules/popcount: Depend on verify module.
64057         Suggested by Jim Meyering.
64058
64059 2007-07-23  Bruno Haible  <bruno@clisp.org>
64060
64061         * gnulib-tool (func_import): Create a .cvsignore file also when the
64062         directory is not yet in CVS but the toplevel directory is. When
64063         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
64064         Reported by Karl Berry.
64065
64066 2007-07-22  Ben Pfaff  <blp@gnu.org>
64067
64068         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
64069         case.
64070         Suggested by Eric Blake.
64071
64072 2007-07-22  Ben Pfaff  <blp@gnu.org>
64073
64074         New module: popcount.
64075         * MODULES.html.sh: Add popcount.
64076         * modules/popcount: New file.
64077         * modules/popcount-tests: New file.
64078         * tests/test-popcount.c: New file.
64079         * lib/popcount.h: New file.
64080         * m4/popcount.m4: New file.
64081
64082 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
64083
64084         * build-aux/announce-gen: Update to GPLv3.
64085
64086         * build-aux/config.guess: Update from config.
64087
64088 2007-07-21  Bruno Haible  <bruno@clisp.org>
64089
64090         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
64091         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
64092
64093 2007-07-20  Jim Meyering  <jim@meyering.net>
64094
64095         * check-module: Diagnose a self-dependency.
64096
64097 2007-07-19  Bruno Haible  <bruno@clisp.org>
64098
64099         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
64100         empty.
64101         Reported by Eric Blake.
64102
64103 2007-07-18  Bruno Haible  <bruno@clisp.org>
64104
64105         * gnulib-tool: New options --po-base, --po-domain.
64106         (func_usage): Document them.
64107         (pobase, po_domain): New variables.
64108         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
64109         DEFAULT_TEXT_DOMAIN.
64110         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
64111         (func_import): Consider pobase and po_domain. Create a po/ directory.
64112         (func_create_testdir): Set pobase and po_domain to empty.
64113         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
64114         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
64115
64116 2007-07-18  Bruno Haible  <bruno@clisp.org>
64117
64118         * gnulib-tool (func_get_automake_snippet): Synthesize also an
64119         EXTRA_DIST augmentation for files in build-aux/.
64120
64121 2007-07-16  Bruno Haible  <bruno@clisp.org>
64122
64123         * modules/lseek (License): Use the synonymous term "LGPLv2+".
64124         * modules/getdelim (License): Likewise.
64125
64126 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
64127
64128         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
64129         * modules/d-type (License): Likewise.
64130         * modules/extensions (License): Likewise.
64131         * modules/fnmatch (License): Likewise.
64132         * modules/fseeko (License): Likewise.
64133         * modules/getaddrinfo (License): Likewise.
64134         * modules/getline (License): Likewise.
64135         * modules/getlogin_r (License): Likewise.
64136         * modules/getpass (License): Likewise.
64137         * modules/gettimeofday (License): Likewise.
64138         * modules/glob (License): Likewise.
64139         * modules/inet_ntop (License): Likewise.
64140         * modules/malloc (License): Likewise.
64141         * modules/malloca (License): Likewise.
64142         * modules/memmem (License): Likewise.
64143         * modules/mempcpy (License): Likewise.
64144         * modules/memset (License): Likewise.
64145         * modules/minmax (License): Likewise.
64146         * modules/mktime (License): Likewise.
64147         * modules/netinet_in (License): Likewise.
64148         * modules/pathmax (License): Likewise.
64149         * modules/poll (License): Likewise.
64150         * modules/regex (License): Likewise.
64151         * modules/snprintf (License): Likewise.
64152         * modules/stdbool (License): Likewise.
64153         * modules/stdint (License): Likewise.
64154         * modules/stdio (License): Likewise.
64155         * modules/strcase (License): Likewise.
64156         * modules/strcasestr (License): Likewise.
64157         * modules/strdup (License): Likewise.
64158         * modules/string (License): Likewise.
64159         * modules/strndup (License): Likewise.
64160         * modules/strnlen (License): Likewise.
64161         * modules/strpbrk (License): Likewise.
64162         * modules/strptime (License): Likewise.
64163         * modules/strsep (License): Likewise.
64164         * modules/sys_select (License): Likewise.
64165         * modules/sys_socket (License): Likewise.
64166         * modules/sys_stat (License): Likewise.
64167         * modules/sys_time (License): Likewise.
64168         * modules/time (License): Likewise.
64169         * modules/time_r (License): Likewise.
64170         * modules/timegm (License): Likewise.
64171         * modules/unistd (License): Likewise.
64172         * modules/vsnprintf (License): Likewise.
64173         * modules/wctype (License): Likewise.
64174
64175 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64176
64177         * modules/argz (License): LGPLv2+.
64178
64179 2007-07-15  Karl Berry  <karl@gnu.org>
64180
64181         * doc/gnulib.texi: revise node structure per new fdl.texi.
64182
64183 2007-07-14  Bruno Haible  <bruno@clisp.org>
64184
64185         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
64186         the output file.
64187         * lib/uniname/uninames.h: Regenerated.
64188
64189 2007-07-14  Karl Berry  <karl@gnu.org>
64190
64191         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
64192         omitting sectioning and index commands.
64193
64194 2007-07-13  Bruno Haible  <bruno@clisp.org>
64195
64196         New gnulib-tool option --more-symlinks.
64197         * gnulib-tool (func_usage): Document --more-symlinks.
64198         (do_copyrights): New variable.
64199         Recognize option --more-symlinks.
64200         (func_import): Don't add a copyright notice transform to
64201         sed_transform_lib_file if do_copyrights is empty.
64202
64203 2007-07-13  Bruno Haible  <bruno@clisp.org>
64204
64205         * lib/vasnprintf.c (decimal_point_char): Define also if
64206         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
64207         && !NEED_PRINTF_DIRECTIVE_A.
64208         Reported by Clemens Koller <clemens.koller@anagramm.de> via
64209         Gary V. Vaughan <gary@gnu.org>.
64210
64211 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
64212
64213         * lib/inttypes_.h: Undo previous change, since it was fixed
64214         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
64215
64216 2007-07-13  Bruno Haible  <bruno@clisp.org>
64217
64218         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
64219         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
64220
64221 2007-07-13  Jim Meyering  <jim@meyering.net>
64222
64223         df: Don't fail for Tru64's "file-on-file mount".
64224         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
64225         so we fall through and use statfs instead.  Details here:
64226         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
64227         Reported by Albert Chin.
64228
64229 2007-07-13  Bruno Haible  <bruno@clisp.org>
64230
64231         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
64232         * modules/configmake (License): Likewise.
64233         * modules/gettext (License): Likewise.
64234         * modules/gettext-h (License): Likewise.
64235         * modules/include_next (License): Likewise.
64236         * modules/link-warning (License): Likewise.
64237         * modules/localcharset (License): Likewise.
64238         * modules/localename (License): Likewise.
64239         * modules/lock (License): Likewise.
64240         * modules/relocatable-lib-lgpl (License): Likewise.
64241         * modules/size_max (License): Likewise.
64242         * modules/vasnprintf (License): Likewise.
64243         * modules/wchar (License): Likewise.
64244         * modules/xsize (License): Likewise.
64245
64246 2007-07-13  Bruno Haible  <bruno@clisp.org>
64247
64248         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
64249         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
64250
64251 2007-07-12  Bruno Haible  <bruno@clisp.org>
64252
64253         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
64254         in the modules files.
64255
64256 2007-07-11  Karl Berry  <karl@gnu.org>
64257
64258         * MODULES.html.sh (func_module): use
64259          sed -e '\|^'"${includefile}"'$|d'
64260          instead of /.../d, to avoid errors on $includefile's containing /.
64261
64262 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
64263
64264         * gnulib-tool (func_import): Avoid duplication of --avoid
64265         statements
64266         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
64267         names to `_' in variable names.
64268
64269 2007-07-10  Eric Blake  <ebb9@byu.net>
64270
64271         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
64272         * NEWS: Document this change.
64273
64274 2007-07-08  Bruno Haible  <bruno@clisp.org>
64275
64276         Update to Unicode 5.0.
64277         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
64278         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
64279         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
64280         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
64281         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
64282         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
64283         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
64284         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
64285         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
64286         U+10A3F, U+1D242..U+1D244.
64287         (nonspacing_table_ind): Update.
64288         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
64289         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
64290
64291 2007-07-08  Bruno Haible  <bruno@clisp.org>
64292
64293         Update to Unicode 5.0.
64294         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
64295         code transform. Extend the name index field of unicode_name_to_code and
64296         unicode_code_to_name from 16 to 24 bits.
64297         * lib/uniname/uniname.c (unicode_character_name,
64298         unicode_name_character): Add the range 0x12xxx to the code transform.
64299         * lib/uniname/uninames.h: Regenerated.
64300         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
64301
64302 2007-07-07  Bruno Haible  <bruno@clisp.org>
64303
64304         * modules/wcwidth-tests: New file.
64305         * tests/test-wcwidth.c: New file.
64306
64307         Work around MacOS X wcwidth() bug.
64308         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
64309         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
64310         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
64311         original wcwidth in non-UTF-8 locales.
64312         * modules/wcwidth (Depends-on): Add localcharset, streq,
64313         uniwidth/width.
64314         * doc/functions/wcwidth.texi: Update.
64315
64316 2007-07-07  Bruno Haible  <bruno@clisp.org>
64317
64318         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
64319         (wcwidth): New declaration.
64320         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
64321         macros.
64322         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
64323         here. Prepare for creating <wchar.h> unconditionally.
64324         * modules/wchar (Depends-on): Add link-warning.
64325         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
64326         REPLACE_WCWIDTH, and GL_LINK_WARNING.
64327         * lib/wcwidth.h: Remove file.
64328         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
64329         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
64330         * modules/wcwidth (Files): Remove lib/wcwidth.h.
64331         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
64332         (Include): Replace wcwidth.h with <wchar.h>.
64333         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
64334         * lib/mbchar.h: Don't include wcwidth.h.
64335         * lib/mbswidth.c: Likewise.
64336         * NEWS: Mention the change.
64337
64338 2007-07-07  Bruno Haible  <bruno@clisp.org>
64339
64340         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
64341         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
64342         definition with an external declaration.
64343         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
64344         defined as a function. Remove AC_C_INLINE requirement.
64345         * modules/wcwidth (Files): Add lib/wcwidth.c.
64346         (Makefile.am): Remove redundant statement.
64347
64348 2007-07-07  Bruno Haible  <bruno@clisp.org>
64349
64350         * MODULES.html.sh (Unicode string functions): Add the new modules.
64351
64352         * tests/uniwidth/test-u32-strwidth.c: New file.
64353         * modules/uniwidth/u32-strwidth-tests: New file.
64354
64355         * lib/uniwidth/u32-strwidth.c: New file.
64356         * modules/uniwidth/u32-strwidth: New file.
64357
64358         * tests/uniwidth/test-u16-strwidth.c: New file.
64359         * modules/uniwidth/u16-strwidth-tests: New file.
64360
64361         * lib/uniwidth/u16-strwidth.c: New file.
64362         * modules/uniwidth/u16-strwidth: New file.
64363
64364         * tests/uniwidth/test-u8-strwidth.c: New file.
64365         * modules/uniwidth/u8-strwidth-tests: New file.
64366
64367         * lib/uniwidth/u8-strwidth.c: New file.
64368         * modules/uniwidth/u8-strwidth: New file.
64369
64370         * tests/uniwidth/test-u32-width.c: New file.
64371         * modules/uniwidth/u32-width-tests: New file.
64372
64373         * lib/uniwidth/u32-width.c: New file.
64374         * modules/uniwidth/u32-width: New file.
64375
64376         * tests/uniwidth/test-u16-width.c: New file.
64377         * modules/uniwidth/u16-width-tests: New file.
64378
64379         * lib/uniwidth/u16-width.c: New file.
64380         * modules/uniwidth/u16-width: New file.
64381
64382         * tests/uniwidth/test-u8-width.c: New file.
64383         * modules/uniwidth/u8-width-tests: New file.
64384
64385         * lib/uniwidth/u8-width.c: New file.
64386         * modules/uniwidth/u8-width: New file.
64387
64388         * tests/uniwidth/test-uc_width.c: New file.
64389         * modules/uniwidth/width-tests: New file.
64390
64391         * lib/uniwidth/width.c: New file, from GNU libiconv.
64392         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
64393         * modules/uniwidth/width: New file.
64394
64395         * lib/uniwidth.h: New file, from GNU libiconv.
64396         * modules/uniwidth/base: New file.
64397
64398 2007-07-07  Bruno Haible  <bruno@clisp.org>
64399
64400         * lib/uniname.h: New file, from GNU gettext.
64401         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
64402         * lib/uniname/uninames.h: New file, from GNU gettext.
64403         * lib/uniname/uniname.c: New file, from GNU gettext.
64404         * tests/uniname/test-uninames.sh: New file.
64405         * tests/uniname/test-uninames.c: New file, from GNU gettext.
64406         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
64407         * modules/uniname/base: New file.
64408         * modules/uniname/uniname: New file.
64409         * modules/uniname/uniname-tests: New file.
64410         * MODULES.html.sh (Unicode string functions): Add the new modules.
64411
64412 2007-07-06  Bruno Haible  <bruno@clisp.org>
64413
64414         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
64415
64416 2007-07-06  Bruno Haible  <bruno@clisp.org>
64417
64418         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
64419         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
64420         includes <cygwin/sys_time.h> which includes <sys/select.h> which
64421         include <sys/time.h>.
64422         Reported by Eric Blake.
64423
64424 2007-07-06  Eric Blake  <ebb9@byu.net>
64425
64426         Fix testing canonicalize on cygwin.
64427         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
64428         Revert patch from 2007-06-19.
64429         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
64430         canonicalize module is also in use.
64431         * tests/test-canonicalize.c: New file.
64432         * tests/test-canonicalize.sh: Likewise.
64433         * modules/canonicalize-tests: Likewise.
64434
64435 2007-07-06  Jim Meyering  <jim@meyering.net>
64436
64437         * lib/getugroups.c (getugroups): Detect getgrent failure.
64438         Adjust comment to reflect reality: this function may return -1.
64439
64440 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
64441
64442         * build-aux/bootstrap (TP_URL,get_translations): Update to use
64443         the new TP address.
64444         (usage): Fix typo
64445         (gnulib_mk): New variable.
64446
64447 2007-07-05  Jim Meyering  <jim@meyering.net>
64448
64449         Don't let endgrent clobber errno, no matter how improbable.
64450         * lib/getugroups.c (getugroups): Save and restore errno around
64451         endgrent call.
64452
64453         Close the group DB even when failing with 2^31 or more members.
64454         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
64455
64456 2007-07-04  Jim Meyering  <jim@meyering.net>
64457
64458         * lib/getugroups.h: New file.
64459         * lib/getugroups.c: Include "getugroups.h".
64460         Remove uses of "register" keyword.
64461         Move local variable, "cp", down into scope where used.
64462         Give "username" parameter the "const" attribute.
64463         * modules/getugroups (Files): Add lib/getugroups.h
64464
64465 2007-07-04  Karl Berry  <karl@gnu.org>
64466
64467         * MODULES.html.sh (func_all_modules): Complete rename of
64468         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
64469
64470 2007-07-02  Bruno Haible  <bruno@clisp.org>
64471
64472         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
64473         mode, when inttypes.h comes from gnulib.
64474         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
64475
64476 2007-07-02  Simon Josefsson  <simon@josefsson.org>
64477
64478         * NEWS: Mention lgpl module name change.
64479
64480         * modules/lgpl-2.1: Renamed from lgpl.
64481
64482         * NEWS: Mention gpl module name change.
64483
64484         * modules/gpl-3.0: New file, based on gpl-2.0.
64485
64486         * modules/gpl-2.0: Renamed from gpl.
64487
64488         * modules/gpl: Fix filename, doc/gpl.texi is now found at
64489         doc/gpl-2.0.texi.
64490
64491 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
64492
64493         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
64494         #define __STDC_LIMIT_MACROS temporarily while including
64495         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
64496         Problem reported by Joel E. Denny in
64497         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
64498
64499 2007-07-01  Bruno Haible  <bruno@clisp.org>
64500
64501         * lib/unistdio.h: New file.
64502         * lib/unistdio/u-asnprintf.h: New file.
64503         * lib/unistdio/u-asprintf.h: New file.
64504         * lib/unistdio/u-printf-args.c: New file.
64505         * lib/unistdio/u-printf-args.h: New file.
64506         * lib/unistdio/u-printf-parse.h: New file.
64507         * lib/unistdio/u-snprintf.h: New file.
64508         * lib/unistdio/u-sprintf.h: New file.
64509         * lib/unistdio/u-vasprintf.h: New file.
64510         * lib/unistdio/u-vsnprintf.h: New file.
64511         * lib/unistdio/u-vsprintf.h: New file.
64512         * lib/unistdio/ulc-asnprintf.c: New file.
64513         * lib/unistdio/ulc-asprintf.c: New file.
64514         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
64515         * lib/unistdio/ulc-printf-parse.c: New file.
64516         * lib/unistdio/ulc-snprintf.c: New file.
64517         * lib/unistdio/ulc-sprintf.c: New file.
64518         * lib/unistdio/ulc-vasnprintf.c: New file.
64519         * lib/unistdio/ulc-vasprintf.c: New file.
64520         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
64521         * lib/unistdio/ulc-vsnprintf.c: New file.
64522         * lib/unistdio/ulc-vsprintf.c: New file.
64523         * lib/unistdio/u8-asnprintf.c: New file.
64524         * lib/unistdio/u8-asprintf.c: New file.
64525         * lib/unistdio/u8-printf-parse.c: New file.
64526         * lib/unistdio/u8-snprintf.c: New file.
64527         * lib/unistdio/u8-sprintf.c: New file.
64528         * lib/unistdio/u8-vasnprintf.c: New file.
64529         * lib/unistdio/u8-vasprintf.c: New file.
64530         * lib/unistdio/u8-vsnprintf.c: New file.
64531         * lib/unistdio/u8-vsprintf.c: New file.
64532         * lib/unistdio/u8-u8-asnprintf.c: New file.
64533         * lib/unistdio/u8-u8-asprintf.c: New file.
64534         * lib/unistdio/u8-u8-snprintf.c: New file.
64535         * lib/unistdio/u8-u8-sprintf.c: New file.
64536         * lib/unistdio/u8-u8-vasnprintf.c: New file.
64537         * lib/unistdio/u8-u8-vasprintf.c: New file.
64538         * lib/unistdio/u8-u8-vsnprintf.c: New file.
64539         * lib/unistdio/u8-u8-vsprintf.c: New file.
64540         * lib/unistdio/u16-asnprintf.c: New file.
64541         * lib/unistdio/u16-asprintf.c: New file.
64542         * lib/unistdio/u16-printf-parse.c: New file.
64543         * lib/unistdio/u16-snprintf.c: New file.
64544         * lib/unistdio/u16-sprintf.c: New file.
64545         * lib/unistdio/u16-vasnprintf.c: New file.
64546         * lib/unistdio/u16-vasprintf.c: New file.
64547         * lib/unistdio/u16-vsnprintf.c: New file.
64548         * lib/unistdio/u16-vsprintf.c: New file.
64549         * lib/unistdio/u16-u16-asnprintf.c: New file.
64550         * lib/unistdio/u16-u16-asprintf.c: New file.
64551         * lib/unistdio/u16-u16-snprintf.c: New file.
64552         * lib/unistdio/u16-u16-sprintf.c: New file.
64553         * lib/unistdio/u16-u16-vasnprintf.c: New file.
64554         * lib/unistdio/u16-u16-vasprintf.c: New file.
64555         * lib/unistdio/u16-u16-vsnprintf.c: New file.
64556         * lib/unistdio/u16-u16-vsprintf.c: New file.
64557         * lib/unistdio/u32-asnprintf.c: New file.
64558         * lib/unistdio/u32-asprintf.c: New file.
64559         * lib/unistdio/u32-printf-parse.c: New file.
64560         * lib/unistdio/u32-snprintf.c: New file.
64561         * lib/unistdio/u32-sprintf.c: New file.
64562         * lib/unistdio/u32-vasnprintf.c: New file.
64563         * lib/unistdio/u32-vasprintf.c: New file.
64564         * lib/unistdio/u32-vsnprintf.c: New file.
64565         * lib/unistdio/u32-vsprintf.c: New file.
64566         * lib/unistdio/u32-u32-asnprintf.c: New file.
64567         * lib/unistdio/u32-u32-asprintf.c: New file.
64568         * lib/unistdio/u32-u32-snprintf.c: New file.
64569         * lib/unistdio/u32-u32-sprintf.c: New file.
64570         * lib/unistdio/u32-u32-vasnprintf.c: New file.
64571         * lib/unistdio/u32-u32-vasprintf.c: New file.
64572         * lib/unistdio/u32-u32-vsnprintf.c: New file.
64573         * lib/unistdio/u32-u32-vsprintf.c: New file.
64574         * tests/unistdio/test-ulc-asnprintf1.c: New file.
64575         * tests/unistdio/test-ulc-asnprintf1.h: New file.
64576         * tests/unistdio/test-ulc-printf1.h: New file.
64577         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
64578         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
64579         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
64580         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
64581         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
64582         * tests/unistdio/test-ulc-vasprintf1.c: New file.
64583         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
64584         * tests/unistdio/test-ulc-vsprintf1.c: New file.
64585         * tests/unistdio/test-u8-asnprintf1.c: New file.
64586         * tests/unistdio/test-u8-asnprintf1.h: New file.
64587         * tests/unistdio/test-u8-printf1.h: New file.
64588         * tests/unistdio/test-u8-vasnprintf1.c: New file.
64589         * tests/unistdio/test-u8-vasnprintf2.c: New file.
64590         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
64591         * tests/unistdio/test-u8-vasnprintf3.c: New file.
64592         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
64593         * tests/unistdio/test-u8-vasprintf1.c: New file.
64594         * tests/unistdio/test-u8-vsnprintf1.c: New file.
64595         * tests/unistdio/test-u8-vsprintf1.c: New file.
64596         * tests/unistdio/test-u16-asnprintf1.c: New file.
64597         * tests/unistdio/test-u16-asnprintf1.h: New file.
64598         * tests/unistdio/test-u16-printf1.h: New file.
64599         * tests/unistdio/test-u16-vasnprintf1.c: New file.
64600         * tests/unistdio/test-u16-vasnprintf2.c: New file.
64601         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
64602         * tests/unistdio/test-u16-vasnprintf3.c: New file.
64603         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
64604         * tests/unistdio/test-u16-vasprintf1.c: New file.
64605         * tests/unistdio/test-u16-vsnprintf1.c: New file.
64606         * tests/unistdio/test-u16-vsprintf1.c: New file.
64607         * tests/unistdio/test-u32-asnprintf1.c: New file.
64608         * tests/unistdio/test-u32-asnprintf1.h: New file.
64609         * tests/unistdio/test-u32-printf1.h: New file.
64610         * tests/unistdio/test-u32-vasnprintf1.c: New file.
64611         * tests/unistdio/test-u32-vasnprintf2.c: New file.
64612         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
64613         * tests/unistdio/test-u32-vasnprintf3.c: New file.
64614         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
64615         * tests/unistdio/test-u32-vasprintf1.c: New file.
64616         * tests/unistdio/test-u32-vsnprintf1.c: New file.
64617         * tests/unistdio/test-u32-vsprintf1.c: New file.
64618         * modules/unistdio/base: New file.
64619         * modules/unistdio/u-printf-args: New file.
64620         * modules/unistdio/ulc-asnprintf: New file.
64621         * modules/unistdio/ulc-asprintf: New file.
64622         * modules/unistdio/ulc-fprintf: New file.
64623         * modules/unistdio/ulc-printf-parse: New file.
64624         * modules/unistdio/ulc-snprintf: New file.
64625         * modules/unistdio/ulc-sprintf: New file.
64626         * modules/unistdio/ulc-vasnprintf: New file.
64627         * modules/unistdio/ulc-vasprintf: New file.
64628         * modules/unistdio/ulc-vfprintf: New file.
64629         * modules/unistdio/ulc-vsnprintf: New file.
64630         * modules/unistdio/ulc-vsprintf: New file.
64631         * modules/unistdio/u8-asnprintf: New file.
64632         * modules/unistdio/u8-asprintf: New file.
64633         * modules/unistdio/u8-printf-parse: New file.
64634         * modules/unistdio/u8-snprintf: New file.
64635         * modules/unistdio/u8-sprintf: New file.
64636         * modules/unistdio/u8-vasnprintf: New file.
64637         * modules/unistdio/u8-vasprintf: New file.
64638         * modules/unistdio/u8-vsnprintf: New file.
64639         * modules/unistdio/u8-vsprintf: New file.
64640         * modules/unistdio/u8-u8-asnprintf: New file.
64641         * modules/unistdio/u8-u8-asprintf: New file.
64642         * modules/unistdio/u8-u8-snprintf: New file.
64643         * modules/unistdio/u8-u8-sprintf: New file.
64644         * modules/unistdio/u8-u8-vasnprintf: New file.
64645         * modules/unistdio/u8-u8-vasprintf: New file.
64646         * modules/unistdio/u8-u8-vsnprintf: New file.
64647         * modules/unistdio/u8-u8-vsprintf: New file.
64648         * modules/unistdio/u16-asnprintf: New file.
64649         * modules/unistdio/u16-asprintf: New file.
64650         * modules/unistdio/u16-printf-parse: New file.
64651         * modules/unistdio/u16-snprintf: New file.
64652         * modules/unistdio/u16-sprintf: New file.
64653         * modules/unistdio/u16-vasnprintf: New file.
64654         * modules/unistdio/u16-vasprintf: New file.
64655         * modules/unistdio/u16-vsnprintf: New file.
64656         * modules/unistdio/u16-vsprintf: New file.
64657         * modules/unistdio/u16-u16-asnprintf: New file.
64658         * modules/unistdio/u16-u16-asprintf: New file.
64659         * modules/unistdio/u16-u16-snprintf: New file.
64660         * modules/unistdio/u16-u16-sprintf: New file.
64661         * modules/unistdio/u16-u16-vasnprintf: New file.
64662         * modules/unistdio/u16-u16-vasprintf: New file.
64663         * modules/unistdio/u16-u16-vsnprintf: New file.
64664         * modules/unistdio/u16-u16-vsprintf: New file.
64665         * modules/unistdio/u32-asnprintf: New file.
64666         * modules/unistdio/u32-asprintf: New file.
64667         * modules/unistdio/u32-printf-parse: New file.
64668         * modules/unistdio/u32-snprintf: New file.
64669         * modules/unistdio/u32-sprintf: New file.
64670         * modules/unistdio/u32-vasnprintf: New file.
64671         * modules/unistdio/u32-vasprintf: New file.
64672         * modules/unistdio/u32-vsnprintf: New file.
64673         * modules/unistdio/u32-vsprintf: New file.
64674         * modules/unistdio/u32-u32-asnprintf: New file.
64675         * modules/unistdio/u32-u32-asprintf: New file.
64676         * modules/unistdio/u32-u32-snprintf: New file.
64677         * modules/unistdio/u32-u32-sprintf: New file.
64678         * modules/unistdio/u32-u32-vasnprintf: New file.
64679         * modules/unistdio/u32-u32-vasprintf: New file.
64680         * modules/unistdio/u32-u32-vsnprintf: New file.
64681         * modules/unistdio/u32-u32-vsprintf: New file.
64682         * modules/unistdio/ulc-asnprintf-tests: New file.
64683         * modules/unistdio/ulc-vasnprintf-tests: New file.
64684         * modules/unistdio/ulc-vasprintf-tests: New file.
64685         * modules/unistdio/ulc-vsnprintf-tests: New file.
64686         * modules/unistdio/ulc-vsprintf-tests: New file.
64687         * modules/unistdio/u8-asnprintf-tests: New file.
64688         * modules/unistdio/u8-vasnprintf-tests: New file.
64689         * modules/unistdio/u8-vasprintf-tests: New file.
64690         * modules/unistdio/u8-vsnprintf-tests: New file.
64691         * modules/unistdio/u8-vsprintf-tests: New file.
64692         * modules/unistdio/u16-asnprintf-tests: New file.
64693         * modules/unistdio/u16-vasnprintf-tests: New file.
64694         * modules/unistdio/u16-vasprintf-tests: New file.
64695         * modules/unistdio/u16-vsnprintf-tests: New file.
64696         * modules/unistdio/u16-vsprintf-tests: New file.
64697         * modules/unistdio/u32-asnprintf-tests: New file.
64698         * modules/unistdio/u32-vasnprintf-tests: New file.
64699         * modules/unistdio/u32-vasprintf-tests: New file.
64700         * modules/unistdio/u32-vsnprintf-tests: New file.
64701         * modules/unistdio/u32-vsprintf-tests: New file.
64702         * MODULES.html.sh (Unicode string functions): Add the new modules.
64703
64704 2007-07-01  Bruno Haible  <bruno@clisp.org>
64705
64706         * lib/sprintf.c (sprintf): Limit the available length estimation,
64707         to avoid address wraparound.
64708         * lib/vsprintf.c (vsprintf): Likewise.
64709         * modules/sprintf-posix (Dependencies): Add stdint.
64710         * modules/vsprintf-posix (Dependencies): Likewise.
64711
64712 2007-07-01  Bruno Haible  <bruno@clisp.org>
64713
64714         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
64715         Windows PATH as well. Conservative double-quoting. Comments.
64716
64717 2007-07-01  Bruno Haible  <bruno@clisp.org>
64718             Eric Blake  <ebb9@byu.net>
64719             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64720
64721         * gnulib-tool (self_abspathname): Fix algorithm to cope with
64722         empty components in $PATH, denoting '.'.
64723
64724 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64725
64726         * gnulib-tool: Fix indentation.
64727         (func_create_megatestdir): Likewise.
64728         Report by Bruno Haible.
64729
64730 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64731
64732         Sync from Automake.
64733         * build-aux/gnupload: Fix shell portability issues with for loops.
64734         Report by Karl Berry.
64735
64736 2007-06-29  Simon Josefsson  <simon@josefsson.org>
64737
64738         * build-aux/maint.mk (POURL): Use translationproject.org.
64739
64740 2007-06-27  Simon Josefsson  <simon@josefsson.org>
64741             Bruno Haible  <bruno@clisp.org>
64742
64743         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
64744         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
64745         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
64746         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
64747         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
64748
64749 2007-06-27  Bruno Haible  <bruno@clisp.org>
64750
64751         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
64752         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
64753
64754 2007-06-26  Karl Berry  <karl@gnu.org>
64755
64756         * MODULES.html.sh: remove xreadlink-with-size.
64757
64758 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
64759
64760         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
64761         method that I hope also handles the double-include problem noted
64762         by Bruno Haible in
64763         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
64764
64765 2007-06-23  Bruno Haible  <bruno@clisp.org>
64766
64767         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
64768         Don't let the 'mostlyclean' target fail if the last subdirectory could
64769         not be removed.
64770         Reported by Karl Berry.
64771
64772 2007-06-23  Bruno Haible  <bruno@clisp.org>
64773
64774         * gnulib-tool (echo): Add a speedier workaround for ksh.
64775         * tests/test-echo.sh: Likewise.
64776
64777 2007-06-23  Bruno Haible  <bruno@clisp.org>
64778
64779         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
64780         * tests/test-echo.sh: Likewise.
64781
64782 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64783
64784         * gnulib-tool (IFS): Initialize early, so we don't set it to
64785         empty later.
64786         (self_abspathname): Rewrite algorithm to set it, reindent.
64787         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
64788         (func_create_megatestdir): Merge some sed scripts.
64789
64790 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
64791
64792         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
64793         exposed by Sun Studio 11 cc on Solaris 8.
64794
64795 2007-06-22  Bruno Haible  <bruno@clisp.org>
64796
64797         * gnulib-tool (echo): Ensure the echo primitive does not interpret
64798         backslashes.
64799         * tests/test-echo.sh: New file.
64800
64801 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64802
64803         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
64804         simplify `sed_replace_build_aux' scripts, they are portable but
64805         echoing them with `echo' is not.
64806         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
64807
64808 2007-06-21  Karl Berry  <karl@gnu.org>
64809
64810         * config/srclist.txt: guess we can't handle the licenses via
64811         srclist at the moment.
64812
64813 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
64814
64815         * MODULES.html.sh: Add include_next.
64816         * modules/include_next: New file.
64817
64818 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
64819
64820         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
64821         INCLUDE_NEXT.
64822         (gl_CHECK_NEXT_HEADERS): New macro.
64823         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
64824         the obsolescent gl_ABSOLUTE_HEADER.
64825         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
64826         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
64827         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
64828         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
64829         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
64830         * m4/math_h.m4 (gl_MATH_H): Likewise.
64831         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
64832         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
64833         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
64834         * m4/stdint.m4 (gl_STDINT_H): Likewise.
64835         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
64836         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
64837         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
64838         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
64839         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
64840         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
64841         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
64842         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
64843         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
64844         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
64845         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
64846         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
64847         * m4/inttypes.m4 (gl_INTTYPES_H): Define
64848         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
64849         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
64850         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
64851         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
64852         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
64853         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
64854         * lib/float_.h: Likewise.
64855         * lib/inttypes_.h: Likewise.
64856         * lib/math_.h: Likewise.
64857         * lib/search_.h: Likewise.
64858         * lib/signal_.h: Likewise.
64859         * lib/stdint_.h: Likewise.
64860         * lib/stdio_.h: Likewise.
64861         * lib/stdlib_.h: Likewise.
64862         * lib/string_.h: Likewise.
64863         * lib/sys_stat_.h: Likewise.
64864         * lib/sys_time_.h: Likewise.
64865         * lib/time_.h: Likewise.
64866         * lib/unistd_.h: Likewise.
64867         * lib/wchar_.h: Likewise.
64868         * lib/wctype_.h: Likewise.
64869         * lib/dirent_.h: Likewise.
64870         * lib/iconv_.h: Likewise.
64871         * lib/locale_.h: Likewise.
64872         * lib/netinet_in_.h: Likewise.
64873         * lib/sys_select_.h: Likewise.
64874         * lib/sys_socket_.h: Likewise.
64875         * lib/sysexits_.h: Likewise.
64876         * modules/fcntl (Depends-on): Depend on include_next, not
64877         absolute_header.
64878         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
64879         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
64880         * modules/fchdir: Likewise.
64881         * modules/float: Likewise.
64882         * modules/iconv_open: Likewise.
64883         * modules/inttypes: Likewise.
64884         * modules/locale: Likewise.
64885         * modules/math: Likewise.
64886         * modules/netinet_in: Likewise.
64887         * modules/search: Likewise.
64888         * modules/signal: Likewise.
64889         * modules/stdint: Likewise.
64890         * modules/stdio: Likewise.
64891         * modules/stdlib: Likewise.
64892         * modules/string: Likewise.
64893         * modules/sys_select: Likewise.
64894         * modules/sys_socket: Likewise.
64895         * modules/sys_stat: Likewise.
64896         * modules/sys_time: Likewise.
64897         * modules/sysexits: Likewise.
64898         * modules/time: Likewise.
64899         * modules/unistd: Likewise.
64900         * modules/wchar: Likewise.
64901         * modules/wctype: Likewise.
64902         * modules/sys_stat: Change maintainer to "all".
64903         * modules/unistd: Likewise.
64904
64905 2007-06-20  Karl Berry  <karl@gnu.org>
64906
64907         * config/srclist.txt: track www changes in license files.
64908
64909 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
64910
64911         * build-aux/bootstrap: Remove stray dot.
64912         Make sure build_aux settings are honored when linking
64913         gnulib_extra_files.
64914
64915 2007-06-19  Eric Blake  <ebb9@byu.net>
64916
64917         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
64918         Allow compilation on cygwin.
64919
64920 2007-06-19  Jim Meyering  <jim@meyering.net>
64921
64922         xreadlink-with-size: Remove module.  No longer used.
64923         Ex-callers now use xreadlink or mreadlink-with-size.
64924         * modules/xreadlink-with-size: Remove module.
64925         * lib/xreadlink-with-size.c: Remove file.
64926         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
64927         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
64928         just before the function definition *is* accurate.
64929
64930         Eliminate one way canonicalize_filename_mode could exit.
64931         * lib/canonicalize.c (canonicalize_filename_mode):
64932         Use mreadlink_with_size, not xreadlink_with_size.
64933
64934 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
64935
64936         Detect porting problems to FreeBSD/arm, which has time_t wider than
64937         long int.  Original problem reported for GNU diff by Xin Li in
64938         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
64939         * modules/getdate (Depends-on): Add intprops, verify.
64940         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
64941         is an integer type no wider than long int.
64942
64943 2007-06-18  Jim Meyering  <jim@meyering.net>
64944
64945         New module: mreadlink-with-size.
64946         * MODULES.html.sh: Add mreadlink-with-size.
64947         * modules/mreadlink-with-size: New module
64948         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
64949         not xreadlink-with-size.
64950         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
64951
64952 2007-06-16  Bruno Haible  <bruno@clisp.org>
64953
64954         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
64955         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
64956         Reported by Gary V. Vaughan <gary@gnu.org>.
64957
64958 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
64959
64960         Revamp lchown so that it lives in unistd.h where it belongs.
64961         * lib/lchown.h: Remove.
64962         * lib/dirchownmod.c: Don't include lib/lchown.h.
64963         * lib/fchownat.c: Likewise.
64964         * lib/openat.c: Likewise.
64965         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
64966         does not follow symlinks.
64967         (EOPNOTSUPP): Define if not defined.
64968         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
64969         is defined to 0.
64970         (lchown): New decl.
64971         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
64972         Do not check for lchown decl.
64973         Set REPLACE_LCHOWN.
64974         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
64975         REPLACE_LCHOWN.
64976         * modules/chown: Make it clear it follows symlinks.
64977         * modules/lchown: Make it clear it doesn't follow symlinks.
64978         (Files): Remove lib/lchown.h
64979         (Depends-on): Add unistd.
64980         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
64981         (Include): Include <unistd.h>, not "lchown.h".
64982         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
64983         REPLACE_LCHOWN.
64984
64985 2007-06-15  Jim Meyering  <jim@meyering.net>
64986
64987         Change license (GPL to LGPL) of fsusage and dependents.
64988         * modules/fsusage (License): Change to LGPL.
64989         * modules/full-read (License): Likewise.
64990         * modules/full-write (License): Likewise.
64991         * modules/safe-read (License): Likewise.
64992         * modules/safe-write (License): Likewise.
64993
64994 2007-06-14  Ben Pfaff  <blp@gnu.org>
64995
64996         Missing part of allocsa -> malloca transition.
64997         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
64998         gl_MALLOCA.
64999
65000 2007-06-12  Bruno Haible  <bruno@clisp.org>
65001
65002         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
65003         to ia64, x86_64, i386.
65004         Reported by Eric Blake.
65005
65006 2007-06-12  Bruno Haible  <bruno@clisp.org>
65007
65008         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
65009         cross-compiling to x86_64.
65010
65011 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
65012
65013         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
65014         glitch reported by Ralf Wildenhues in
65015         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
65016
65017         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
65018         Vin Shelton.
65019
65020 2007-06-11  Bruno Haible  <bruno@clisp.org>
65021
65022         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
65023         replacement string.
65024         Reported by Eric Blake.
65025
65026 2007-06-10  Bruno Haible  <bruno@clisp.org>
65027
65028         Prepare vasnprintf code for use with Unicode strings.
65029         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
65030         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
65031         TYPE_U32_STRING.
65032         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
65033         a_u32_string variants.
65034         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
65035         * lib/printf-args.c: Don't include config.h and the specification
65036         header if PRINTF_FETCHARGS is already defined.
65037         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
65038         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
65039         TYPE_U16_STRING, TYPE_U32_STRING.
65040         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
65041         u16_directive, u16_directives, u32_directive, u32_directives): New
65042         types.
65043         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
65044         New declarations.
65045         * lib/printf-parse.c: Don't include config.h and the specification
65046         header if PRINTF_PARSE is already defined. Eliminate the set of
65047         parameters for WIDE_CHAR_VERSION; the user of this file must provide
65048         them now. Include c-ctype.h.
65049         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
65050         directive and CHAR_T_ONLY_ASCII.
65051         * lib/vasnprintf.c: Don't include config.h and the specification header
65052         if VASNPRINTF is already defined.
65053         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
65054         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
65055         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
65056         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
65057         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
65058         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
65059         code accordingly.
65060         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
65061         pad_ourselves also in this case, with the 'c' and 's' directives, and
65062         with a different notion of "width".
65063         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
65064
65065 2007-06-10  Bruno Haible  <bruno@clisp.org>
65066
65067         * modules/unistr/u32-mbsnlen: New file.
65068         * lib/unistr/u32-mbsnlen.c: New file.
65069
65070         * modules/unistr/u16-mbsnlen: New file.
65071         * lib/unistr/u16-mbsnlen.c: New file.
65072
65073         * modules/unistr/u8-mbsnlen: New file.
65074         * lib/unistr/u8-mbsnlen.c: New file.
65075
65076         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
65077         declarations.
65078
65079 2007-06-10  Bruno Haible  <bruno@clisp.org>
65080
65081         * lib/string_.h (mbsnlen): New declaration.
65082         * lib/mbsnlen.c: New file.
65083         * m4/mbsnlen.m4: New file.
65084         * modules/mbsnlen: New file.
65085         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
65086         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
65087         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
65088
65089 2007-06-10  Bruno Haible  <bruno@clisp.org>
65090
65091         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
65092
65093 2007-06-10  Bruno Haible  <bruno@clisp.org>
65094
65095         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
65096         * lib/mbuiter.h: Likewise.
65097
65098 2007-06-10  Bruno Haible  <bruno@clisp.org>
65099
65100         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
65101         declaration.
65102
65103 2007-06-10  Karl Berry  <karl@gnu.org>
65104
65105         * config/srclist.txt: remove gettext entries, Bruno prefers
65106         to update individually.
65107
65108 2007-06-10  Bruno Haible  <bruno@clisp.org>
65109
65110         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
65111         'maxlen'. Ensure only length + width bytes are allocated, not
65112         length + 1 + width.
65113
65114 2007-06-09  Bruno Haible  <bruno@clisp.org>
65115
65116         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
65117         (CHAR_T): Remove macro.
65118         (VASNPRINTF): Update.
65119
65120 2007-06-09  Bruno Haible  <bruno@clisp.org>
65121
65122         * MODULES.html.sh (Unicode string functions): Add the new modules.
65123
65124         * modules/uniconv/u32-conv-to-enc: New file.
65125         * lib/uniconv/u32-conv-to-enc.c: New file.
65126         * modules/uniconv/u32-conv-to-enc-tests: New file.
65127         * tests/uniconv/test-u32-conv-to-enc.c: New file.
65128
65129         * modules/uniconv/u16-conv-to-enc: New file.
65130         * lib/uniconv/u16-conv-to-enc.c: New file.
65131         * lib/uniconv/u-conv-to-enc.h: New file.
65132         * modules/uniconv/u16-conv-to-enc-tests: New file.
65133         * tests/uniconv/test-u16-conv-to-enc.c: New file.
65134
65135         * modules/uniconv/u8-conv-to-enc: New file.
65136         * lib/uniconv/u8-conv-to-enc.c: New file.
65137         * modules/uniconv/u8-conv-to-enc-tests: New file.
65138         * tests/uniconv/test-u8-conv-to-enc.c: New file.
65139
65140         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
65141         u32_conv_to_encoding): New declarations.
65142
65143 2007-06-09  Bruno Haible  <bruno@clisp.org>
65144
65145         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
65146
65147 2007-06-09  Bruno Haible  <bruno@clisp.org>
65148
65149         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
65150         * modules/malloca: Renamed from modules/allocsa, updated.
65151         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
65152         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
65153         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
65154         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
65155         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
65156         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
65157         * modules/xmalloca: Renamed from modules/xallocsa, updated.
65158         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
65159         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
65160         * modules/c-strcasestr (Depends-on): Update.
65161         * lib/c-strcasestr.c: Update.
65162         * modules/c-strstr (Depends-on): Update.
65163         * lib/c-strstr.c: Update.
65164         * modules/canonicalize-lgpl (Depends-on): Update.
65165         * lib/canonicalize-lgpl.c: Update.
65166         * modules/clean-temp (Depends-on): Update.
65167         * lib/clean-temp.c: Update.
65168         * modules/csharpcomp (Depends-on): Update.
65169         * lib/csharpcomp.c: Update.
65170         * modules/csharpexec (Depends-on): Update.
65171         * lib/csharpexec.c: Update.
65172         * modules/javacomp (Depends-on): Update.
65173         * lib/javacomp.c: Update.
65174         * modules/javaexec (Depends-on): Update.
65175         * lib/javaexec.c: Update.
65176         * modules/mbscasestr (Depends-on): Update.
65177         * lib/mbscasestr.c: Update.
65178         * modules/mbsstr (Depends-on): Update.
65179         * lib/mbsstr.c: Update.
65180         * modules/setenv (Depends-on): Update.
65181         * lib/setenv.c: Update.
65182         * modules/strcasestr (Depends-on): Update.
65183         * lib/strcasestr.c: Update.
65184         * modules/striconveha (Depends-on): Update.
65185         * lib/striconveha.c: Update.
65186         * modules/relocatable-prog-wrapper (Files): Update.
65187         * lib/relocwrapper.c: Update.
65188         * build-aux/install-reloc: Update.
65189         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
65190
65191 2007-06-08  Bruno Haible  <bruno@clisp.org>
65192
65193         Port to uClibc.
65194         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
65195         * lib/fpurge.c (fpurge): Likewise.
65196         * lib/freading.c (freading): Likewise.
65197         * lib/fseeko.c (rpl_fseeko): Likewise.
65198         * lib/fseterr.c (fseterr): Likewise.
65199         * lib/fwriting.c (fwriting): Likewise.
65200         * tests/test-fflush.c (main): Avoid a failure on uClibc.
65201
65202 2007-06-08  Bruno Haible  <bruno@clisp.org>
65203
65204         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
65205         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
65206         * modules/gettext (Files): Add m4/intlmacosx.m4.
65207
65208 2007-06-07  Bruno Haible  <bruno@clisp.org>
65209
65210         * modules/localename-tests: New file.
65211         * tests/test-localename.c: New file.
65212
65213         New module 'localename'.
65214         * lib/localename.h: New file.
65215         * lib/localename.c: New file, from GNU gettext.
65216         * m4/localename.m4: New file.
65217         * modules/localename: New file.
65218
65219 2007-06-07  Bruno Haible  <bruno@clisp.org>
65220
65221         Work around the lack of <wchar.h> on some builds of uClibc.
65222         * doc/headers/wchar.texi: Update.
65223         * lib/wchar_.h: Include <wchar.h> only if it exists.
65224         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
65225         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
65226         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
65227         doesn't exist.
65228         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
65229         * modules/mbfile (Depends-on): Add wchar.
65230         * modules/mbiter (Depends-on): Likewise.
65231         * modules/mbuiter (Depends-on): Likewise.
65232         Reported by Simon Josefsson.
65233
65234 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
65235
65236         Work around problem reported by Steven M. Schweda in
65237         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
65238         Tru64 5.1B with the Compaq compiler environment installed declares
65239         an 'isblank' function but does not define it in the C library.
65240         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
65241         * lib/regex_internal.h (isblank): Likewise.
65242         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
65243         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
65244
65245 2007-06-05  Bruno Haible  <bruno@clisp.org>
65246
65247         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
65248         ia64.
65249         * modules/printf-safe: New file.
65250         * modules/fprintf-posix (Depends-on): Add printf-safe.
65251         * modules/printf-posix (Depends-on): Likewise.
65252         * modules/snprintf-posix (Depends-on): Likewise.
65253         * modules/sprintf-posix (Depends-on): Likewise.
65254         * modules/vasnprintf-posix (Depends-on): Likewise.
65255         * modules/vasprintf-posix (Depends-on): Likewise.
65256         * modules/vfprintf-posix (Depends-on): Likewise.
65257         * modules/vprintf-posix (Depends-on): Likewise.
65258         * modules/vsnprintf-posix (Depends-on): Likewise.
65259         * modules/vsprintf-posix (Depends-on): Likewise.
65260         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
65261         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
65262         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
65263         "no" on i386, x86_64, ia64.
65264         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
65265         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
65266         on i386, x86_64, ia64.
65267         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
65268         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
65269         on i386, x86_64, ia64.
65270         * tests/test-vasnprintf-posix.c: Include float.h.
65271         (LDBL80_WORDS): New macro.
65272         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
65273         on i386, x86_64, ia64.
65274         * tests/test-vasprintf-posix.c: Include float.h.
65275         (LDBL80_WORDS): New macro.
65276         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
65277         on i386, x86_64, ia64.
65278         * tests/test-snprintf-posix.c: Include float.h.
65279         * tests/test-sprintf-posix.c: Likewise.
65280         * tests/test-vsnprintf-posix.c: Likewise.
65281         * tests/test-vsprintf-posix.c: Likewise.
65282
65283 2007-06-05  Bruno Haible  <bruno@clisp.org>
65284
65285         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
65286         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
65287         non-IEEE numbers on i386, x86_64, ia64.
65288         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
65289         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
65290         * tests/test-isnanl.h: Include float.h.
65291         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
65292
65293 2007-06-05  Bruno Haible  <bruno@clisp.org>
65294
65295         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
65296         also the %a / %A. Handle the %a / %A code before this extra handling.
65297
65298 2007-06-05  Bruno Haible  <bruno@clisp.org>
65299
65300         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
65301         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
65302
65303 2007-06-05  Bruno Haible  <bruno@clisp.org>
65304
65305         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
65306         typo in variable name.
65307
65308 2007-06-05  Eric Blake  <ebb9@byu.net>
65309
65310         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
65311         Reported by Simon Josefsson.
65312
65313 2007-06-04  Bruno Haible  <bruno@clisp.org>
65314
65315         Avoid test failures on some PowerPC platforms.
65316         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
65317         Define differently for PowerPC.
65318         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
65319         Reported by Gary V. Vaughan <gary@gnu.org>.
65320
65321 2007-06-02  Bruno Haible  <bruno@clisp.org>
65322
65323         Fix test-stdint failure on FreeBSD/ia64.
65324         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
65325         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
65326         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
65327         * doc/headers/stdint.texi: Update.
65328
65329 2007-06-01  Bruno Haible  <bruno@clisp.org>
65330
65331         * tests/test-binary-io.c (main): Pass a third argument to open().
65332         Reported by Gary V. Vaughan <gary@gnu.org>.
65333
65334 2007-06-01  Bruno Haible  <bruno@clisp.org>
65335
65336         * doc/functions/frexpl.texi: Update for mingw.
65337
65338 2007-06-01  Bruno Haible  <bruno@clisp.org>
65339
65340         * tests/test-lseek.c (main): Disable test of errno for invalid third
65341         argument.
65342         * doc/functions/lseek.texi: Update.
65343         Reported by Gary V. Vaughan <gary@gnu.org>.
65344
65345 2007-05-28  Bruno Haible  <bruno@clisp.org>
65346
65347         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
65348
65349 2007-05-31  Eric Blake  <ebb9@byu.net>
65350
65351         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
65352         cross compiling.
65353
65354 2007-05-30  Eric Blake  <ebb9@byu.net>
65355         and Bruno Haible  <bruno@clisp.org>
65356
65357         Work around mingw test failures exposed by m4-1.4.9b.
65358         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
65359         * tests/test-unistd.c: Disable uid_t and git_t tests for the
65360         moment.
65361
65362 2007-05-30  Bruno Haible  <bruno@clisp.org>
65363
65364         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
65365         assuming that they are closed. Needed on HP-UX 11.
65366
65367 2007-05-29  Bruno Haible  <bruno@clisp.org>
65368
65369         Fix a problem with #include_next.
65370         * lib/dirent_.h: Split the double-inclusion guard.
65371         * lib/fcntl_.h: Likewise.
65372         * lib/float_.h: Likewise.
65373         * lib/iconv_.h: Likewise.
65374         * lib/inttypes_.h: Likewise.
65375         * lib/locale_.h: Likewise.
65376         * lib/math_.h: Likewise.
65377         * lib/netinet_in_.h: Likewise.
65378         * lib/search_.h: Likewise.
65379         * lib/signal_.h: Likewise.
65380         * lib/stdint_.h: Likewise.
65381         * lib/stdio_.h: Likewise.
65382         * lib/stdlib_.h: Likewise.
65383         * lib/string_.h: Likewise.
65384         * lib/sys_select_.h: Likewise.
65385         * lib/sys_socket_.h: Likewise.
65386         * lib/sys_stat_.h: Likewise.
65387         * lib/sys_time_.h: Likewise.
65388         * lib/sysexits_.h: Likewise.
65389         * lib/time_.h: Likewise.
65390         * lib/unistd_.h: Likewise.
65391         * lib/wchar_.h: Likewise.
65392         * lib/wctype_.h: Likewise.
65393
65394 2007-05-29  Bruno Haible  <bruno@clisp.org>
65395
65396         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
65397         for the moment.
65398
65399 2007-05-29  Bruno Haible  <bruno@clisp.org>
65400
65401         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
65402         invocation.
65403         Reported by Eric Blake.
65404
65405 2007-05-29  Bruno Haible  <bruno@clisp.org>
65406
65407         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
65408         compiling case.
65409
65410 2007-05-29  Eric Blake  <ebb9@byu.net>
65411             Bruno Haible  <bruno@clisp.org>
65412
65413         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
65414         cross compiles.
65415
65416 2007-05-28  Eric Blake  <ebb9@byu.net>
65417
65418         * modules/closein-tests (test_closein_LDADD): Support test on
65419         cygwin with libtool.
65420
65421 2007-05-28  Bruno Haible  <bruno@clisp.org>
65422
65423         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
65424         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
65425         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
65426         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
65427         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
65428         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
65429         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
65430         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
65431         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
65432
65433 2007-05-28  Eric Blake  <ebb9@byu.net>
65434
65435         Unconditionally include <config.h> in unit tests.
65436         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
65437         * tests/test-allocsa.c, tests/test-arcfour.c,
65438         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
65439         tests/test-array_list.c, tests/test-array_oset.c,
65440         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
65441         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
65442         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
65443         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
65444         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
65445         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
65446         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
65447         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
65448         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
65449         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
65450         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
65451         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
65452         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
65453         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
65454         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
65455         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
65456         test-md5.c, test-memmem.c, test-printf-posix.c,
65457         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
65458         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
65459         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
65460         test-strcasestr.c, test-striconv.c, test-striconveh.c,
65461         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
65462         test-vasnprintf-posix2.c, test-vasnprintf.c,
65463         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
65464         test-vfprintf-posix.c, test-vprintf-posix.c,
65465         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
65466         test-xvasprintf.c: Likewise.
65467
65468 2007-05-28  Bruno Haible  <bruno@clisp.org>
65469
65470         * gnulib-tool (func_import): Remember the --with-tests command-line
65471         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
65472         Reported by Eric Blake.
65473
65474 2007-05-28  Bruno Haible  <bruno@clisp.org>
65475
65476         * modules/ftell-tests: New file.
65477         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
65478         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
65479
65480         * lib/ftell.c: New file.
65481         * modules/ftell: New file.
65482         * m4/ftell.m4: New file.
65483         * doc/functions/ftell.texi: Update.
65484         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
65485         REPLACE_FTELL.
65486         * lib/stdio_.h (rpl_ftell): New declaration.
65487         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
65488         REPLACE_FTELL.
65489
65490 2007-05-28  Eric Blake  <ebb9@byu.net>
65491
65492         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
65493
65494 2007-05-28  Bruno Haible  <bruno@clisp.org>
65495
65496         * modules/fseek-tests: New file.
65497         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
65498         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
65499
65500         * lib/fseek.c: New file.
65501         * modules/fseek: New file.
65502         * m4/fseek.m4: New file.
65503         * doc/functions/fseek.texi: Update.
65504         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
65505         REPLACE_FSEEK.
65506         * lib/stdio_.h (rpl_fseek): New declaration.
65507         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
65508         REPLACE_FSEEK.
65509
65510 2007-05-28  Bruno Haible  <bruno@clisp.org>
65511
65512         * lib/stdio_.h (fflush): More comments.
65513
65514 2007-05-28  Bruno Haible  <bruno@clisp.org>
65515
65516         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
65517         runtime test.
65518
65519 2007-05-28  Eric Blake  <ebb9@byu.net>
65520
65521         Improve lseek module.
65522         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
65523         * lib/unistd_.h (lseek): Scale back link warning message.
65524         * tests/test-lseek.c: Beef up test.
65525         * tests/test-lseek.sh: Exercise more facets of lseek.
65526         Reported by Bruno Haible.
65527
65528 2007-05-28  Bruno Haible  <bruno@clisp.org>
65529
65530         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
65531         to define.
65532
65533 2007-05-27  Bruno Haible  <bruno@clisp.org>
65534
65535         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
65536
65537 2007-05-27  Bruno Haible  <bruno@clisp.org>
65538
65539         * modules/openmp: New file.
65540         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
65541         Noah Misch.
65542
65543 2007-05-26  Bruno Haible  <bruno@clisp.org>
65544
65545         * modules/chdir-long (Depends-on): Add fchdir.
65546         * modules/chdir-safer (Depends-on): Likewise.
65547         * modules/fts (Depends-on): Likewise.
65548         * modules/fts-lgpl (Depends-on): Likewise.
65549         * modules/openat (Depends-on): Likewise.
65550         * modules/savewd (Depends-on): Likewise.
65551
65552 2007-05-24  Eric Blake  <ebb9@byu.net>
65553
65554         Fix lseek on mingw.
65555         * modules/lseek: New module.
65556         * m4/lseek.m4: New file.
65557         * lib/lseek.c: New file.
65558         * modules/lseek-tests: New file.
65559         * tests/test-lseek.c: New file.
65560         * tests/test-lseek.sh: New file.
65561         * MODULES.html.sh: Document lseek module.
65562         * modules/fflush (Depends-on): Add lseek, fseeko.
65563         * modules/fseeko (Depends-on): Likewise.
65564         * modules/ftello (Depends-on): Likewise.
65565         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
65566         broken.
65567         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
65568         broken.
65569         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
65570         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
65571         * lib/ftello.c (rpl_ftello): Likewise.
65572         * tests/test-fseeko.c (main): Test this.
65573         * tests/test-fseeko.sh: Likewise.
65574         * tests/test-ftello.c (main): Likewise.
65575         * tests/test-ftello.sh: Likewise.
65576         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
65577         implies replacing fseek.
65578         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
65579         HAVE_FTELLO.
65580         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
65581         * modules/unistd (Makefile.am): Likewise.
65582         * lib/unistd_.h (lseek): Declare a replacement.
65583         * doc/functions/lseek.texi (lseek): Document this fix.
65584         * doc/functions/fseek.texi (fseek): Likewise.
65585         * doc/functions/ftell.texi (ftell): Likewise.
65586
65587 2007-05-24  Bruno Haible  <bruno@clisp.org>
65588
65589         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
65590         in the printed representation of a NaN.
65591         * tests/test-vasprintf-posix.c (test_function): Likewise.
65592         * tests/test-snprintf-posix.h (test_function): Likewise.
65593         * tests/test-sprintf-posix.h (test_function): Likewise.
65594         Reported by Eric Blake.
65595
65596 2007-05-23  Eric Blake  <ebb9@byu.net>
65597
65598         Fix fseeko/ftello on cygwin 1.5.24.
65599         * doc/functions/fseeko.texi (fseeko): Document the fix.
65600         * doc/functions/ftello.texi (ftello): Document the fix.
65601         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
65602         * doc/functions/stdout.text (stdout): New file.
65603         * doc/functions/stderr.text (stderr): New file.
65604         * doc/gnulib.texi (Function Substitutes): Use new files.
65605         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
65606         prior to 1.7.0.
65607         * tests/test-ftello.c (main): Likewise for ftello.
65608         * tests/test-fseeko.sh: New file.
65609         * tests/test-ftello.sh: New file.
65610         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
65611         with seekable stdin.
65612         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
65613         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
65614         (gl_REPLACE_FSEEKO): New macro.
65615         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
65616         * modules/fseeko (Files): Distribute fseeko.c.
65617         * modules/ftello (Files): Distribute ftello.c.
65618         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
65619         mode.
65620         * lib/ftello.c (rpl_ftello): New file.
65621         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
65622         fseeko, ftello.
65623         (gl_STDIN_LARGE_OFFSET): New macro.
65624         * modules/stdio (Makefile.am): Perform the replacement.
65625         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
65626
65627 2007-05-23  Bruno Haible  <bruno@clisp.org>
65628
65629         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
65630         GNULIB_POSIXCHECK is defined.
65631
65632 2007-05-21  Bruno Haible  <bruno@clisp.org>
65633
65634         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
65635         Check also the output for NaN arguments. When cross-compiling, guess
65636         no on IRIX.
65637         * lib/vasnprintf.c: Update comments.
65638         * tests/test-vasnprintf-posix.c (strisnan): New function.
65639         (test_function): Use it.
65640         * tests/test-vasprintf-posix.c (strisnan): New function.
65641         (test_function): Use it.
65642         * tests/test-snprintf-posix.h (strisnan): New function.
65643         (test_function): Use it.
65644         * tests/test-sprintf-posix.h (strisnan): New function.
65645         (test_function): Use it.
65646         Reported by Eric Blake.
65647
65648 2007-05-20  Bruno Haible  <bruno@clisp.org>
65649
65650         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
65651         numbers that fails on BeOS.
65652         * doc/functions/frexpl.texi: Update.
65653
65654 2007-05-20  Jim Meyering  <jim@meyering.net>
65655
65656         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
65657         forced upon us by glibc-2.6.
65658
65659 2007-05-20  Bruno Haible  <bruno@clisp.org>
65660
65661         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
65662         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
65663         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
65664         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
65665         NEED_PRINTF_INFINITE.
65666         (is_infinitel): New function.
65667         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
65668         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
65669         gl_PREREQ_VASNPRINTF_INFINITE.
65670         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
65671         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
65672         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
65673         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
65674         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
65675         gl_PREREQ_VASNPRINTF_INFINITE.
65676         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
65677         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65678         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65679         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65680         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
65681         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
65682         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
65683         * doc/functions/fprintf.texi: Update.
65684         * doc/functions/printf.texi: Update.
65685         * doc/functions/snprintf.texi: Update.
65686         * doc/functions/sprintf.texi: Update.
65687         * doc/functions/vfprintf.texi: Update.
65688         * doc/functions/vprintf.texi: Update.
65689         * doc/functions/vsnprintf.texi: Update.
65690         * doc/functions/vsprintf.texi: Update.
65691
65692 2007-05-20  Bruno Haible  <bruno@clisp.org>
65693
65694         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
65695         was not found in libc.
65696         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
65697
65698 2007-05-20  Bruno Haible  <bruno@clisp.org>
65699
65700         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
65701         printed as "-nan" instead of "nan".
65702         * tests/test-vasprintf-posix.c (test_function): Likewise.
65703         * tests/test-snprintf-posix.h (test_function): Likewise.
65704         * tests/test-sprintf-posix.h (test_function): Likewise.
65705         Needed for HP-UX 11.
65706
65707 2007-05-20  Jim Meyering  <jim@meyering.net>
65708
65709         Fix buggy test for the fchownat-deref bug.
65710         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
65711         symlink required for the run-test.  Without it, this test would
65712         always declare that fchownat doesn't work, and client code would
65713         unnecessarily use the replacement function with fixed libc.
65714         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
65715         Reported by Greg Schafer.
65716
65717 2007-05-19  Bruno Haible  <bruno@clisp.org>
65718
65719         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
65720         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
65721         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
65722         Needed for IRIX 6.5 and Solaris 2.5.1.
65723
65724 2007-05-19  Bruno Haible  <bruno@clisp.org>
65725
65726         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
65727         (test_function): Skip tests involving -0.0 on platforms where
65728         -0.0 = 0.0.
65729         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
65730         (test_function): Skip tests involving -0.0 on platforms where
65731         -0.0 = 0.0.
65732         * tests/test-snprintf-posix.h (have_minus_zero): New function.
65733         (test_function): Skip tests involving -0.0 on platforms where
65734         -0.0 = 0.0.
65735         * tests/test-sprintf-posix.h (have_minus_zero): New function.
65736         (test_function): Skip tests involving -0.0 on platforms where
65737         -0.0 = 0.0.
65738         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
65739         tests.
65740         * tests/test-printf-posix.h (test_function): Likewise.
65741         * tests/test-printf-posix.output: Remove all -0.0 related results.
65742         Needed for IRIX 6.5.
65743
65744 2007-05-19  Bruno Haible  <bruno@clisp.org>
65745
65746         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
65747         printed as "nan0x7fffffff" instead of "nan".
65748         * tests/test-vasprintf-posix.c (test_function): Likewise.
65749         * tests/test-snprintf-posix.h (test_function): Likewise.
65750         * tests/test-sprintf-posix.h (test_function): Likewise.
65751         * tests/test-fprintf-posix.h (NaN): Remove macro.
65752         (test_function): Remove all NaN related tests.
65753         * tests/test-printf-posix.h (NaN): Remove macro.
65754         (test_function): Remove all NaN related tests.
65755         * tests/test-printf-posix.output: Remove all NaN related results.
65756         Needed for IRIX 6.5.
65757
65758 2007-05-19  Bruno Haible  <bruno@clisp.org>
65759
65760         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
65761         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
65762
65763 2007-05-19  Bruno Haible  <bruno@clisp.org>
65764
65765         * lib/float_.h: New file.
65766         * m4/float_h.m4: New file.
65767         * modules/float: New file.
65768         * modules/isnanl (Dependencies): Add float.
65769         * modules/isnanl-nolibm (Dependencies): Likewise.
65770         * modules/mathl (Dependencies): Likewise.
65771         * modules/printf-frexpl (Dependencies): Likewise.
65772         * modules/signbit (Dependencies): Likewise.
65773         * modules/vasnprintf (Dependencies): Likewise.
65774         * doc/headers/float.texi: Update.
65775
65776 2007-05-19  Jim Meyering  <jim@meyering.net>
65777
65778         * lib/utimens.c (gl_futimens): Rename from futimens,
65779         now that glibc-2.6 declares futimens.
65780         * lib/utimens.h: Likewise.
65781
65782 2007-05-19  Bruno Haible  <bruno@clisp.org>
65783
65784         Avoid test failures on mingw.
65785         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
65786         * tests/test-printf-posix.sh: Likewise.
65787         * tests/test-vfprintf-posix.sh: Likewise.
65788         * tests/test-vprintf-posix.sh: Likewise.
65789
65790 2007-05-19  Bruno Haible  <bruno@clisp.org>
65791
65792         Fix *printf result for NaN, Inf, -0.0 on mingw.
65793         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
65794         * lib/vasnprintf.c: Include math.h and isnan.h.
65795         (is_infinite_or_zero): New function.
65796         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
65797         values in the %f, %F, %e, %E, %g, %G directives.
65798         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
65799         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
65800         gl_PRINTF_INFINITE and test its result. Invoke
65801         gl_PREREQ_VASNPRINTF_INFINITE.
65802         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
65803         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65804         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65805         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65806         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
65807         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
65808         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
65809         * doc/functions/fprintf.texi: Update.
65810         * doc/functions/printf.texi: Update.
65811         * doc/functions/snprintf.texi: Update.
65812         * doc/functions/sprintf.texi: Update.
65813         * doc/functions/vfprintf.texi: Update.
65814         * doc/functions/vprintf.texi: Update.
65815         * doc/functions/vsnprintf.texi: Update.
65816         * doc/functions/vsprintf.texi: Update.
65817
65818 2007-05-19  Bruno Haible  <bruno@clisp.org>
65819
65820         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
65821         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
65822         Instead of multiplying with 10^k, set extra_zeroes to k.
65823         (scale10_round_long_double): Remove function.
65824
65825 2007-05-18  Bruno Haible  <bruno@clisp.org>
65826
65827         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
65828         introduced on 2007-05-06.
65829
65830 2007-05-18  Bruno Haible  <bruno@clisp.org>
65831
65832         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
65833         %g directives.
65834         * tests/test-vasprintf-posix.c (test_function): Likewise.
65835         * tests/test-snprintf-posix.h (test_function): Likewise.
65836         * tests/test-sprintf-posix.h (test_function): Likewise.
65837
65838 2007-05-18  Bruno Haible  <bruno@clisp.org>
65839
65840         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
65841         (strmatch): New function.
65842         (test_function): Test the %f directive on numbers of various exponents.
65843         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
65844         (strmatch): New function.
65845         (test_function): Test the %f directive on numbers of various exponents.
65846         * tests/test-snprintf-posix.h (strmatch): New function.
65847         (test_function): Test the %f directive on numbers of various exponents.
65848         * tests/test-sprintf-posix.h (strmatch): New function.
65849         (test_function): Test the %f directive on numbers of various exponents.
65850         * tests/test-snprintf-posix.c (SIZEOF): New macro.
65851         * tests/test-sprintf-posix.c (SIZEOF): New macro.
65852         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
65853         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
65854
65855 2007-05-18  Bruno Haible  <bruno@clisp.org>
65856
65857         Add support for 'long double' number output.
65858         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
65859         * lib/vasnprintf.c: Include math.h and float+.h.
65860         (mp_limb_t): New type.
65861         (GMP_LIMB_BITS): New macro.
65862         (mp_twolimb_t): New type.
65863         (GMP_TWOLIMB_BITS): New macro.
65864         (mpn_t): New type.
65865         (multiply, divide, convert_to_decimal, decode_long_double,
65866         scale10_round_long_double, scale10_round_decimal_long_double,
65867         floorlog10l): New functions.
65868         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
65869         for the %f, %F, %e, %E, %g, %G directives.
65870         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
65871         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
65872         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
65873         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
65874         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
65875         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65876         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65877         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65878         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
65879         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
65880         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
65881         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
65882         * modules/snprintf-posix (Depends-on): Likewise.
65883         * modules/sprintf-posix (Depends-on): Likewise.
65884         * modules/vasnprintf-posix (Depends-on): Likewise.
65885         * modules/vasprintf-posix (Depends-on): Likewise.
65886         * modules/vfprintf-posix (Depends-on): Likewise.
65887         * modules/vsnprintf-posix (Depends-on): Likewise.
65888         * modules/vsprintf-posix (Depends-on): Likewise.
65889         * modules/vasnprintf (Files): Add lib/float+.h.
65890         * doc/functions/fprintf.texi: Update.
65891         * doc/functions/printf.texi: Update.
65892         * doc/functions/snprintf.texi: Update.
65893         * doc/functions/sprintf.texi: Update.
65894         * doc/functions/vfprintf.texi: Update.
65895         * doc/functions/vprintf.texi: Update.
65896         * doc/functions/vsnprintf.texi: Update.
65897         * doc/functions/vsprintf.texi: Update.
65898
65899 2007-05-18  Bruno Haible  <bruno@clisp.org>
65900
65901         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
65902
65903 2007-05-18  Bruno Haible  <bruno@clisp.org>
65904
65905         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
65906         for printing 64-bit integers. Needed for mingw.
65907
65908 2007-05-18  Bruno Haible  <bruno@clisp.org>
65909
65910         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
65911         gl_FUNC_FREXPL_WORKS.
65912         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
65913
65914 2007-05-18  Bruno Haible  <bruno@clisp.org>
65915
65916         * modules/frexpl-nolibm-tests: New file.
65917
65918         * modules/frexpl-nolibm: New file.
65919         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
65920
65921 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
65922
65923         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
65924         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
65925         GCC 4.2, which otherwise issues a lot of warnings.
65926         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
65927         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
65928         Likewise.
65929         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
65930         * modules/iconv_open (iconv.h): Likewise.
65931         * modules/locale (locale.h): Likewise.
65932         * modules/netinet_in (netinet/in.h): Likewise.
65933         * modules/sys_select (sys_select.h): Likewise.
65934         * modules/sys_socket (sys/socket.h): Likewise.
65935         * modules/sys_stat (sys/stat.h): Likewise.
65936         * modules/sysexits (sysexits.h): Likewise.
65937         * modules/unistd (unistd.h): Likewise.
65938
65939 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65940
65941         * modules/closein-tests (Makefile.am): Distribute
65942         `test-closein.sh'.
65943
65944 2007-05-17  Bruno Haible  <bruno@clisp.org>
65945
65946         * tests/test-printf-posix.output: Renamed from
65947         tests/test-fprintf-posix.out.
65948         * modules/fprintf-posix-tests: Update.
65949         * modules/printf-posix-tests: Update.
65950         * modules/vfprintf-posix-tests: Update.
65951         * modules/vprintf-posix-tests: Update.
65952         * tests/test-fprintf-posix.sh: Update.
65953         * tests/test-printf-posix.sh: Update.
65954         * tests/test-vfprintf-posix.sh: Update.
65955         * tests/test-vprintf-posix.sh: Update.
65956         Reported by Ralf Wildenhues.
65957
65958 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
65959
65960         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
65961         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
65962         GCC 4.2, which otherwise issues a lot of warnings.
65963         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
65964         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
65965         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
65966         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
65967         it should no longer be needed.
65968         * lib/string_.h: Likewise.
65969         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
65970         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
65971         * modules/inttypes (inttypes.h): Likewise.
65972         * modules/math (math.h): Likewise.
65973         * modules/search (search.h): Likewise.
65974         * modules/signal (signal.h): Likewise.
65975         * modules/stdint (stdint.h): Likewise.
65976         * modules/stdio (stdio.h): Likewise.
65977         * modules/stdlib (stdlib.h): Likewise.
65978         * modules/string (string.h): Likewise.
65979         * modules/sys_time (sys/time.h): Likewise.
65980         * modules/time (time.h): Likewise.
65981         * modules/wchar (wchar.h): Likewise.
65982         * modules/wctype (wtype.h): Likewise.
65983
65984 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
65985
65986         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
65987
65988 2007-05-13  Bruno Haible  <bruno@clisp.org>
65989
65990         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
65991         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
65992         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
65993         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
65994         (gl_PREREQ_STRTOK_R): Don't require it here.
65995
65996 2007-05-13  Bruno Haible  <bruno@clisp.org>
65997
65998         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
65999         when used in C++ mode.
66000
66001 2007-05-12  Bruno Haible  <bruno@clisp.org>
66002
66003         * lib/linebuffer.h: Tweak doc.
66004         * lib/linebuffer.c: Likewise.
66005
66006 2007-05-12  James Youngman  <jay@gnu.org>
66007
66008         * lib/linebuffer.c (readlinebuffer_delim): New function,
66009         like readlinebuffer, but use a caller-specified delimiter.
66010         (readlinebuffer): Just call readlinebuffer_delim with '\n'
66011         as the delimiter.
66012         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
66013
66014 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
66015
66016         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
66017         * modules/openat (Files): Remove openat-die.c.
66018         (Depends-on): Add openat-die.
66019         * modules/openat-die: New module.
66020
66021 2007-05-06  Bruno Haible  <bruno@clisp.org>
66022
66023         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
66024         Update with info about Cygwin.
66025         * doc/functions/fprintf.texi: Update.
66026         * doc/functions/printf.texi: Update.
66027         * doc/functions/snprintf.texi: Update.
66028         * doc/functions/sprintf.texi: Update.
66029         * doc/functions/vfprintf.texi: Update.
66030         * doc/functions/vprintf.texi: Update.
66031         * doc/functions/vsnprintf.texi: Update.
66032         * doc/functions/vsprintf.texi: Update.
66033         Reported by Eric Blake.
66034
66035 2007-05-06  Bruno Haible  <bruno@clisp.org>
66036
66037         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
66038         padding ourselves for the floating-point directives.
66039         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
66040         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
66041         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
66042         gl_PRINTF_FLAG_ZERO and test its result. Invoke
66043         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
66044         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
66045         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
66046         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
66047         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
66048         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
66049         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
66050         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
66051         * tests/test-snprintf-posix.h (test_function): Also check the width
66052         and some flags in the %f directive.
66053         * tests/test-sprintf-posix.h (test_function): Likewise.
66054         * tests/test-vasnprintf-posix.c (test_function): Likewise.
66055         * tests/test-vasprintf-posix.c (test_function): Likewise.
66056         * doc/functions/fprintf.texi: Update.
66057         * doc/functions/printf.texi: Update.
66058         * doc/functions/snprintf.texi: Update.
66059         * doc/functions/sprintf.texi: Update.
66060         * doc/functions/vfprintf.texi: Update.
66061         * doc/functions/vprintf.texi: Update.
66062         * doc/functions/vsnprintf.texi: Update.
66063         * doc/functions/vsprintf.texi: Update.
66064
66065 2007-05-06  Bruno Haible  <bruno@clisp.org>
66066
66067         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
66068         pass the ' flag character to sprintf or snprintf.
66069         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
66070         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
66071         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
66072         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
66073         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
66074         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
66075         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
66076         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
66077         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
66078         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
66079         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
66080         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
66081         * tests/test-snprintf-posix.h (test_function): Also check the grouping
66082         flag.
66083         * tests/test-sprintf-posix.h (test_function): Likewise.
66084         * tests/test-vasnprintf-posix.c (test_function): Likewise.
66085         * tests/test-vasprintf-posix.c (test_function): Likewise.
66086         * doc/functions/fprintf.texi: Update.
66087         * doc/functions/printf.texi: Update.
66088         * doc/functions/snprintf.texi: Update.
66089         * doc/functions/sprintf.texi: Update.
66090         * doc/functions/vfprintf.texi: Update.
66091         * doc/functions/vprintf.texi: Update.
66092         * doc/functions/vsnprintf.texi: Update.
66093         * doc/functions/vsprintf.texi: Update.
66094
66095 2007-05-01  Bruno Haible  <bruno@clisp.org>
66096
66097         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
66098
66099 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
66100
66101         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
66102         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
66103
66104 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
66105
66106         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
66107         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
66108         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
66109
66110 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
66111
66112         * lib/argp-help.c (struct hol_entry): New member `ord'.
66113         (HOL_ENTRY_PTRCMP): Use ord for comparison
66114         (hol_sort): Initialize ord.
66115
66116 2007-05-01  Bruno Haible  <bruno@clisp.org>
66117
66118         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
66119         Reported by Eric Blake.
66120         * doc/gnulib.texi (Function Substitutes): Update.
66121
66122 2007-05-01  Bruno Haible  <bruno@clisp.org>
66123
66124         * doc/functions.texi: Remove file, now redundant through
66125         doc/functions/*.texi.
66126
66127 2007-05-01  Bruno Haible  <bruno@clisp.org>
66128
66129         * modules/argp (Depends-on): Add sleep.
66130
66131 2007-05-01  Bruno Haible  <bruno@clisp.org>
66132
66133         * modules/sleep-tests: New file.
66134         * tests/test-sleep.c: New file.
66135
66136         * modules/sleep: New file.
66137         * lib/sleep.c: New file.
66138         * m4/sleep.m4: New file.
66139         * lib/unistd_.h (sleep): New declaration.
66140         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
66141         HAVE_SLEEP.
66142         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
66143         * doc/functions/sleep.texi: Document the sleep module.
66144
66145 2007-05-01  Bruno Haible  <bruno@clisp.org>
66146
66147         * lib/sigprocmask.h: Remove file.
66148         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
66149         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
66150         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
66151         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
66152         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
66153         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
66154         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
66155         HAVE_SIGSET_T as a shell variable.
66156         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
66157         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
66158         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
66159         (Depends-on): Add signal. Remove verify.
66160         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
66161         (Include): Mention <signal.h> instead of sigprocmask.h.
66162         * NEWS: Mention the change.
66163         * lib/fatal-signal.c: Don't include sigprocmask.h.
66164
66165 2007-05-01  Bruno Haible  <bruno@clisp.org>
66166
66167         * modules/signal: New file.
66168         * lib/signal_.h: New file.
66169         * m4/signal_h.m4: New file.
66170
66171 2007-05-01  Bruno Haible  <bruno@clisp.org>
66172
66173         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
66174         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
66175         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
66176         HAVE_WCTYPE_CTMP_BUG into wctype.h.
66177
66178 2007-05-01  Bruno Haible  <bruno@clisp.org>
66179
66180         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
66181         configure time.
66182         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
66183         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
66184         * modules/sys_stat (Makefile.am): Substitute their values into
66185         sys/stat.h.
66186
66187 2007-05-01  Bruno Haible  <bruno@clisp.org>
66188
66189         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
66190         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
66191         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
66192
66193 2007-05-01  Bruno Haible  <bruno@clisp.org>
66194
66195         * doc/header/assert.texi: Undo last change: don't mention the gnulib
66196         'assert' module here.
66197
66198 2007-05-01  Bruno Haible  <bruno@clisp.org>
66199
66200         * doc/functions/*.texi: New files.
66201         * doc/functions/google-ranking.txt: New file.
66202         * doc/gnulib.texi (Function Substitutes): New chapter.
66203         (ctime, inet_ntoa): Remove sections.
66204         * doc/ctime.texi: Remove file.
66205         * doc/inet_ntoa.texi: Remove file.
66206         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
66207         dependencies.
66208         (%.info): New rule, specifying a --reference-limit.
66209
66210 2007-05-01  Bruno Haible  <bruno@clisp.org>
66211
66212         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
66213
66214 2007-05-01  Bruno Haible  <bruno@clisp.org>
66215
66216         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
66217         the portability of 'mkdir' to mingw systems.
66218
66219 2007-05-01  Bruno Haible  <bruno@clisp.org>
66220
66221         * doc/headers/google-ranking.txt: New file.
66222
66223 2007-04-30  Eric Blake  <ebb9@byu.net>
66224
66225         Prefer fseeko to fseek.
66226         * modules/getpass (Depends-on): Add fseeko.
66227         * lib/getpass.c (getpass): Use fseeko, not fseek.
66228
66229 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
66230
66231         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
66232         assumes the sorting is stable, while most qsort implementations
66233         are not.  Use argument addresses to ensure they never compare as
66234         equal.
66235
66236         * tests/test-argp-2.sh (usage-indent test): Fix output
66237         (func_compare): Restore diff options
66238         * tests/test-argp.c: Restore #include "progname.h"
66239
66240 2007-04-29  Bruno Haible  <bruno@clisp.org>
66241
66242         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
66243         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
66244         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
66245         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
66246         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
66247         (configure.ac): Define CHECK_SNPRINTF_POSIX.
66248         (TESTS, check_PROGRAMS): Add test-snprintf.
66249         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
66250         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
66251         (TESTS, check_PROGRAMS): Add test-vsnprintf.
66252         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
66253         assertions that fail on HP-UX, OSF/1, or IRIX.
66254         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
66255
66256 2007-04-29  Bruno Haible  <bruno@clisp.org>
66257
66258         * MODULES.html.sh (posix_functions): Remove 'contents'.
66259
66260 2007-04-29  Karl Berry  <karl@gnu.org>
66261
66262         * config/srclist.txt (gendocs_template_min): new entry.
66263
66264 2007-04-29  Bruno Haible  <bruno@clisp.org>
66265
66266         Work around fpurge bug on BSD systems.
66267         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
66268         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
66269         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
66270         fpurge to rpl_fpurge if the system already has this function.
66271         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
66272         the case where the system already has this function. Correct invariants
66273         on BSD systems.
66274         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
66275         BSD systems.
66276
66277 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
66278
66279         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
66280         proposed by Sven Verdoolaege.
66281
66282         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
66283         options.
66284         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
66285         (usage and help tests): Update
66286
66287 2007-04-29  Bruno Haible  <bruno@clisp.org>
66288
66289         * tests/test-fflush.c (main): Use a file of size 17, not 10.
66290         Print more information in case of failure. Disable a test on BeOS.
66291
66292 2007-04-29  Bruno Haible  <bruno@clisp.org>
66293
66294         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
66295         This helps debugging on systems on which no gdb is available.
66296
66297 2007-04-29  Bruno Haible  <bruno@clisp.org>
66298
66299         * lib/freading.h: Improve comments.
66300         * lib/fwriting.h: Likewise.
66301         * tests/test-freading.c (main): Don't check freading immediately after
66302         repositioning. Needed for glibc.
66303
66304 2007-04-29  Bruno Haible  <bruno@clisp.org>
66305
66306         * lib/freading.c (freading): Trivial simplification.
66307
66308 2007-04-28  Bruno Haible  <bruno@clisp.org>
66309
66310         * tests/test-fwriting.c (main): Also test the interaction between
66311         fflush and fwriting.
66312         * modules/fwriting-tests (Depends-on): Add fflush.
66313
66314         * tests/test-freading.c (main): Also test the interaction between
66315         fflush and freading.
66316         * modules/freading-tests (Depends-on): Add fflush.
66317
66318 2007-04-28  Bruno Haible  <bruno@clisp.org>
66319
66320         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
66321         fseeko and ftello.
66322         Suggested by Eric Blake.
66323
66324 2007-04-28  Jim Meyering  <jim@meyering.net>
66325
66326         Avoid false-negative in gl_STDINT_H's C99 conformance test.
66327         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
66328         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
66329
66330 2007-04-27  Eric Blake  <ebb9@byu.net>
66331
66332         * doc/headers/assert.texi (assert.h): Document assert module use.
66333
66334 2007-04-27  Bruno Haible  <bruno@clisp.org>
66335
66336         * doc/headers/*.texi: New files.
66337         * doc/gnulib.texi (Header File Substitutes): New chapter.
66338         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
66339         dependencies.
66340         (standards.info ,standards.html, standards.dvi): Update dependencies.
66341         (mostlyclean, clean): New targets.
66342
66343 2007-04-27  Bruno Haible  <bruno@clisp.org>
66344
66345         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
66346         * modules/sysexits (Files, Makefile.am): Update.
66347
66348         * lib/sys_socket_.h: Renamed from lib/socket_.h.
66349         * modules/sys_socket (Files, Makefile.am): Update.
66350
66351         * lib/sys_stat_.h: Renamed from lib/stat_.h.
66352         * modules/sys_stat (Files, Makefile.am): Update.
66353
66354 2007-04-27  Eric Blake  <ebb9@byu.net>
66355
66356         * lib/freading.h: Improve comments.
66357         * lib/fwriting.h: Likewise.
66358         * lib/fflush.c: Likewise.
66359
66360         Fix closein for mingw.
66361         * modules/closein-tests: Add tests for closein.
66362         * tests/test-closein.c: New file.
66363         * tests/test-closein.sh: Likewise.
66364         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
66365         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
66366
66367 2007-04-27  Bruno Haible  <bruno@clisp.org>
66368
66369         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
66370         version is < 6.
66371         * lib/math_.h [__DECC]: Likewise.
66372         * lib/stdio_.h [__DECC]: Likewise.
66373         * lib/stdlib_.h [__DECC]: Likewise.
66374         * lib/string_.h [__DECC]: Likewise.
66375         * lib/time_.h [__DECC]: Likewise.
66376         * lib/wchar_.h [__DECC]: Likewise.
66377         * lib/wctype_.h [__DECC]: Likewise.
66378
66379 2007-04-27  Bruno Haible  <bruno@clisp.org>
66380
66381         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
66382
66383 2007-04-27  Bruno Haible  <bruno@clisp.org>
66384
66385         * lib/fflush.c: Add comments.
66386         * modules/fpurge-tests (Depends-on): Add fflush.
66387         * modules/freadable-tests (Depends-on): Likewise.
66388         * modules/fwritable-tests (Depends-on): Likewise.
66389
66390 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
66391
66392         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
66393         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
66394         Report by Bruno Haible <bruno@clisp.org>.
66395
66396 2007-04-26  Eric Blake  <ebb9@byu.net>
66397
66398         Fix fflush on mingw.
66399         * modules/fflush (Depends-on): Add freading.
66400         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
66401         but unread data.
66402
66403 2007-04-26  Eric Blake  <ebb9@byu.net>
66404         and Bruno Haible  <bruno@clisp.org>
66405
66406         Implement freading and fwriting.
66407         * lib/freading.c: New file.
66408         * lib/freading.h: Likewise.
66409         * m4/freading.m4: Likewise.
66410         * modules/freading: Likewise.
66411         * modules/freading-tests: Likewise.
66412         * tests/test-freading.c: Likewise.
66413         * lib/fwriting.c: New file.
66414         * lib/fwriting.h: Likewise.
66415         * m4/fwriting.m4: Likewise.
66416         * modules/fwriting: Likewise.
66417         * modules/fwriting-tests: Likewise.
66418         * tests/test-fwriting.c: Likewise.
66419         * MODULES.html.sh (File stream based Input/Output): Mention them.
66420
66421 2007-04-26  Bruno Haible  <bruno@clisp.org>
66422
66423         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
66424         'long' when we assume it.
66425         Suggested by Eric Blake.
66426
66427 2007-04-26  Bruno Haible  <bruno@clisp.org>
66428
66429         Ensure fseeko, ftello are declared on glibc systems.
66430         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
66431         * modules/fseeko (configure.ac-early): Likewise.
66432         * modules/ftello (configure.ac-early): Likewise.
66433         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
66434         AC_FUNC_FSEEKO for this.
66435         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
66436         (gl_CHECK_FSEEKO): Remove macro.
66437
66438 2007-04-26  Bruno Haible  <bruno@clisp.org>
66439
66440         * tests/test-fflush.c (main): Also check the ftell result after
66441         fflush and fseek/fseeko.
66442         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
66443         file descriptor position cache in the stream.
66444         * lib/fseeko.c (rpl_fseeko): Likewise.
66445
66446 2007-04-26  Bruno Haible  <bruno@clisp.org>
66447
66448         * modules/fflush-tests (Depends-on): Add fseeko.
66449
66450 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
66451             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66452
66453         * lib/argz_.h: ensure error_t definition is obtained in same
66454         mechanism system argz.h would have.
66455         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
66456         argz facilities are known bad.  Err on the side of caution if
66457         cross-compiling.
66458
66459 2007-04-25  Eric Blake  <ebb9@byu.net>
66460
66461         * lib/fpurge.c (includes): Use stdlib.h for free.
66462         * tests/test-fflush.c (main): Also test fflush-fseeko.
66463
66464 2007-04-25  Bruno Haible  <bruno@clisp.org>
66465
66466         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
66467         * lib/fseeko.c: New file.
66468         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
66469         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
66470         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
66471         gl_FUNC_FSEEKO.
66472         (gl_FUNC_FSEEKO): Invoke it.
66473         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
66474         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
66475         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
66476
66477 2007-04-25  Bruno Haible  <bruno@clisp.org>
66478
66479         * modules/fflush (Depends-on): Add ftello.
66480
66481 2007-04-25  Bruno Haible  <bruno@clisp.org>
66482
66483         * modules/ftello-tests: New file.
66484         * tests/test-ftello.c: New file.
66485
66486         * modules/ftello: New file.
66487         * m4/ftello.m4: New file.
66488         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
66489         HAVE_FTELLO.
66490         * lib/stdio_.h (ftello): New declaration.
66491         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
66492         HAVE_FTELLO.
66493
66494 2007-04-25  Bruno Haible  <bruno@clisp.org>
66495
66496         * modules/fseeko-tests: New file.
66497         * tests/test-fseeko.c: New file.
66498
66499         * modules/fseeko: New file.
66500         * m4/fseeko.m4: New file.
66501         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
66502         HAVE_FSEEKO.
66503         * lib/stdio_.h (fseeko): New declaration.
66504         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
66505         HAVE_FSEEKO.
66506
66507 2007-04-25  Bruno Haible  <bruno@clisp.org>
66508
66509         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
66510
66511 2007-04-25  Bruno Haible  <bruno@clisp.org>
66512
66513         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
66514         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
66515         * tests/test-unistd.c: Likewise.
66516         * tests/test-fcntl.c: Likewise.
66517
66518 2007-04-23  Eric Blake  <ebb9@byu.net>
66519
66520         * lib/fflush.c: Fix missing include.
66521         Reported by Bruno Haible.
66522
66523 2007-04-23  Bruno Haible  <bruno@clisp.org>
66524
66525         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
66526         Reported by Eric Blake.
66527
66528 2007-04-23  Bruno Haible  <bruno@clisp.org>
66529
66530         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
66531
66532 2007-04-23  Bruno Haible  <bruno@clisp.org>
66533
66534         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
66535
66536 2007-04-23  Bruno Haible  <bruno@clisp.org>
66537
66538         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
66539         Needed on HP-UX 11.
66540
66541 2007-04-16  Eric Blake  <ebb9@byu.net>
66542
66543         Make fflush rely on fpurge.
66544         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
66545         open coding all variants.
66546         * modules/fflush (Depends-on): Add fpurge and unistd.
66547         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
66548         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
66549
66550         Fix --with-tests compilation on cygwin.
66551         * modules/argmatch-tests (Makefile.am): List gnulib library first
66552         in LDADD.
66553         * modules/argp-tests (Makefile.am): Likewise.
66554         * modules/array-list-tests (Makefile.am): Likewise.
66555         * modules/array-oset-tests (Makefile.am): Likewise.
66556         * modules/avltree-list-tests (Makefile.am): Likewise.
66557         * modules/avltree-oset-tests (Makefile.am): Likewise.
66558         * modules/avltreehash-list-tests (Makefile.am): Likewise.
66559         * modules/carray-list-tests (Makefile.am): Likewise.
66560         * modules/dirname-tests (Makefile.am): Likewise.
66561         * modules/frexp-tests (Makefile.am): Likewise.
66562         * modules/isnanl-tests (Makefile.am): Likewise.
66563         * modules/linked-list-tests (Makefile.am): Likewise.
66564         * modules/linkedhash-list-tests (Makefile.am): Likewise.
66565         * modules/lock-tests (Makefile.am): Likewise.
66566         * modules/rbtree-list-tests (Makefile.am): Likewise.
66567         * modules/rbtree-oset-tests (Makefile.am): Likewise.
66568         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
66569         * modules/tls-tests (Makefile.am): Likewise.
66570         * modules/tsearch-tests (Makefile.am): Likewise.
66571         * modules/xvasprintf-tests (Makefile.am): Likewise.
66572
66573         Fix fpurge for cygwin.
66574         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
66575         value.
66576         * modules/fpurge-tests (Depends-on): Clean up trash.
66577
66578 2007-04-16  Simon Josefsson  <simon@josefsson.org>
66579
66580         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
66581
66582         * m4/autobuild.m4: Re-indent.
66583
66584 2007-04-13  Bruno Haible  <bruno@clisp.org>
66585
66586         * modules/fpurge-tests: New file.
66587         * tests/test-fpurge.c: New file.
66588
66589         * modules/fpurge: New file.
66590         * lib/fpurge.h: New file.
66591         * lib/fpurge.c: New file.
66592         * m4/fpurge.m4: New file.
66593
66594 2007-04-13  Bruno Haible  <bruno@clisp.org>
66595
66596         * modules/fbufmode-tests: New file.
66597         * tests/test-fbufmode.c: New file.
66598
66599         * modules/fbufmode: New file.
66600         * lib/fbufmode.h: New file.
66601         * lib/fbufmode.c: New file.
66602         * m4/fbufmode.m4: New file.
66603
66604 2007-04-13  Bruno Haible  <bruno@clisp.org>
66605
66606         * modules/fwritable-tests: New file.
66607         * tests/test-fwritable.c: New file.
66608
66609         * modules/fwritable: New file.
66610         * lib/fwritable.h: New file.
66611         * lib/fwritable.c: New file.
66612         * m4/fwritable.m4: New file.
66613
66614 2007-04-13  Bruno Haible  <bruno@clisp.org>
66615
66616         * modules/freadable-tests: New file.
66617         * tests/test-freadable.c: New file.
66618
66619         * modules/freadable: New file.
66620         * lib/freadable.h: New file.
66621         * lib/freadable.c: New file.
66622         * m4/freadable.m4: New file.
66623
66624 2007-04-13  Bruno Haible  <bruno@clisp.org>
66625
66626         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
66627         MOSTLYCLEANFILES.
66628
66629 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
66630
66631         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
66632         gzip bootstrap.conf to avoid dragging in i18n machinery.
66633         (gnulib_tool_option): Use it.
66634
66635 2007-04-13  Bruno Haible  <bruno@clisp.org>
66636
66637         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
66638         %F directives.
66639         * tests/test-vasprintf-posix.c (test_function): Likewise.
66640         * tests/test-snprintf-posix.h (test_function): Likewise.
66641         * tests/test-sprintf-posix.h (test_function): Likewise.
66642         * tests/test-fprintf-posix.h (test_function): Likewise.
66643         * tests/test-printf-posix.h (test_function): Likewise.
66644         * tests/test-fprintf-posix.out: Likewise.
66645
66646 2007-04-13  Bruno Haible  <bruno@clisp.org>
66647
66648         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
66649         * modules/tls-tests (configure.ac): Likewise.
66650         Reported by Arto C. Nirkko <anirkko@insel.ch>.
66651
66652 2007-04-13  Bruno Haible  <bruno@clisp.org>
66653
66654         * lib/tls.c (glthread_tls_get): Fix return type.
66655         Patch by Arto C. Nirkko <anirkko@insel.ch>.
66656
66657 2007-04-12  Eric Blake  <ebb9@byu.net>
66658
66659         * modules/gettime (Depends-on): Remove gettime.
66660         Reported by Dmitry V. Levin.
66661
66662 2007-04-12  Bruno Haible  <bruno@clisp.org>
66663
66664         * modules/fflush (Include): Mention <stdio.h>.
66665         * modules/strtoimax (Include): Mention <inttypes.h>.
66666         * modules/strtoumax (Include): Likewise.
66667
66668 2007-04-12  Eric Blake  <ebb9@byu.net>
66669
66670         * .cvsignore: New file.
66671         * .gitignore: Likewise.
66672
66673 2007-04-12  Bruno Haible  <bruno@clisp.org>
66674
66675         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
66676         not before, since $(LDADD) often contains libgnu.a.
66677         * modules/striconv-tests (test_striconv_LDADD): Likewise.
66678         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
66679         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
66680         Needed on Cygwin.
66681
66682 2007-04-12  Eric Blake  <ebb9@byu.net>
66683
66684         Work around glibc's failure to flush stdin on fclose.
66685         * lib/closein.c (close_stdin): Flush stdin before closing.
66686
66687         Work around glibc's failure to reset seekable stdin on exit.
66688         * modules/closein: New module.
66689         * lib/closein.c: New file.
66690         * lib/closein.h: Likewise.
66691         * m4/closein.m4: Likewise.
66692         * MODULES.html.sh (File stream based Input/Output): Document it.
66693
66694 2007-04-12  Simon Josefsson  <simon@josefsson.org>
66695
66696         * gnulib-tool: Rename generated 'autobuild' script to
66697         'do-autobuild' in --create-megatestdir output.
66698
66699         * doc/gnulib.texi (Build robot for gnulib): Fix.
66700
66701 2007-04-12  Simon Josefsson  <simon@josefsson.org>
66702
66703         * modules/sysexits (Depends-on): Add absolute-header.
66704
66705 2007-04-12  Eric Blake  <ebb9@byu.net>
66706
66707         No need to preserve errno on success.
66708         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
66709         Reported by Bruno Haible.
66710
66711 2007-04-12  Simon Josefsson  <simon@josefsson.org>
66712
66713         * MODULES.html.sh (Support for maintaining and releasing
66714         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
66715
66716 2007-04-12  Simon Josefsson  <simon@josefsson.org>
66717
66718         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
66719
66720 2007-04-12  Simon Josefsson  <simon@josefsson.org>
66721
66722         * modules/autobuild: New module.
66723
66724         * m4/autobuild.m4: New file.
66725
66726 2007-04-11  Bruno Haible  <bruno@clisp.org>
66727
66728         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
66729         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
66730         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
66731         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
66732         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
66733         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66734         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66735         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
66736         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66737         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66738         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
66739         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66740         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66741         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
66742         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66743         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66744         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
66745         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66746         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66747         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
66748         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66749         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66750         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
66751         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66752         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66753         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
66754         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66755         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66756         Reported by Eric Blake.
66757
66758 2007-04-11  Bruno Haible  <bruno@clisp.org>
66759
66760         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
66761
66762 2007-04-10  Bruno Haible  <bruno@clisp.org>
66763
66764         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
66765         for NaN and Infinity. Needed on FreeBSD 6.1.
66766         * tests/test-vasnprintf-posix.c (test_function): Undo last change
66767         regarding results for "%010a" of Infinity and NaN.
66768         * tests/test-vasprintf-posix.c (test_function): Likewise.
66769         * tests/test-snprintf-posix.h (test_function): Likewise.
66770         * tests/test-sprintf-posix.h (test_function): Likewise.
66771         * tests/test-fprintf-posix.h (test_function): Likewise.
66772         * tests/test-printf-posix.h (test_function): Likewise.
66773         * tests/test-fprintf-posix.out: Likewise.
66774
66775 2007-04-10  Bruno Haible  <bruno@clisp.org>
66776
66777         * modules/locale-tests: New file.
66778         * tests/test-locale.c: New file.
66779
66780         * modules/locale: New file.
66781         * lib/locale_.h: New file.
66782         * m4/locale_h.m4: New file.
66783
66784 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
66785             Bruno Haible  <bruno@clisp.org>
66786
66787         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
66788         be determined, test for availability of the copysignf, copysign,
66789         copysignl functions.
66790         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
66791         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
66792         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
66793
66794 2007-04-09  Eric Blake  <ebb9@byu.net>
66795
66796         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
66797         * modules/stdio (Makefile.am): Support fflush.
66798         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
66799         * modules/fflush: New file.
66800         * lib/fflush.c: Likewise.
66801         * m4/fflush.m4: Likewise.
66802         * modules/fflush-tests: New test.
66803         * tests/test-fflush.c: Likewise.
66804         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
66805
66806 2007-04-06  Bruno Haible  <bruno@clisp.org>
66807
66808         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
66809         (VASNPRINTF): Use signbit for faster determination whether to print a
66810         minus sign.
66811         * modules/vasnprintf (Files): Remove lib/float+.h.
66812         * modules/fprintf-posix (Depends-on): Add signbit.
66813         * modules/snprintf-posix (Depends-on): Likewise.
66814         * modules/sprintf-posix (Depends-on): Likewise.
66815         * modules/vasnprintf-posix (Depends-on): Likewise.
66816         * modules/vasprintf-posix (Depends-on): Likewise.
66817         * modules/vfprintf-posix (Depends-on): Likewise.
66818         * modules/vsnprintf-posix (Depends-on): Likewise.
66819         * modules/vsprintf-posix (Depends-on): Likewise.
66820
66821 2007-04-06  Bruno Haible  <bruno@clisp.org>
66822
66823         * tests/test-frexp.c (main): Test also the sign bit of zero results.
66824         * tests/test-frexpl.c (main): Likewise.
66825         * tests/test-ldexpl.c (main): Likewise.
66826         * modules/frexp-tests (Depends-on): Add signbit.
66827         * modules/frexpl-tests (Depdends-on): Likewise.
66828         * modules/ldexpl-tests (Depdends-on): Likewise.
66829
66830 2007-04-06  Bruno Haible  <bruno@clisp.org>
66831
66832         * modules/signbit-tests: New file.
66833         * tests/test-signbit.c: New file.
66834
66835         * modules/signbit: New file.
66836         * lib/signbitf.c: New file.
66837         * lib/signbitd.c: New file.
66838         * lib/signbitl.c: New file.
66839         * m4/signbit.m4: New file.
66840         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
66841         (signbit): New macro.
66842         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
66843         REPLACE_SIGNBIT.
66844         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
66845         REPLACE_FREXPL into math.h.
66846
66847 2007-04-06  Bruno Haible  <bruno@clisp.org>
66848
66849         * modules/isnanf-nolibm-tests: New file.
66850         * tests/test-isnanf.c: New file.
66851
66852         * modules/isnanf-nolibm: New file.
66853         * lib/isnanf.h: New file.
66854         * lib/isnanf.c: New file.
66855         * lib/isnan.c: Consider the USE_FLOAT macro.
66856         * m4/isnanf.m4: New file.
66857
66858 2007-04-06  Bruno Haible  <bruno@clisp.org>
66859
66860         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
66861         (Link): New section.
66862
66863         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
66864
66865 2007-04-06  Bruno Haible  <bruno@clisp.org>
66866
66867         Assume the 'long double' type.
66868         * m4/longdouble.m4: Remove file.
66869         * config/srclist.txt: Don't mention longdouble.m4.
66870         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
66871         * lib/float+.h: Likewise.
66872         * lib/frexp.c: Likewise.
66873         * lib/printf-args.h: Likewise.
66874         * lib/printf-args.c: Likewise.
66875         * lib/printf-frexp.c: Likewise.
66876         * lib/printf-parse.c: Likewise.
66877         * lib/vasnprintf.c: Likewise.
66878         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
66879         * m4/intl.m4: Likewise.
66880         * m4/isnanl.m4: Likewise.
66881         * m4/printf.m4: Likewise.
66882         * m4/printf-frexpl.m4: Likewise.
66883         * m4/vasnprintf.m4: Likewise.
66884         * modules/allocsa (Files): Remove m4/longdouble.m4.
66885         * modules/gettext (Files): Likewise.
66886         * modules/relocatable-prog-wrapper (Files): Likewise.
66887         * modules/vasnprintf (Files): Likewise.
66888         * modules/isnanl (Files): Likewise.
66889         (Include): Simplify.
66890         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
66891         (Include): Simplify.
66892         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
66893         (Include): Simplify.
66894         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
66895         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
66896         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
66897         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
66898         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
66899         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
66900         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
66901         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
66902         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
66903         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
66904         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
66905         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
66906         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
66907         * tests/test-isnanl.c: Likewise.
66908         * tests/test-snprintf-posix.h: Likewise.
66909         * tests/test-sprintf-posix.h: Likewise.
66910         * tests/test-vasnprintf-posix.c: Likewise.
66911         * tests/test-vasnprintf-posix2.c: Likewise.
66912         * tests/test-vasprintf-posix.c: Likewise.
66913
66914 2007-04-06  Bruno Haible  <bruno@clisp.org>
66915
66916         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
66917         * lib/math_.h [__DECC]: Include the overridden include file through
66918         #include_next, outside the double-inclusion guard.
66919         * lib/stdio_.h [__DECC]: Likewise.
66920         * lib/stdlib_.h [__DECC]: Likewise.
66921         * lib/string_.h [__DECC]: Likewise.
66922         * lib/time_.h [__DECC]: Likewise.
66923         * lib/wchar_.h [__DECC]: Likewise.
66924         * lib/wctype_.h [__DECC]: Likewise.
66925         * lib/inttypes_.h [__DECC]: Likewise.
66926         Reported by Albert Chin <china@thewrittenword.com> in
66927         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
66928
66929 2007-04-04  Eric Blake  <ebb9@byu.net>
66930
66931         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
66932         1.5.x.
66933
66934 2007-04-04  Bruno Haible  <bruno@clisp.org>
66935
66936         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
66937         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
66938
66939 2007-04-04  Bruno Haible  <bruno@clisp.org>
66940
66941         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
66942         results for "%010a" of Infinity and NaN.
66943         * tests/test-vasprintf-posix.c (test_function): Likewise.
66944         * tests/test-snprintf-posix.h (test_function): Likewise.
66945         * tests/test-sprintf-posix.h (test_function): Likewise.
66946         * tests/test-fprintf-posix.h (test_function): Remove these tests.
66947         * tests/test-printf-posix.h (test_function): Likewise.
66948         * tests/test-fprintf-posix.out: Update.
66949         Needed for FreeBSD 6.1.
66950
66951 2007-04-04  Bruno Haible  <bruno@clisp.org>
66952
66953         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
66954         directly used by the gnulib modules nor by gnulib-tool.
66955
66956 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
66957
66958         * DEPENDENCIES: Give overall description of version dependency
66959         desirability.  Use more-typical names for apps.
66960         Add shell, coreutils, diffutils, grep, tar, gzip.
66961
66962 2007-04-04  Simon Josefsson  <simon@josefsson.org>
66963
66964         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
66965
66966 2007-04-04  Karl Berry  <karl@gnu.org>
66967
66968         * MODULES.html.sh (func_module): missing '.
66969
66970 2007-04-03  Bruno Haible  <bruno@clisp.org>
66971
66972         * modules/argmatch-tests (Makefile.am): New variable
66973         test_argmatch_LDADD.
66974         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
66975         * modules/array-list-tests (Makefile.am): New variable
66976         test_array_list_LDADD.
66977         * modules/array-oset-tests (Makefile.am): New variable
66978         test_array_oset_LDADD.
66979         * modules/avltree-list-tests (Makefile.am): New variable
66980         test_avltree_list_LDADD.
66981         * modules/avltree-oset-tests (Makefile.am): New variable
66982         test_avltree_oset_LDADD.
66983         * modules/avltreehash-list-tests (Makefile.am): New variable
66984         test_avltreehash_list_LDADD.
66985         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
66986         test_canonicalize_lgpl_LDADD.
66987         * modules/carray-list-tests (Makefile.am): New variable
66988         test_carray_list_LDADD.
66989         * modules/dirname-tests (Makefile.am): New variable
66990         test_dirname_LDADD.
66991         * modules/linked-list-tests (Makefile.am): New variable
66992         test_linked_list_LDADD.
66993         * modules/linkedhash-list-tests (Makefile.am): New variable
66994         test_linkedhash_list_LDADD.
66995         * modules/rbtree-list-tests (Makefile.am): New variable
66996         test_rbtree_list_LDADD.
66997         * modules/rbtree-oset-tests (Makefile.am): New variable
66998         test_rbtree_oset_LDADD.
66999         * modules/rbtreehash-list-tests (Makefile.am): New variable
67000         test_rbtreehash_list_LDADD.
67001         * modules/xvasprintf-tests (Makefile.am): New variable
67002         test_xvasprintf_LDADD.
67003         Reported by Eric Blake.
67004
67005 2007-04-03  Eric Blake  <ebb9@byu.net>
67006
67007         * DEPENDENCIES: Weaken m4 requirements.
67008
67009 2007-04-03  Bruno Haible  <bruno@clisp.org>
67010
67011         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
67012         * modules/isnanl-tests (configure.ac): Likewise.
67013
67014 2007-04-03  Ben Pfaff  <blp@gnu.org>
67015
67016         * modules/iconv_open: Add $(srcdir)/ to source directory
67017         references in Makefile fragments that call gperf, to fix VPATH
67018         builds.
67019
67020 2007-04-03  Bruno Haible  <bruno@clisp.org>
67021
67022         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
67023         * lib/ldexpl.c: Undo last change.
67024
67025 2007-04-03  Bruno Haible  <bruno@clisp.org>
67026
67027         * modules/printf-frexpl (Depends-on): Undo last change.
67028         (Files): Add m4/ldexpl.m4.
67029
67030 2007-04-03  Bruno Haible  <bruno@clisp.org>
67031
67032         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
67033         * modules/isnanl (Link): New section.
67034
67035         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
67036         * modules/frexp (Link): New section.
67037
67038         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
67039         * modules/frexpl (Link): New section.
67040
67041         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
67042         * modules/ldexpl (Link): New section.
67043
67044 2007-04-03  Bruno Haible  <bruno@clisp.org>
67045
67046         * modules/TEMPLATE-EXTENDED: New file.
67047         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
67048
67049 2007-04-03  Bruno Haible  <bruno@clisp.org>
67050
67051         * DEPENDENCIES: New file.
67052         Suggested by Simon Josefsson.
67053
67054 2007-04-03  Bruno Haible  <bruno@clisp.org>
67055
67056         * doc/gnulib.texi: Escape @.
67057
67058 2007-04-03  James Youngman  <jay@gnu.org>
67059         and Paul Eggert  <eggert@cs.ucla.edu>
67060
67061         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
67062         birthtime on all systems that have birthtime, not just those which
67063         use st_birthtimensec rather than st_birthtim.  Putting zero in
67064         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
67065         that the birth time is not available for files on an NFS mount.
67066
67067 2007-04-03  Simon Josefsson  <simon@josefsson.org>
67068
67069         * modules/memxor: Move back from crypto/, suggested by Bruno.
67070         * modules/crypto/hmac-sha1: Fix memxor dependency.
67071
67072         * modules/crypto/gc: Moved from ../.
67073
67074 2007-04-02  Eric Blake  <ebb9@byu.net>
67075
67076         * lib/ldexpl.c (includes): Avoid libm.
67077
67078         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
67079
67080 2007-04-02  Bruno Haible  <bruno@clisp.org>
67081
67082         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
67083         on IRIX.
67084
67085 2007-04-02  Bruno Haible  <bruno@clisp.org>
67086
67087         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
67088         x86 or x86_64 platforms running MacOS X.
67089         Reported by Ryan Schmidt <@ryandesign.com>.
67090
67091 2007-04-02  Bruno Haible  <bruno@clisp.org>
67092
67093         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
67094         i386.
67095
67096 2007-04-01  Simon Josefsson  <simon@josefsson.org>
67097
67098         * modules/crypto/arcfour: Moved from ../.
67099         * modules/crypto/arcfour-tests: Moved from ../.
67100         * modules/crypto/arctwo: Moved from ../.
67101         * modules/crypto/arctwo-tests: Moved from ../.
67102         * modules/crypto/des: Moved from ../.
67103         * modules/crypto/des-tests: Moved from ../.
67104         * modules/crypto/gc-arcfour: Moved from ../.
67105         * modules/crypto/gc-arcfour-tests: Moved from ../.
67106         * modules/crypto/gc-arctwo: Moved from ../.
67107         * modules/crypto/gc-arctwo-tests: Moved from ../.
67108         * modules/crypto/gc-des: Moved from ../.
67109         * modules/crypto/gc-des-tests: Moved from ../.
67110         * modules/crypto/gc-hmac-md5: Moved from ../.
67111         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
67112         * modules/crypto/gc-hmac-sha1: Moved from ../.
67113         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
67114         * modules/crypto/gc-md2: Moved from ../.
67115         * modules/crypto/gc-md2-tests: Moved from ../.
67116         * modules/crypto/gc-md4: Moved from ../.
67117         * modules/crypto/gc-md4-tests: Moved from ../.
67118         * modules/crypto/gc-md5: Moved from ../.
67119         * modules/crypto/gc-md5-tests: Moved from ../.
67120         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
67121         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
67122         * modules/crypto/gc-random: Moved from ../.
67123         * modules/crypto/gc-rijndael: Moved from ../.
67124         * modules/crypto/gc-rijndael-tests: Moved from ../.
67125         * modules/crypto/gc-sha1: Moved from ../.
67126         * modules/crypto/gc-sha1-tests: Moved from ../.
67127         * modules/crypto/gc-tests: Moved from ../.
67128         * modules/crypto/hmac-md5: Moved from ../.
67129         * modules/crypto/hmac-md5-tests: Moved from ../.
67130         * modules/crypto/hmac-sha1: Moved from ../.
67131         * modules/crypto/hmac-sha1-tests: Moved from ../.
67132         * modules/crypto/md2: Moved from ../.
67133         * modules/crypto/md2-tests: Moved from ../.
67134         * modules/crypto/md4: Moved from ../.
67135         * modules/crypto/md4-tests: Moved from ../.
67136         * modules/crypto/md5: Moved from ../.
67137         * modules/crypto/md5-tests: Moved from ../.
67138         * modules/crypto/memxor: Moved from ../.
67139         * modules/crypto/rijndael: Moved from ../.
67140         * modules/crypto/rijndael-tests: Moved from ../.
67141         * modules/crypto/sha1: Moved from ../.
67142
67143 2007-03-30  James Youngman  <jay@gnu.org>
67144
67145         * tests/test-stat-time.c (prepare_test): use chmod() rather than
67146         rename() to change the ctime of a file (because ctime is unaffected
67147         by rename on jfs2 on AIX 5.1).
67148         (main): Start by doing cleanup, in case a previous run failed leaving
67149         test files behind.
67150
67151 2007-03-31  Bruno Haible  <bruno@clisp.org>
67152
67153         Support old proprietary implementations of iconv.
67154         * modules/iconv_open: New file.
67155         * lib/iconv_.h: New file.
67156         * m4/iconv_h.m4: New file.
67157         * lib/iconv_open.c: New file.
67158         * lib/iconv_open-aix.gperf: New file.
67159         * lib/iconv_open-hpux.gperf: New file.
67160         * lib/iconv_open-irix.gperf: New file.
67161         * lib/iconv_open-osf.gperf: New file.
67162         * m4/iconv_open.m4: New file.
67163         * modules/linebreak (Depends-on): Add iconv_open.
67164         * modules/striconv (Depends-on): Likewise.
67165         * modules/striconveh (Depends-on): Likewise.
67166         * modules/unicodeio (Depends-on): Likewise.
67167         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
67168         (iconv_t)(-1).
67169         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
67170         conversion if cd is (iconv_t)(-1).
67171         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
67172         is not possible.
67173
67174 2007-03-31  Bruno Haible  <bruno@clisp.org>
67175
67176         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
67177         work on Solaris either. Protect also second use of "autodetect_jp".
67178
67179 2007-03-31  Bruno Haible  <bruno@clisp.org>
67180
67181         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
67182         the function is not present.
67183
67184 2007-03-31  Bruno Haible  <bruno@clisp.org>
67185
67186         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
67187         the function is not present.
67188
67189 2007-03-31  Bruno Haible  <bruno@clisp.org>
67190
67191         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
67192         a bug in HP-UX iconv_open().
67193
67194 2007-03-31  Bruno Haible  <bruno@clisp.org>
67195
67196         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
67197         (Mathematics <math.h>): New section, add fpieee.
67198         (Input/output <stdio.h>): Add fseterr.
67199         (Mathematics <math.h>): New section, add printf-frexp.
67200         (Container data structures): Add sublist.
67201         (Core language properties): Add fpucw, inline.
67202         (Functions for greatest-width integer types <inttypes.h>): Add
67203         imaxabs, imaxdiv, inttypes.
67204         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
67205         isnanl-nolibm, ldexp.
67206         (Mathematics <math.h>): New section, add printf-frexpl.
67207         (Support for systems lacking POSIX:2001): Add fprintf-posix,
67208         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
67209         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
67210         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
67211         (Unicode string functions): Add unistr/u*-mbtoucr.
67212         (Java): Add javacomp-script, javaexec-script.
67213         (C#): Add csharpcomp-script, csharpexec-script.
67214         (Support for building libraries and executables): Add havelib,
67215         relocatable-*.
67216         (Support for maintaining and releasing projects): Renamed from
67217         'Support for maintaining and release projects'. Add announce-gen.
67218
67219 2007-03-31  Bruno Haible  <bruno@clisp.org>
67220
67221         * README: Talk primarily about git.
67222         (git and CVS): Renamed from CVS.
67223         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
67224         gnulib is available through git.
67225         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
67226
67227 2007-03-30  Bruno Haible  <bruno@clisp.org>
67228
67229         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
67230         * lib/poll_.h: Likewise.
67231         * lib/stat_.h: Likewise.
67232         * lib/sys_time_.h: Likewise.
67233         * lib/sysexit_.h: Likewise.
67234         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
67235         * lib/stdbool_.h: Likewise.
67236         * lib/byteswap_.h: Add double-inclusion guard.
67237
67238 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
67239
67240         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
67241
67242 2007-03-30  Karl Berry  <karl@gnu.org>
67243
67244         * config/srclist-update: double space after USA in the license
67245         substitution, since that's how it's usually (?) written.
67246
67247 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
67248
67249         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
67250         reported by Bruno Haible.
67251
67252 2007-03-29  Bruno Haible  <bruno@clisp.org>
67253
67254         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
67255         a bug in AIX iconv().
67256
67257 2007-03-29  Bruno Haible  <bruno@clisp.org>
67258
67259         * modules/ldexpl-tests: New file.
67260         * tests/test-ldexpl.c: New file.
67261
67262 2007-03-29  Bruno Haible  <bruno@clisp.org>
67263
67264         * lib/ldexpl.c: Include fpucw.h.
67265         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
67266         multiplication.
67267         * modules/ldexpl (Depends-on): Add fpucw.
67268
67269 2007-03-29  Bruno Haible  <bruno@clisp.org>
67270
67271         * modules/ldexpl: New file.
67272         * m4/ldexpl.m4: New file.
67273         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
67274         set.
67275         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
67276         REPLACE_LDEXPL.
67277         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
67278         REPLACE_LDEXPL.
67279         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
67280         gl_FUNC_LDEXPL_WORKS.
67281         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
67282         * modules/mathl (Files): Remove lib/ldexpl.c.
67283         (Depends-on): Add ldexpl.
67284
67285 2007-03-29  Bruno Haible  <bruno@clisp.org>
67286
67287         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
67288
67289 2007-03-29  Bruno Haible  <bruno@clisp.org>
67290
67291         * tests/test-striconveh.c (main): Don't assume that a direct conversion
67292         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
67293         and possibly also HP-UX.
67294         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
67295         work on AIX, IRIX, HP-UX, OSF/1.
67296         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
67297         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
67298         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
67299         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
67300         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
67301         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
67302
67303 2007-03-29  Bruno Haible  <bruno@clisp.org>
67304
67305         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
67306
67307 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
67308
67309         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
67310         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
67311
67312 2007-03-29  Eric Blake  <ebb9@byu.net>
67313
67314         * lib/acl-internal.h: Remove redundant include.
67315         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
67316         Cygwin when a file is locked.
67317
67318 2007-03-29  Bruno Haible  <bruno@clisp.org>
67319
67320         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
67321         file.
67322         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
67323
67324 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
67325
67326         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
67327         try to remove a parent directory if the child couldn't be removed
67328         (except for the first rmdir, which could fail because the child
67329         doesn't exist).  Problem reported by Jeff Blaine in
67330         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
67331
67332 2007-03-28  Bruno Haible  <bruno@clisp.org>
67333
67334         * lib/striconveh.c (utf8conv_carefully): New function.
67335         (mem_cd_iconveh_internal): Invoke it.
67336
67337 2007-03-28  Bruno Haible  <bruno@clisp.org>
67338
67339         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
67340         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
67341         input.
67342         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
67343         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
67344         unistr/u8-uctomb.
67345
67346 2007-03-28  Bruno Haible  <bruno@clisp.org>
67347
67348         * modules/unistr/u8-mbtoucr: New file.
67349         * lib/unistr/u8-mbtoucr.c: New file.
67350         * modules/unistr/u16-mbtoucr: New file.
67351         * lib/unistr/u16-mbtoucr.c: New file.
67352         * modules/unistr/u16-mbtoucr: New file.
67353         * lib/unistr/u16-mbtoucr.c: New file.
67354         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
67355
67356 2007-03-27  Simon Josefsson  <simon@josefsson.org>
67357             Bruno Haible  <bruno@clisp.org>
67358
67359         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
67360         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
67361         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
67362
67363         * m4/stdio_h.m4: Add stubs for vasprintf too.
67364
67365         * modules/stdio: Support vasprintf in sed command.
67366
67367         * modules/vasprintf: Depend on stdio for prototypes.  Remove
67368         vasprintf.h.  Add stdio module indicator.
67369
67370         * lib/stdio_.h: Declare asprintf and vasprintf, based on
67371         vasprintf.h.
67372
67373         * lib/vasprintf.h: File removed.
67374
67375         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
67376         * lib/vasprintf.c: Ditto.
67377         * lib/xvasprintf.c: Ditto.
67378         * tests/test-vasprintf-posix.c: Ditto.
67379         * tests/test-vasprintf.c: Ditto.
67380
67381 2007-03-27  Bruno Haible  <bruno@clisp.org>
67382
67383         Make vasnprintf multithread-safe.
67384         * lib/vasnprintf.c (decimal_point_char): New function.
67385         (VASNPRINTF): Use it.
67386         Suggested by Simon Josefsson.
67387
67388 2007-03-27  Eric Blake  <ebb9@byu.net>
67389
67390         Support sub-second birthtime on cygwin.
67391         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
67392         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
67393         (get_stat_birthtime): Also work with st_birthtim.
67394
67395 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
67396
67397         * lib/stat-time.h (USE_BIRTHTIME): Remove.
67398         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
67399         (get_stat_birthtime_ns): Do not try to use "spare" fields.
67400         (get_stat_birthtime_ns): Simplify compile-time tests.
67401         (get_stat_birthtime): Change the API to look like
67402         get_stat_mtime etc., except return a negative tv_nsec on error.
67403         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
67404         Don't check for "spare" fields.
67405         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
67406         or for struct stat.st_birthtime, as these tests aren't used.
67407         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
67408
67409 2007-03-27  Bruno Haible  <bruno@clisp.org>
67410
67411         * lib/stat-time.h: Include <sys/stat.h>.
67412
67413 2007-03-27  James Youngman  <jay@gnu.org>
67414
67415         * lib/stat-time.h (get_stat_birthtime): New function for
67416           retrieving st_birthtime as provided by UFS2 (hence *BSD).
67417         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
67418           and its variants.
67419         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
67420         * modules/stat-time-test: New file.
67421         * tests/test-stat-time.c: New test, devised by Bruno Haible.
67422
67423 2007-03-26  Bruno Haible  <bruno@clisp.org>
67424
67425         Better support of signalling NaNs.
67426         * lib/atanl.c: Include isnanl.h.
67427         (atanl): Perform test for NaN at the beginning of the function and
67428         through a call to isnanl.
67429         * lib/cosl.c: Include isnanl.h.
67430         (cosl): Perform test for NaN at the beginning of the function and
67431         through a call to isnanl.
67432         * lib/ldexpl.c: Include isnanl.h.
67433         (ldexpl): Perform test for NaN through a call to isnanl.
67434         * lib/logl.c: Include isnanl.h.
67435         (logl): Perform test for NaN at the beginning of the function and
67436         through a call to isnanl.
67437         * lib/sinl.c: Include isnanl.h.
67438         (sinl): Perform test for NaN at the beginning of the function and
67439         through a call to isnanl.
67440         * lib/sqrtl.c: Include isnanl.h.
67441         (sqrtl): Perform test for NaN at the beginning of the function and
67442         through a call to isnanl.
67443         * lib/tanl.c: Include isnanl.h.
67444         (tanl): Perform test for NaN at the beginning of the function and
67445         through a call to isnanl.
67446         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
67447         * modules/mathl (Depends-on): Add isnanl.
67448
67449 2007-03-26  Eric Blake  <ebb9@byu.net>
67450
67451         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
67452         regression in logic sense of previous patch.
67453
67454 2007-03-26  Bruno Haible  <bruno@clisp.org>
67455
67456         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
67457         unportable shell command "if ! ...".
67458         Reported by Ralf Wildenhues.
67459
67460 2007-03-25  Bruno Haible  <bruno@clisp.org>
67461
67462         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
67463         <sysexits.h> file, and only add EX_CONFIG.
67464         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
67465         absolute file name and whether it is sufficient. Substitute also
67466         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
67467         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
67468         ABSOLUTE_SYSEXITS_H into sysexits.h.
67469
67470 2007-03-25  Bruno Haible  <bruno@clisp.org>
67471
67472         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
67473         hints is NULL.
67474
67475 2007-03-25  Bruno Haible  <bruno@clisp.org>
67476
67477         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
67478         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
67479
67480 2007-03-25  Bruno Haible  <bruno@clisp.org>
67481
67482         * lib/vasnprintf.c: Include langinfo.h.
67483         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
67484         multithread-safe.
67485         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
67486         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
67487         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
67488         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
67489         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
67490         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
67491         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
67492         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
67493         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
67494         Reported by Simon Josefsson.
67495
67496 2007-03-25  Bruno Haible  <bruno@clisp.org>
67497
67498         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
67499         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
67500         * modules/vasnprintf (Depends-on): Add stdint.
67501
67502 2007-03-25  Bruno Haible  <bruno@clisp.org>
67503
67504         * modules/fpieee: New file.
67505         * m4/fpieee.m4: New file.
67506         * modules/isnan-nolibm (Depends-on): Add fpieee.
67507         * modules/isnanl-nolibm (Depends-on): Add fpieee.
67508         * modules/isnanl (Depends-on): Add fpieee.
67509
67510 2007-03-25  Bruno Haible  <bruno@clisp.org>
67511
67512         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
67513
67514 2007-03-25  Bruno Haible  <bruno@clisp.org>
67515
67516         Avoid test failures on IRIX 6.5.
67517         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
67518         (main): Use it.
67519         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
67520         macros.
67521         (main): Use them.
67522
67523 2007-03-25  Bruno Haible  <bruno@clisp.org>
67524
67525         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
67526         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
67527         exists but doesn't work.
67528         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
67529         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
67530         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
67531         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
67532         math.h.
67533
67534 2007-03-25  Bruno Haible  <bruno@clisp.org>
67535
67536         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
67537         returns inf. Needed on IRIX 6.5.
67538
67539 2007-03-25  Bruno Haible  <bruno@clisp.org>
67540
67541         * tests/test-frexpl.c: Include isnanl-nolibm.h.
67542         (main): Use isnanl instead of x != x idiom.
67543         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
67544
67545         * tests/test-frexp.c: Include isnan.h.
67546         (main): Use isnan instead of x != x idiom.
67547         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
67548
67549 2007-03-25  Bruno Haible  <bruno@clisp.org>
67550
67551         * tests/test-frexp.c (NaN): New function/macro.
67552         (main): Use it instead of 0.0 / 0.0.
67553         * tests/test-isnan.c (NaN): New function/macro.
67554         (main): Use it instead of 0.0 / 0.0.
67555         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
67556         (test_function): Use it instead of 0.0 / 0.0.
67557         * tests/test-vasprintf-posix.c (NaN): New function/macro.
67558         (test_function): Use it instead of 0.0 / 0.0.
67559         * tests/test-snprintf-posix.h (NaN): New function/macro.
67560         (test_function): Use it instead of 0.0 / 0.0.
67561         * tests/test-sprintf-posix.h (NaN): New function/macro.
67562         (test_function): Use it instead of 0.0 / 0.0.
67563         * tests/test-fprintf-posix.h (NaN): New function/macro.
67564         (test_function): Use it instead of 0.0 / 0.0.
67565         * tests/test-printf-posix.h (NaN): New function/macro.
67566         (test_function): Use it instead of 0.0 / 0.0.
67567
67568         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
67569
67570 2007-03-25  Bruno Haible  <bruno@clisp.org>
67571
67572         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
67573
67574 2007-03-25  Bruno Haible  <bruno@clisp.org>
67575
67576         * lib/regexec.c (merge_state_with_log): Make static.
67577
67578 2007-03-25  Bruno Haible  <bruno@clisp.org>
67579
67580         * lib/trigl.c (kernel_rem_pio2): Make static.
67581
67582 2007-03-25  Bruno Haible  <bruno@clisp.org>
67583
67584         * lib/sincosl.c (sincosl_table): Make static.
67585
67586 2007-03-25  Bruno Haible  <bruno@clisp.org>
67587
67588         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
67589         if the compiler does not support C99.
67590
67591 2007-03-25  Bruno Haible  <bruno@clisp.org>
67592
67593         * modules/time (Makefile.am): Ensure all rule action lines start with a
67594         tab.
67595
67596 2007-03-24  Bruno Haible  <bruno@clisp.org>
67597
67598         * modules/tsearch-tests: New file.
67599         * tests/test-tsearch.sh: New file.
67600         * tests/test-tsearch.c: New file, mostly copied from glibc.
67601
67602         * modules/search-tests: New file.
67603         * tests/test-search.c: New file.
67604
67605         * modules/search: New file.
67606         * lib/search_.h: New file, incorporating lib/tsearch.h.
67607         * m4/search_h.m4: New file.
67608         * lib/tsearch.h: Remove file.
67609         * lib/tsearch.c: Include search.h instead of tsearch.h.
67610         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
67611         HAVE_TSEARCH.
67612         * modules/tsearch (Files): Remove lib/tsearch.h.
67613         (Depends-on): Add search.
67614         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
67615         (Include): Change tsearch.h into search.h.
67616
67617 2007-03-24  Bruno Haible  <bruno@clisp.org>
67618
67619         * modules/fpucw: New file.
67620         * lib/fpucw.h: New file.
67621         * lib/frexp.c: Include fpucw.h.
67622         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
67623         (FUNC): Use them.
67624         * lib/printf-frexp.c: Include fpucw.h.
67625         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
67626         (FUNC): Use them.
67627         * lib/vasnprintf.c: Include fpucw.h.
67628         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
67629         'long double' calculations.
67630         * tests/test-frexpl.c: Include fpucw.h.
67631         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
67632         * tests/test-printf-frexpl.c: Include fpucw.h.
67633         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
67634         * modules/frexpl (Depends-on): Add fpucw.
67635         * modules/printf-frexpl (Depends-on): Likewise.
67636         * modules/fprintf-posix (Depends-on): Likewise.
67637         * modules/snprintf-posix (Depends-on): Likewise.
67638         * modules/sprintf-posix (Depends-on): Likewise.
67639         * modules/vasnprintf-posix (Depends-on): Likewise.
67640         * modules/vasprintf-posix (Depends-on): Likewise.
67641         * modules/vfprintf-posix (Depends-on): Likewise.
67642         * modules/vsnprintf-posix (Depends-on): Likewise.
67643         * modules/vsprintf-posix (Depends-on): Likewise.
67644         * modules/frexpl-tests (Depends-on): Likewise.
67645         * modules/printf-frexpl-tests (Depends-on): Likewise.
67646
67647 2007-03-24  Bruno Haible  <bruno@clisp.org>
67648
67649         * lib/float+.h: New file.
67650         * lib/isnan.c: Include float+.h.
67651         (SIZE): New macro.
67652         (FUNC): Compare only SIZE bytes of the value.
67653         * lib/vasnprintf.c: Include float+.h.
67654         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
67655         SIZEOF_LDBL or SIZEOF_DBL bytes.
67656         * modules/isnan-nolibm (Files): Add lib/float+.h.
67657         * modules/isnanl-nolibm (Files): Add lib/float+.h.
67658         * modules/isnanl (Files): Add lib/float+.h.
67659         * modules/vasnprintf (Files): Add lib/float+.h.
67660
67661 2007-03-24  Bruno Haible  <bruno@clisp.org>
67662
67663         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
67664         include isnanl-nolibm.h.
67665
67666 2007-03-24  Bruno Haible  <bruno@clisp.org>
67667
67668         * tests/test-read-file.c (main): Don't produce spurious output for
67669         expected situations. Make the test fail if it encountered unexpected
67670         results.
67671
67672 2007-03-24  Bruno Haible  <bruno@clisp.org>
67673
67674         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
67675         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
67676
67677 2007-03-24  Bruno Haible  <bruno@clisp.org>
67678
67679         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
67680
67681 2007-03-24  Bruno Haible  <bruno@clisp.org>
67682
67683         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
67684         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
67685
67686         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
67687         * modules/utf8-ucs4: Turn into a symbolic link to module
67688         unistr/u8-mbtouc.
67689
67690         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
67691         utf8-ucs4-unsafe.
67692         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
67693         unistr/u8-mbtouc-unsafe.
67694
67695         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
67696         * modules/utf16-ucs4: Turn into a symbolic link to module
67697         unistr/u16-mbtouc.
67698
67699         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
67700         utf16-ucs4-unsafe.
67701         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
67702         unistr/u16-mbtouc-unsafe.
67703
67704         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
67705         * modules/ucs4-utf8: Turn into a symbolic link to module
67706         unistr/u8-ubtomb.
67707
67708         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
67709         * modules/ucs4-utf16: Turn into a symbolic link to module
67710         unistr/u16-ubtomb.
67711
67712 2007-03-24  Bruno Haible  <bruno@clisp.org>
67713
67714         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
67715         Enable the function only if HAVE_INLINE.
67716         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
67717         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
67718         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
67719         Enable the function only if HAVE_INLINE.
67720         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
67721         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
67722         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
67723         Enable the function only if HAVE_INLINE.
67724         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
67725         Enable the function only if HAVE_INLINE.
67726         * modules/utf8-ucs4: Update.
67727         * modules/utf8-ucs4-unsafe: Update.
67728         * modules/utf16-ucs4: Update.
67729         * modules/utf16-ucs4-unsafe: Update.
67730         * modules/ucs4-utf8: Update.
67731         * modules/ucs4-utf16: Update.
67732
67733 2007-03-24  Bruno Haible  <bruno@clisp.org>
67734
67735         * lib/utf8-ucs4.h: Remove file.
67736         * lib/utf8-ucs4-unsafe.h: Remove file.
67737         * lib/utf16-ucs4.h: Remove file.
67738         * lib/utf16-ucs4-unsafe.h: Remove file.
67739         * lib/ucs4-utf8.h: Remove file.
67740         * lib/ucs4-utf16.h: Remove file.
67741         * lib/unistr.h: Include their previous contents.
67742         * m4/utf-ucs4.m4: Remove file.
67743         * m4/ucs4-utf.m4: Remove file.
67744         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
67745         (Depends-on): Add unistr/base.
67746         (configure.ac): Remove gl_UTF_UCS4.
67747         (Makefile.am): Update.
67748         (Include): Change to unistr.h.
67749         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
67750         (Depends-on): Add unistr/base.
67751         (configure.ac): Remove gl_UTF_UCS4.
67752         (Makefile.am): Update.
67753         (Include): Change to unistr.h.
67754         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
67755         (Depends-on): Add unistr/base.
67756         (configure.ac): Remove gl_UTF_UCS4.
67757         (Makefile.am): Update.
67758         (Include): Change to unistr.h.
67759         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
67760         (Depends-on): Add unistr/base.
67761         (configure.ac): Remove gl_UTF_UCS4.
67762         (Makefile.am): Update.
67763         (Include): Change to unistr.h.
67764         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
67765         (Depends-on): Add unistr/base.
67766         (configure.ac): Remove gl_UCS4_UTF.
67767         (Makefile.am): Update.
67768         (Include): Change to unistr.h.
67769         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
67770         (Depends-on): Add unistr/base.
67771         (configure.ac): Remove gl_UCS4_UTF.
67772         (Makefile.am): Update.
67773         (Include): Change to unistr.h.
67774         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
67775         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
67776         utf8-ucs4-unsafe.h.
67777         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
67778         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
67779         utf16-ucs4-unsafe.h.
67780         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
67781         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
67782         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
67783         * lib/unistr/u8-strchr.c: Likewise.
67784         * lib/unistr/u8-strrchr.c: Likewise.
67785         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
67786         * lib/unistr/u16-strchr.c: Likewise.
67787         * lib/unistr/u16-strrchr.c: Likewise.
67788         * lib/striconveh.c: Update.
67789         * lib/linebreak.c: Update.
67790
67791 2007-03-24  Bruno Haible  <bruno@clisp.org>
67792
67793         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
67794         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
67795
67796 2007-03-22  Bruno Haible  <bruno@clisp.org>
67797
67798         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
67799
67800 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
67801
67802         * MODULES.html.sh (File system functions): New module write-any-file.
67803         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
67804         * m4/write-any-file.m4: New files.
67805
67806 2007-03-23  Eric Blake  <ebb9@byu.net>
67807
67808         * gnulib-tool: Rearrange space-tab sequences, since some editors
67809         like to eat them.
67810
67811 2007-03-23  Eric Blake  <ebb9@byu.net>
67812
67813         * lib/version-etc.c (version_etc_va): Update license wording to
67814         be more concise.  Recommended by Richard Stallman.
67815
67816 2007-03-22  Bruno Haible  <bruno@clisp.org>
67817
67818         * lib/poll.c (MSG_PEEK): New fallback definition.
67819
67820 2007-03-22  Bruno Haible  <bruno@clisp.org>
67821
67822         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
67823         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
67824         (main): Update.
67825         Fixes a compilation error on BeOS.
67826
67827 2007-03-22  Bruno Haible  <bruno@clisp.org>
67828
67829         * modules/frexpl-tests: New file.
67830         * tests/test-frexpl.c: New file.
67831
67832         * modules/frexpl: New file.
67833         * m4/frexpl.m4: New file.
67834         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
67835         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
67836         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
67837         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
67838         (Depends-on): Add frexpl. Remove isnanl-nolibm.
67839         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
67840
67841 2007-03-22  Bruno Haible  <bruno@clisp.org>
67842
67843         * lib/frexpl.c: Share code with lib/frexp.c.
67844         * modules/mathl (Files): Add lib/frexp.c.
67845         (Depends-on): Add isnanl-nolibm.
67846
67847 2007-03-22  Bruno Haible  <bruno@clisp.org>
67848
67849         * modules/printf-frexp (Files): Add m4/frexp.m4.
67850         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
67851         only if the found frexp function actually works.
67852
67853 2007-03-22  Bruno Haible  <bruno@clisp.org>
67854
67855         * lib/frexp.c: Remove older implementation that uses divisions.
67856
67857 2007-03-21  Bruno Haible  <bruno@clisp.org>
67858
67859         * modules/frexp-tests: New file.
67860         * tests/test-frexp.c: New file.
67861
67862         * modules/frexp: New file.
67863         * lib/frexp.c: New file.
67864         * m4/frexp.m4: New file.
67865         * lib/math_.h (frexp): New declaration.
67866         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
67867         REPLACE_FREXP.
67868         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
67869
67870 2007-03-21  Bruno Haible  <bruno@clisp.org>
67871
67872         * modules/isnanl-tests: New file.
67873         * tests/test-isnanl.c: New file.
67874
67875         * modules/isnanl: New file.
67876         * lib/isnanl.h: New file.
67877         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
67878         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
67879         gl_FUNC_ISNANL_WORKS.
67880         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
67881         New macros.
67882
67883 2007-03-21  Bruno Haible  <bruno@clisp.org>
67884
67885         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
67886         lib/isnanl.h.
67887         (Include): Update.
67888         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
67889         * lib/vasnprintf.c: Update.
67890         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
67891         tests/test-isnanl.h, remove tests/test-isnanl.c.
67892         (Makefile.am): Update.
67893         * tests/test-isnanl-nolibm.c: New file.
67894         * tests/test-isnanl.h: New file.
67895         * tests/test-isnanl.c: Remove file.
67896
67897 2007-03-21  Jim Meyering  <jim@meyering.net>
67898
67899         When trying to open ".", treat ESTALE like EACCES.
67900         * lib/savewd.c (savewd_save): Resort to forking not just upon
67901         failure with EACCES, but also when errno is ESTALE.
67902
67903 2007-03-20  Bruno Haible  <bruno@clisp.org>
67904
67905         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
67906         Needed on AIX 5.1. Reported by Matthew Woehlke.
67907
67908 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
67909
67910         Suggestions by Bruno Haible:
67911         * lib/acl-internal.h: Include "gettext.h" rather than rolling
67912         our own.
67913         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
67914         * modules/acl (Depends-on): Add gettext.
67915
67916 2007-03-19  Bruno Haible  <bruno@clisp.org>
67917
67918         * modules/iconvme: Remove file.
67919         * lib/iconvme.h: Remove file.
67920         * lib/iconvme.c: Remove file.
67921         * m4/iconvme.m4: Remove file.
67922
67923 2007-03-19  Bruno Haible  <bruno@clisp.org>
67924
67925         * doc/relocatable-maint.texi: Break long shell script line.
67926         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
67927
67928 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
67929
67930         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
67931         handle file_has_acl.
67932         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
67933         * lib/acl.c: Move header inclusions and related macro defns into
67934         lib/acl-internal.h.
67935         (S_ISLNK): Remove defn, since that's now done for us.
67936         (file_has_acl): Move to lib/file-has-acl.c.
67937         Call acl_trivial if available.  This is the crucial part of the fix.
67938         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
67939         shared within the library.  Rewrite a bit, partly to make it compatible
67940         with the GNU coding style.
67941         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
67942         Remove unnecessary double-quotes.
67943         Don't test for acl_to_text; the build will catch that.
67944         Replace acl_entries if it doesn't exist and it is needed.
67945         Check for -lsec and acl_trivial (as used on Solaris 10).
67946         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
67947         lib/file-has-acl.c.
67948         (Depends-on): Add sys_stat, for S_ISLNK.
67949
67950 2007-03-19  Ben Pfaff  <blp@gnu.org>
67951
67952         * doc/gnulib.texi: Fix typos.
67953         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
67954
67955 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
67956
67957         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
67958         If size is zero here, buf must be zero.
67959
67960 2007-03-19  Simon Josefsson  <simon@josefsson.org>
67961
67962         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
67963         <bruno@clisp.org>.
67964
67965 2007-03-18  Bruno Haible  <bruno@clisp.org>
67966
67967         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
67968         Suggested by Eric Blake.
67969
67970 2007-03-18  Ben Pfaff  <blp@gnu.org>
67971
67972         * doc/relocatable.texi: Recommend using as prefix a directory
67973         that does not exist and will never be created.  Based on
67974         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
67975         and others.
67976
67977 2007-03-17  Bruno Haible  <bruno@clisp.org>
67978
67979         * lib/fchownat.c: Include lchown.h.
67980
67981 2007-03-17  Bruno Haible  <bruno@clisp.org>
67982
67983         Fix endless loop when the given allocated size was > INT_MAX.
67984         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
67985         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
67986         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
67987         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
67988         * lib/sprintf.c (sprintf): Likewise.
67989
67990 2007-03-17  Bruno Haible  <bruno@clisp.org>
67991
67992         * tests/test-argp-2.sh (func_compare): Output a context diff.
67993
67994 2007-03-17  Bruno Haible  <bruno@clisp.org>
67995
67996         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
67997         locale's decimal-point character.
67998
67999 2007-03-17  Bruno Haible  <bruno@clisp.org>
68000
68001         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
68002         before comparing it. Needed because on some platforms (e.g. x86) a
68003         'long double' occupies less bytes than sizeof (long double).
68004
68005 2007-03-17  Bruno Haible  <bruno@clisp.org>
68006
68007         * tests/test-crc.c (main): Make printf statements 64-bit clean.
68008         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
68009         * tests/test-getaddrinfo.c (simple): Likewise.
68010         * tests/test-read-file.c (main): Likewise.
68011
68012 2007-03-17  Bruno Haible  <bruno@clisp.org>
68013
68014         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
68015
68016 2007-03-17  Bruno Haible  <bruno@clisp.org>
68017
68018         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
68019         unused variable.
68020
68021 2007-03-17  Bruno Haible  <bruno@clisp.org>
68022
68023         * tests/test-c-strcasecmp.c: Include c-strcase.h.
68024         * tests/test-c-strncasecmp.c: Likewise.
68025
68026 2007-03-17  Bruno Haible  <bruno@clisp.org>
68027
68028         * modules/stdlib (Depends-on): Add unistd.
68029         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
68030         Needed for MacOS X 10.3.
68031
68032 2007-03-17  Bruno Haible  <bruno@clisp.org>
68033
68034         * lib/unistr/u-strdup.h: Include <stdlib.h>.
68035
68036 2007-03-17  Bruno Haible  <bruno@clisp.org>
68037
68038         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
68039
68040 2007-03-17  Bruno Haible  <bruno@clisp.org>
68041
68042         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
68043         to reflect files copied from gnulib (with or without modifications).
68044         Suggested by Jim Meyering.
68045
68046 2007-03-17  Eric Blake  <ebb9@byu.net>
68047
68048         * NEWS: Document stdlib change from 2007-02-18.
68049
68050 2007-03-17  Jim Meyering  <jim@meyering.net>
68051
68052         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
68053         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
68054         someone uses a name containing shell meta-characters.
68055         Reported by Alfred M. Szmidt.
68056
68057         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
68058
68059 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
68060
68061         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
68062         and copy gettext configuration files only if configure.ac contains
68063         a use of AM_GNU_GETTEXT_VERSION.
68064
68065 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
68066
68067         * build-aux/bootstrap (gnulib_name): New variable.
68068         (gnulib_tool_options): Use it.
68069
68070 2007-03-13  Simon Josefsson  <simon@josefsson.org>
68071
68072         * tests/test-des.c: Use new namespace.
68073
68074 2007-03-15  Bruno Haible  <bruno@clisp.org>
68075
68076         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
68077         Reported by James Youngman <jay@gnu.org>.
68078
68079 2007-03-15  Bruno Haible  <bruno@clisp.org>
68080
68081         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
68082         declared prototype. Needed with cc on OSF/1 5.1.
68083
68084 2007-03-15  Bruno Haible  <bruno@clisp.org>
68085
68086         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
68087         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
68088         (struct gl_list_implementation): Add dispose_fn argument to the
68089         'create_empty', 'create' methods.
68090         (struct gl_list_impl_base): Add field 'dispose_fn'.
68091         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
68092         argument.
68093         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
68094         dispose_fn argument.
68095         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
68096         dispose_fn on the dropped values.
68097         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
68098         dispose_fn argument.
68099         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
68100         dropped values.
68101         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
68102         (gl_tree_remove_node): Call dispose_fn on the dropped value.
68103         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
68104         (gl_tree_remove_node): Call dispose_fn on the dropped value.
68105         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
68106         argument.
68107         (gl_tree_list_free): Call dispose_fn on the dropped values.
68108         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
68109         the dropped values.
68110         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
68111         Add dispose_fn argument.
68112         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
68113         Call dispose_fn on the dropped values.
68114         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
68115         Add dispose_fn argument.
68116         (gl_sublist_create): Initialize the 'dispose_fn' field.
68117         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
68118         * tests/test-array_list.c (main): Update.
68119         * tests/test-carray_list.c (main): Update.
68120         * tests/test-avltree_list.c (main): Update.
68121         * tests/test-rbtree_list.c (main): Update.
68122         * tests/test-avltreehash_list.c (main): Update.
68123         * tests/test-rbtreehash_list.c (main): Update.
68124         * tests/test-linked_list.c (main): Update.
68125         * tests/test-linkedhash_list.c (main): Update.
68126         * tests/test-array_oset.c (main): Update.
68127
68128 2007-03-15  Bruno Haible  <bruno@clisp.org>
68129
68130         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
68131         (gl_oset_create_empty): Add dispose_fn argument.
68132         (struct gl_oset_implementation): Add dispose_fn argument to
68133         'create_empty' method.
68134         (struct gl_oset_impl_base): Add dispose_fn field.
68135         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
68136         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
68137         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
68138         values.
68139         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
68140         (gl_tree_oset_free): Call dispose_fn on the dropped values.
68141         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
68142         dropped value.
68143         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
68144         dropped value.
68145         * tests/test-array_oset.c (main): Update.
68146         * tests/test-avltree_oset.c (main): Update.
68147         * tests/test-rbtree_oset.c (main): Update.
68148         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
68149
68150 2007-03-13  Bruno Haible  <bruno@clisp.org>
68151
68152         * tests/test-stdbool.c (i): Update after last patch.
68153
68154 2007-03-12  Bruno Haible  <bruno@clisp.org>
68155
68156         * lib/quotearg.c: Include <wctype.h> early, before the definition of
68157         the iswprint macro. Needed on Solaris 2.5.1.
68158
68159 2007-03-12  Bruno Haible  <bruno@clisp.org>
68160
68161         * tests/test-printf-frexp.c (main): Declare x as volatile.
68162
68163 2007-03-12  Simon Josefsson  <simon@josefsson.org>
68164
68165         * doc/gnulib.texi (Build robot for gnulib): New section.
68166
68167 2007-03-12  Jim Meyering  <jim@meyering.net>
68168
68169         * build-aux/bootstrap: New file.
68170         * build-aux/bootstrap.conf: New file, from coreutils.
68171
68172 2007-03-11  Bruno Haible  <bruno@clisp.org>
68173
68174         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
68175
68176 2007-03-12  Simon Josefsson  <simon@josefsson.org>
68177
68178         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
68179         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
68180         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
68181
68182 2007-03-11  Bruno Haible  <bruno@clisp.org>
68183
68184         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
68185         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
68186
68187 2007-03-11  Bruno Haible  <bruno@clisp.org>
68188
68189         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
68190         formula. Needed for SunPRO C 5.0.
68191
68192 2007-03-11  Bruno Haible  <bruno@clisp.org>
68193
68194         * modules/long-options (Depends-on): Add getopt.
68195
68196 2007-03-11  Bruno Haible  <bruno@clisp.org>
68197
68198         * modules/modechange (Depends-on): Add stdbool.
68199
68200 2007-03-11  Bruno Haible  <bruno@clisp.org>
68201
68202         * modules/i-ring (Depends-on): Add stdbool.
68203
68204 2007-03-11  Bruno Haible  <bruno@clisp.org>
68205
68206         * modules/gc-des (Depends-on): Add stdbool.
68207
68208 2007-03-11  Bruno Haible  <bruno@clisp.org>
68209
68210         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
68211
68212 2007-03-11  Bruno Haible  <bruno@clisp.org>
68213
68214         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
68215
68216 2007-03-11  Bruno Haible  <bruno@clisp.org>
68217
68218         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
68219
68220 2007-03-11  Bruno Haible  <bruno@clisp.org>
68221
68222         * lib/vasnprintf.c (sprintf): Undefine.
68223
68224 2007-03-11  Bruno Haible  <bruno@clisp.org>
68225
68226         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
68227         initializers in SunPRO C and Compaq C compilers.
68228
68229 2007-03-11  Bruno Haible  <bruno@clisp.org>
68230
68231         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
68232         decrementing code ANSI C compliant.
68233
68234 2007-03-11  Bruno Haible  <bruno@clisp.org>
68235
68236         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
68237         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
68238
68239 2007-03-11  Bruno Haible  <bruno@clisp.org>
68240
68241         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
68242         <stdbool.h> substitute doesn't pass.
68243
68244 2007-03-11  Bruno Haible  <bruno@clisp.org>
68245
68246         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
68247
68248 2007-03-11  Bruno Haible  <bruno@clisp.org>
68249
68250         * gnulib-tool (func_create_megatestdir): Create also an autobuild
68251         script, for submission to autobuild.josefsson.org.
68252
68253 2007-03-10  Bruno Haible  <bruno@clisp.org>
68254
68255         * modules/canonicalize-lgpl-tests: New file.
68256         * tests/test-canonicalize-lgpl.sh: New file.
68257         * tests/test-canonicalize-lgpl.c: New file.
68258
68259         * modules/c-strcase-tests: New file.
68260         * tests/test-c-strcase.sh: New file.
68261         * tests/test-c-strcasecmp.c: New file.
68262         * tests/test-c-strncasecmp.c: New file.
68263
68264         * modules/atexit-tests: New file.
68265         * tests/test-atexit.sh: New file.
68266         * tests/test-atexit.c: New file.
68267
68268 2007-03-10  Bruno Haible  <bruno@clisp.org>
68269
68270         * tests/test-binary-io.sh: Use temporary filenames that are not so
68271         likely to clash with those of other tests (in a parallel make).
68272         * tests/test-binary-io.c: Likewise.
68273
68274 2007-03-10  Bruno Haible  <bruno@clisp.org>
68275
68276         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
68277         fallback; use #error instead.
68278         Suggested by Simon Josefsson.
68279
68280 2007-03-10  Bruno Haible  <bruno@clisp.org>
68281
68282         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
68283         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
68284         first and the last.
68285
68286 2007-03-10  Bruno Haible  <bruno@clisp.org>
68287
68288         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
68289
68290 2007-03-10  Bruno Haible  <bruno@clisp.org>
68291
68292         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
68293         "make distcheck".
68294         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
68295         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
68296         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
68297
68298 2007-03-10  Bruno Haible  <bruno@clisp.org>
68299
68300         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
68301         variable.
68302         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
68303         variable.
68304
68305 2007-03-09  Eric Blake  <ebb9@byu.net>
68306         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
68307
68308         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
68309         types are not being provided by gnulib.
68310         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
68311         types are supported.
68312
68313 2007-03-10  Bruno Haible  <bruno@clisp.org>
68314
68315         * lib/stdio_.h (__attribute__): New macro.
68316         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
68317         vsprintf): Specify __attribute__ __format__ for GCC.
68318         Suggested by Eric Blake.
68319
68320 2007-03-09  Bruno Haible  <bruno@clisp.org>
68321
68322         * modules/printf-posix-tests: New file.
68323         * tests/test-printf-posix.sh: New file.
68324         * tests/test-printf-posix.c: New file.
68325
68326         * modules/printf-posix: New file.
68327         * lib/printf.c: New file.
68328         * m4/printf-posix-rpl.m4: New file.
68329         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
68330         REPLACE_PRINTF.
68331         * lib/stdio_.h (printf): New declaration.
68332         (format, __format__, ____printf____, ____scanf____, ____strftime____,
68333         ____strfmon____): New macros.
68334         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
68335         REPLACE_PRINTF.
68336
68337 2007-03-09  Bruno Haible  <bruno@clisp.org>
68338
68339         * tests/test-vasnprintf-posix2.sh: New file.
68340         * tests/test-vasnprintf-posix2.c: New file.
68341         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
68342         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
68343         (Makefile.am): Activate test-vasnprintf-posix2.sh.
68344
68345         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
68346         a locale dependent decimal point, rather than always '.'.
68347
68348 2007-03-09  Eric Blake  <ebb9@byu.net>
68349
68350         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
68351         spite of platforms like Tandem/NSK that define it to -1.
68352
68353 2007-03-08  Bruno Haible  <bruno@clisp.org>
68354
68355         * modules/vprintf-posix-tests: New file.
68356         * tests/test-vprintf-posix.sh: New file.
68357         * tests/test-vprintf-posix.c: New file.
68358         * tests/test-printf-posix.h: New file.
68359
68360         * modules/vprintf-posix: New file.
68361         * lib/vprintf.c: New file.
68362         * m4/vprintf-posix.m4: New file.
68363         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
68364         REPLACE_VPRINTF.
68365         * lib/stdio_.h (vprintf): New declaration.
68366         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
68367         REPLACE_VPRINTF.
68368
68369 2007-03-08  Bruno Haible  <bruno@clisp.org>
68370
68371         * modules/fprintf-posix-tests: New file.
68372         * tests/test-fprintf-posix.sh: New file.
68373         * tests/test-fprintf-posix.c: New file.
68374
68375         * modules/fprintf-posix: New file.
68376         * lib/fprintf.c: New file.
68377         * m4/fprintf-posix.m4: New file.
68378         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
68379         REPLACE_FPRINTF.
68380         * lib/stdio_.h (fprintf): New declaration.
68381         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
68382         REPLACE_FPRINTF.
68383
68384 2007-03-08  Bruno Haible  <bruno@clisp.org>
68385
68386         * modules/vfprintf-posix-tests: New file.
68387         * tests/test-vfprintf-posix.sh: New file.
68388         * tests/test-vfprintf-posix.c: New file.
68389         * tests/test-fprintf-posix.h: New file.
68390         * tests/test-fprintf-posix.out: New file.
68391
68392         * modules/vfprintf-posix: New file.
68393         * lib/vfprintf.c: New file.
68394         * m4/vfprintf-posix.m4: New file.
68395         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
68396         REPLACE_VFPRINTF.
68397         * lib/stdio_.h (vfprintf): New declaration.
68398         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
68399         REPLACE_VFPRINTF.
68400
68401 2007-03-08  Bruno Haible  <bruno@clisp.org>
68402
68403         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
68404
68405 2007-03-08  Bruno Haible  <bruno@clisp.org>
68406
68407         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
68408         instead of 'expr' invocations.
68409         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
68410         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
68411         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
68412         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
68413         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
68414         Suggested by Paul Eggert.
68415
68416 2007-03-08  Bruno Haible  <bruno@clisp.org>
68417
68418         * modules/fseterr-tests: New file.
68419         * tests/test-fseterr.c: New file.
68420
68421         * modules/fseterr: New file.
68422         * lib/fseterr.h: New file.
68423         * lib/fseterr.c: New file.
68424
68425 2007-03-08  Bruno Haible  <bruno@clisp.org>
68426
68427         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
68428         * lib/getopt_.h: Likewise.
68429         * lib/mbswidth.h: Likewise.
68430         * lib/setenv.h: Likewise.
68431         * lib/vasnprintf.h: Likewise.
68432         * lib/vasprintf.h: Likewise.
68433         * lib/verror.h: Likewise.
68434         * lib/xsetenv.h: Likewise.
68435         * lib/xvasprintf.h: Likewise.
68436
68437 2007-03-08  Jim Meyering  <jim@meyering.net>
68438
68439         * users.txt: Add parted.
68440
68441         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
68442
68443 2007-03-07  Bruno Haible  <bruno@clisp.org>
68444
68445         * m4/printf.m4: Make the shell script snippets copy&pastable.
68446
68447 2007-03-02  Bruno Haible  <bruno@clisp.org>
68448
68449         * lib/netinet_in_.h: New file.
68450         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
68451         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
68452         * modules/netinet_in (Files): Add lib/netinet_in_.h.
68453         (Depends-on): Add absolute-header.
68454         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
68455         into netinet/in.h.
68456
68457 2007-03-03  Bruno Haible  <bruno@clisp.org>
68458
68459         * lib/sys_select_.h: New file.
68460         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
68461         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
68462         * modules/sys_select (Files): Add lib/sys_select_.h.
68463         (Depends-on): Add absolute-header.
68464         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
68465         into sys/select.h.
68466
68467 2007-03-02  Bruno Haible  <bruno@clisp.org>
68468
68469         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
68470         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
68471         values.
68472         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
68473         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
68474         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
68475         * modules/sys_socket (Depends-on): Add absolute-header.
68476         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
68477         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
68478         (Include): Remove requirement of inclusion of <sys/types.h>.
68479
68480 2007-03-02  Bruno Haible  <bruno@clisp.org>
68481
68482         * lib/byteswap_.h (bswap_32): Fix formula.
68483
68484 2007-03-06  Bruno Haible  <bruno@clisp.org>
68485
68486         * modules/sprintf-posix-tests: New file.
68487         * tests/test-sprintf-posix.c: New file.
68488
68489         * modules/sprintf-posix: New file.
68490         * lib/sprintf.c: New file.
68491         * m4/sprintf-posix.m4: New file.
68492         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
68493         REPLACE_SPRINTF.
68494         * lib/stdio_.h (sprintf): New declaration.
68495         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
68496         REPLACE_SPRINTF.
68497
68498 2007-03-06  Bruno Haible  <bruno@clisp.org>
68499
68500         * modules/vsprintf-posix-tests: New file.
68501         * tests/test-vsprintf-posix.c: New file.
68502         * tests/test-sprintf-posix.h: New file.
68503
68504         * modules/vsprintf-posix: New file.
68505         * lib/vsprintf.c: New file.
68506         * m4/vsprintf-posix.m4: New file.
68507         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
68508         REPLACE_VSPRINTF.
68509         * lib/stdio_.h (vsprintf): New declaration.
68510         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
68511         REPLACE_VSPRINTF.
68512
68513 2007-03-06  Bruno Haible  <bruno@clisp.org>
68514
68515         * modules/vsnprintf (Depend-on): Remove minmax.
68516
68517 2007-03-06  Bruno Haible  <bruno@clisp.org>
68518
68519         * modules/snprintf-posix-tests: New file.
68520         * tests/test-snprintf-posix.c: New file.
68521
68522         * modules/snprintf-posix: New file.
68523         * m4/snprintf-posix.m4: New file.
68524         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
68525         gl_FUNC_SNPRINTF.
68526         (gl_FUNC_SNPRINTF): Invoke it.
68527         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
68528         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
68529         is set.
68530         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
68531
68532 2007-03-06  Bruno Haible  <bruno@clisp.org>
68533
68534         * modules/vsnprintf-posix-tests: New file.
68535         * tests/test-vsnprintf-posix.c: New file.
68536         * tests/test-snprintf-posix.h: New file.
68537
68538         * modules/vsnprintf-posix: New file.
68539         * m4/vsnprintf-posix.m4: New file.
68540         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
68541         gl_FUNC_VSNPRINTF.
68542         (gl_FUNC_VSNPRINTF): Invoke it.
68543         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
68544         * lib/stdio_.h (vsnprintf): Define as a replacement if
68545         REPLACE_VSNPRINTF is set.
68546         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
68547
68548 2007-03-06  Bruno Haible  <bruno@clisp.org>
68549
68550         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
68551         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
68552
68553 2007-03-06  Bruno Haible  <bruno@clisp.org>
68554
68555         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
68556         (asinl): Declare also if HAVE_DECL_ASINL is set.
68557         (atanl): Declare also if HAVE_DECL_ATANL is set.
68558         (ceill): Declare also if HAVE_DECL_CEILL is set.
68559         (cosl): Declare also if HAVE_DECL_COSL is set.
68560         (expl): Declare also if HAVE_DECL_EXPL is set.
68561         (floorl): Declare also if HAVE_DECL_FLOORL is set.
68562         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
68563         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
68564         (logl): Declare also if HAVE_DECL_LOGL is set.
68565         (sinl): Declare also if HAVE_DECL_SINL is set.
68566         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
68567         (tanl): Declare also if HAVE_DECL_TANL is set.
68568         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
68569         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
68570         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
68571         declaration of frexpl, ldexpl.
68572         * modules/printf-frexpl (Depends-on): Add math.
68573         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
68574
68575 2007-03-05  Bruno Haible  <bruno@clisp.org>
68576
68577         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
68578         frexpl and ldexpl are declared.
68579         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
68580
68581 2007-03-05  Bruno Haible  <bruno@clisp.org>
68582
68583         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
68584         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
68585
68586 2007-03-05  Bruno Haible  <bruno@clisp.org>
68587
68588         * lib/stdio_.h: Include <stddef.h>.
68589
68590 2007-03-05  Bruno Haible  <bruno@clisp.org>
68591
68592         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
68593
68594 2007-03-05  Bruno Haible  <bruno@clisp.org>
68595
68596         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
68597         NetBSD 4, from Ralf Wildenhues.
68598
68599 2007-03-04  Bruno Haible  <bruno@clisp.org>
68600
68601         * lib/vasprintf.h: Update #if logic for the case when the functions
68602         exist but are overridden.
68603
68604 2007-03-04  Bruno Haible  <bruno@clisp.org>
68605
68606         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
68607         implementations: glibc-2.4 and MacOS X 10.3.
68608         * tests/test-vasnprintf-posix.c (test_function): Test also the case
68609         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
68610         * tests/test-vasprintf-posix.c (test_function): Likewise.
68611
68612 2007-03-04  Bruno Haible  <bruno@clisp.org>
68613
68614         * modules/vasprintf-posix-tests: New file.
68615         * tests/test-vasprintf-posix.c: New file.
68616
68617         * modules/vasprintf-posix: New file.
68618         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
68619         defined.
68620         * m4/vasprintf-posix.m4: New file.
68621         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
68622         gl_FUNC_VASPRINTF.
68623         (gl_FUNC_VASPRINTF): Invoke it.
68624         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
68625         here.
68626         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
68627
68628 2007-03-04  Bruno Haible  <bruno@clisp.org>
68629
68630         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
68631         REPLACE_GETTIMEOFDAY.
68632         * modules/sys_time (Makefile.am): Likewise.
68633         * m4/sys_time_h.m4: Likewise.
68634         * m4/gettimeofday.m4: Likewise.
68635
68636 2007-03-04  Bruno Haible  <bruno@clisp.org>
68637
68638         * modules/vasnprintf-posix-tests: New file.
68639         * tests/test-vasnprintf-posix.c: New file.
68640
68641         * modules/vasnprintf-posix: New file.
68642         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
68643         printf-frexpl.h.
68644         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
68645         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
68646         REPLACE_VASNPRINTF is defined.
68647         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
68648         gl_FUNC_VASNPRINTF.
68649         (gl_FUNC_VASNPRINTF): Invoke it.
68650         * m4/vasnprintf-posix.m4: New file.
68651         * m4/printf.m4: New file.
68652
68653 2007-03-04  Bruno Haible  <bruno@clisp.org>
68654
68655         Compile progreloc.c only if --enable-relocatable is specified.
68656         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
68657         if --enable-relocatable was specified.
68658         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
68659         lib_SOURCES.
68660
68661 2007-03-04  Jim Meyering  <jim@meyering.net>
68662
68663         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
68664         Use it consistently, rather than enumerating errno constants.
68665
68666 2007-03-04  Bruno Haible  <bruno@clisp.org>
68667
68668         * modules/xvasprintf-tests: New file.
68669         * tests/test-xvasprintf.c: New file.
68670
68671         * modules/vasprintf-tests: New file.
68672         * tests/test-vasprintf.c: New file.
68673
68674         * modules/vasnprintf-tests: New file.
68675         * tests/test-vasnprintf.c: New file.
68676
68677         * modules/vsnprintf-tests: New file.
68678         * tests/test-vsnprintf.c: New file.
68679
68680         * modules/snprintf-tests: New file.
68681         * tests/test-snprintf.c: New file.
68682
68683 2007-03-04  Bruno Haible  <bruno@clisp.org>
68684
68685         Compile relocatable.c only if --enable-relocatable is specified.
68686         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
68687         gl_RELOCATABLE_LIBRARY.
68688         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
68689         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
68690         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
68691         gl_RELOCATABLE_LIBRARY.
68692         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
68693         (Makefile.am): Remove lib_SOURCES.
68694         * modules/relocatable-lib-lgpl (configure.ac): Invoke
68695         gl_RELOCATABLE_LIBRARY.
68696         (Makefile.am): Remove lib_SOURCES.
68697         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
68698         always.
68699         * modules/relocatable-prog-wrapper (configure.ac): Invoke
68700         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
68701
68702 2007-03-04  Bruno Haible  <bruno@clisp.org>
68703
68704         * modules/argmatch-tests: New file.
68705         * tests/test-argmatch.c: New file.
68706
68707         * tests/test-allocsa.c (main): Halve the number of loop runs.
68708
68709         * modules/alloca-opt-tests: New file.
68710         * tests/test-alloca-opt.c: New file.
68711
68712 2007-03-04  Jim Meyering  <jim@meyering.net>
68713
68714         Work around difference between Linux ACLs and Solaris 10 ZFS.
68715         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
68716         for EINVAL.
68717
68718 2007-03-03  Bruno Haible  <bruno@clisp.org>
68719
68720         * modules/relocatable-prog (Depends-on): Add back progreloc's
68721         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
68722
68723 2007-03-03  Bruno Haible  <bruno@clisp.org>
68724
68725         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
68726         * modules/relocatable-lib: New file.
68727
68728 2007-03-03  Bruno Haible  <bruno@clisp.org>
68729
68730         * modules/relocatable-prog: Renamed from modules/relocatable.
68731         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
68732
68733 2007-03-03  Bruno Haible  <bruno@clisp.org>
68734
68735         * modules/relocatable-script (Files): Add doc/relocatable.texi,
68736         m4/relocatable-lib.m4.
68737         (Depends-on): Remove 'relocatable'.
68738         (configure.ac): Add gl_RELOCATABLE_NOP.
68739
68740 2007-03-03  Bruno Haible  <bruno@clisp.org>
68741
68742         * modules/relocatable-prog-wrapper: New file.
68743         * modules/relocatable (Depends-on): Add it. Remove all other
68744         dependencies except progname.
68745         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
68746
68747         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
68748         (gl_FUNC_STRERROR): Nop.
68749         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
68750
68751         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
68752         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
68753
68754         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
68755         (gl_FUNC_READLINK): Update.
68756
68757         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
68758
68759 2007-03-03  Bruno Haible  <bruno@clisp.org>
68760
68761         * lib/xreadlink.c: Include <unistd.h> unconditionally.
68762         * modules/xreadlink (Depends-on): Add unistd.
68763         * modules/xreadlink-with-size (Depends-on): Likewise.
68764
68765 2007-03-03  Bruno Haible  <bruno@clisp.org>
68766
68767         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
68768         extracted from gt_FUNC_SETENV.
68769         (gt_FUNC_SETENV): Remove macro.
68770         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
68771         remove gt_FUNC_SETENV.
68772
68773 2007-03-03  Bruno Haible  <bruno@clisp.org>
68774
68775         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
68776         ENABLE_RELOCATABLE here.
68777         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
68778
68779 2007-03-03  Bruno Haible  <bruno@clisp.org>
68780
68781         * modules/rbtreehash-list-tests (Depends-on): Add progname.
68782         * tests/test-rbtreehash_list.c: Include progname.h.
68783         (main): Call set_program_name.
68784
68785         * modules/rbtree-oset-tests (Depends-on): Add progname.
68786         * tests/test-rbtree_oset.c: Include progname.h.
68787         (main): Call set_program_name.
68788
68789         * modules/rbtree-list-tests (Depends-on): Add progname.
68790         * tests/test-rbtree_list.c: Include progname.h.
68791         (main): Call set_program_name.
68792
68793         * modules/linked-list-tests (Depends-on): Add progname.
68794         * tests/test-linked_list.c: Include progname.h.
68795         (main): Call set_program_name.
68796
68797 2007-03-03  Bruno Haible  <bruno@clisp.org>
68798
68799         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
68800         All uses of __restrict changed to _Restrict_.
68801         * lib/glob_.h (__restrict): Remove macro.
68802
68803 2007-03-02  Bruno Haible  <bruno@clisp.org>
68804
68805         * modules/gettext (configure.ac): Require gettext infrastructure
68806         from version 0.16.1.
68807
68808 2007-03-02  Bruno Haible  <bruno@clisp.org>
68809
68810         * modules/linkedhash-list-tests (Depends-on): Add progname.
68811         * tests/test-linkedhash_list.c: Include progname.h.
68812         (main): Call set_program_name.
68813
68814         * modules/carray-list-tests (Depends-on): Add progname.
68815         * tests/test-carray_list.c: Include progname.h.
68816         (main): Call set_program_name.
68817
68818         * modules/avltreehash-list-tests (Depends-on): Add progname.
68819         * tests/test-avltreehash_list.c: Include progname.h.
68820         (main): Call set_program_name.
68821
68822         * modules/avltree-oset-tests (Depends-on): Add progname.
68823         * tests/test-avltree_oset.c: Include progname.h.
68824         (main): Call set_program_name.
68825
68826         * modules/avltree-list-tests (Depends-on): Add progname.
68827         * tests/test-avltree_list.c: Include progname.h.
68828         (main): Call set_program_name.
68829
68830         * modules/array-oset-tests (Depends-on): Add progname.
68831         * tests/test-array_oset.c: Include progname.h.
68832         (main): Call set_program_name.
68833
68834         * modules/array-list-tests (Depends-on): Add progname.
68835         * tests/test-array_list.c: Include progname.h.
68836         (main): Call set_program_name.
68837
68838         * modules/argp-tests (Depends-on): Add progname.
68839         * tests/test-argp.c: Include argp.h first. Include progname.h.
68840         (main): Call set_program_name.
68841
68842 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
68843
68844         * doc/gnulib-tool.texi (Initial import): Reword description of
68845         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
68846         limited effect even if defined after the first system include.
68847
68848 2007-03-01  Bruno Haible  <bruno@clisp.org>
68849
68850         * build-aux/config.libpath: Update to libtool-1.5.22.
68851         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
68852
68853 2007-03-01  Bruno Haible  <bruno@clisp.org>
68854
68855         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
68856         foo_CFLAGS.
68857         Reported by Ralf Wildenhues.
68858
68859 2007-03-01  Bruno Haible  <bruno@clisp.org>
68860
68861         * build-aux/install-reloc: Remove object files left over by some
68862         compilers.
68863         Reported by Ralf Wildenhues.
68864
68865 2007-03-01  Bruno Haible  <bruno@clisp.org>
68866
68867         * build-aux/install-reloc: Break long lines.
68868
68869 2007-03-01  Bruno Haible  <bruno@clisp.org>
68870
68871         * doc/relocatable.texi: Document that it may not work on OpenBSD.
68872         Reported by Ralf Wildenhues.
68873
68874 2007-03-01  Bruno Haible  <bruno@clisp.org>
68875
68876         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
68877         include ordering constraints.
68878
68879 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
68880
68881         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
68882         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
68883         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
68884         as another example.
68885         * lib/time_.h: Fix misspelling.
68886         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
68887         Require gl_HEADER_TIME_H_DEFAULTS.
68888         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
68889         * m4/time_r.m4 (gl_TIME_R): Likewise.
68890         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
68891
68892 2007-03-01  Bruno Haible  <bruno@clisp.org>
68893
68894         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
68895         * m4/utimens.m4 (gl_UTIMENS): Likewise.
68896
68897 2007-03-01  Jim Meyering  <jim@meyering.net>
68898
68899         * modules/xreadlink (Maintainer): Add my name.
68900         * modules/xreadlink-with-size (Depends-on): Alphabetize.
68901
68902 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
68903             Bruno Haible  <bruno@clisp.org>
68904
68905         * build-aux/install-reloc: Compile also c-ctype.c.
68906         * build-aux/relocatable.sh.in: New file.
68907         * doc/relocatable.texi: New file.
68908         * doc/relocatable-maint.texi: New file.
68909         * doc/gnulib.texi: Include relocatable-maint.texi.
68910         * lib/progreloc.c: Include unistd.h unconditionally.
68911         * lib/relocwrapper.c: Include unistd.h unconditionally.
68912         Include c-ctype.h.
68913         (add_dotbin): Use c_tolower.
68914         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
68915         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
68916         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
68917         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
68918         to m4/relocatable-lib.m4.
68919         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
68920         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
68921         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
68922         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
68923         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
68924         * modules/relocatable: New file.
68925         * modules/relocatable-lib: New file.
68926         * modules/relocatable-script: New file.
68927
68928 2007-02-28  Bruno Haible  <bruno@clisp.org>
68929
68930         Import --enable-relocatable infrastructure.
68931         * build-aux/config.libpath: New file, from GNU gettext.
68932         * build-aux/install-reloc: New file, from GNU gettext.
68933         * build-aux/reloc-ldflags: New file, from GNU gettext.
68934         * lib/relocatable.h: New file, from GNU gettext.
68935         * lib/relocatable.c: New file, from GNU gettext.
68936         * lib/relocwrapper.c: New file, from GNU gettext.
68937         * m4/relocatable.m4: New file, from GNU gettext.
68938
68939 2007-02-28  Bruno Haible  <bruno@clisp.org>
68940
68941         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
68942
68943         * modules/xreadlink: New file, from GNU gettext with modifications.
68944         * lib/xreadlink.c: New file, from GNU gettext.
68945         * lib/xreadlink.h: Add comments.
68946         (xreadlink): New declaration.
68947
68948         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
68949         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
68950         lib/xreadlink-with-size.c.
68951         (configure.ac): Remove gl_XREADLINK invocation.
68952         (Makefile.am): Augment lib_SOURCES.
68953         * m4/xreadlink.m4: Remove file.
68954         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
68955         (xreadlink_with_size): Renamed from xreadink.
68956         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
68957         * modules/canonicalize (Depends-on): Replace xreadlink with
68958         xreadlink-with-size.
68959         * lib/canonicalize.c (canonicalize_filename_mode): Update.
68960
68961 2007-02-25  Jim Meyering  <jim@meyering.net>
68962
68963         * build-aux/announce-gen: When complaining about excess arguments,
68964         list them.
68965
68966 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
68967
68968         * README: Document signed integer overflow situation more
68969         accurately.
68970
68971 2007-02-25  Bruno Haible  <bruno@clisp.org>
68972
68973         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
68974         'a' or 'A' conversion.
68975
68976 2007-02-25  Bruno Haible  <bruno@clisp.org>
68977
68978         * modules/filename: Renamed from modules/pathname.
68979         (Files): Replace lib/pathname.h with lib/filename.h. Replace
68980         lib/concatpath.c with lib/concat-filename.c.
68981         (Makefile.am): Update.
68982         (Include): Replace pathname.h with filename.h.
68983         * lib/filename.h: Renamed from lib/pathname.h.
68984         (concatenated_filename): Renamed from concatenated_pathname.
68985         * lib/concat-filename.c: Renamed from lib/concatpath.c.
68986         (concatenated_filename): Renamed from concatenated_pathname.
68987         * lib/findprog.c: Include filename.h instead of pathname.h.
68988         (find_in_path): Update.
68989         * lib/javacomp.c: Include filename.h instead of pathname.h.
68990         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
68991         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
68992         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
68993         is_oldgcj_14_13_usable, is_javac_usable): Update.
68994         * lib/javaexec.c: Include filename.h instead of pathname.h.
68995         (execute_java_class): Update.
68996         * modules/findprog: Update.
68997         * modules/javacomp: Update.
68998         * modules/javaexec: Update.
68999         * MODULES.html.sh (File system functions): Add 'filename', remove
69000         'pathname'.
69001
69002 2007-02-25  Bruno Haible  <bruno@clisp.org>
69003
69004         * modules/printf-frexpl-tests: New file.
69005         * tests/test-printf-frexpl.c: New file.
69006
69007         * modules/printf-frexpl: New file.
69008         * lib/printf-frexpl.h: New file.
69009         * lib/printf-frexpl.c: New file.
69010         * m4/printf-frexpl.m4: New file.
69011
69012 2007-02-25  Bruno Haible  <bruno@clisp.org>
69013
69014         * modules/printf-frexp-tests: New file.
69015         * tests/test-printf-frexp.c: New file.
69016
69017         * modules/printf-frexp: New file.
69018         * lib/printf-frexp.h: New file.
69019         * lib/printf-frexp.c: New file.
69020         * m4/printf-frexp.m4: New file.
69021
69022 2007-02-25  Bruno Haible  <bruno@clisp.org>
69023
69024         Assume automake >= 1.10 for the tests.
69025         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
69026         * modules/arctwo-tests: Likewise.
69027         * modules/argp-tests: Likewise.
69028         * modules/avltree-list-tests: Likewise.
69029         * modules/avltree-oset-tests: Likewise.
69030         * modules/avltreehash-list-tests: Likewise.
69031         * modules/carray-list-tests: Likewise.
69032         * modules/crc-tests: Likewise.
69033         * modules/des-tests: Likewise.
69034         * modules/gc-arcfour-tests: Likewise.
69035         * modules/gc-arctwo-tests: Likewise.
69036         * modules/gc-des-tests: Likewise.
69037         * modules/gc-hmac-md5-tests: Likewise.
69038         * modules/gc-hmac-sha1-tests: Likewise.
69039         * modules/gc-md2-tests: Likewise.
69040         * modules/gc-md4-tests: Likewise.
69041         * modules/gc-md5-tests: Likewise.
69042         * modules/gc-pbkdf2-sha1-tests: Likewise.
69043         * modules/gc-rijndael-tests: Likewise.
69044         * modules/gc-sha1-tests: Likewise.
69045         * modules/gc-tests: Likewise.
69046         * modules/getaddrinfo-tests: Likewise.
69047         * modules/hmac-md5-tests: Likewise.
69048         * modules/hmac-sha1-tests: Likewise.
69049         * modules/linked-list-tests: Likewise.
69050         * modules/linkedhash-list-tests: Likewise.
69051         * modules/lock-tests: Likewise.
69052         * modules/md2-tests: Likewise.
69053         * modules/md4-tests: Likewise.
69054         * modules/md5-tests: Likewise.
69055         * modules/rbtree-list-tests: Likewise.
69056         * modules/rbtree-oset-tests: Likewise.
69057         * modules/rbtreehash-list-tests: Likewise.
69058         * modules/read-file-tests: Likewise.
69059         * modules/rijndael-tests: Likewise.
69060         * modules/stdint-tests: Likewise.
69061         * modules/tls-tests: Likewise.
69062
69063 2007-02-24  Bruno Haible  <bruno@clisp.org>
69064
69065         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
69066         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
69067         function; instead check whether isnan with a double argument links.
69068         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
69069         function; instead check whether isnan with a 'long double' argument
69070         links.
69071         Reported by Eric Blake <ebb9@byu.net>.
69072
69073 2007-02-24  Bruno Haible  <bruno@clisp.org>
69074
69075         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
69076         defined.
69077         * lib/isnanl.c: Remove all code. Just include isnan.c.
69078         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
69079
69080 2007-02-25  Jim Meyering  <jim@meyering.net>
69081
69082         Avoid conflicting types for 'unsetenv' on FreeBSD.
69083         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
69084         conflicting with FreeBSD's (5.0 and 6.1) function declaration
69085         in stdlib.h.
69086
69087 2007-02-24  Bruno Haible  <bruno@clisp.org>
69088
69089         * modules/isnanl-nolibm-tests: New file.
69090         * tests/test-isnanl.c: New file.
69091
69092         * modules/isnanl-nolibm: New file.
69093         * lib/isnanl.h: New file.
69094         * lib/isnanl.c: New file.
69095         * m4/isnanl.m4: New file.
69096
69097 2007-02-24  Bruno Haible  <bruno@clisp.org>
69098
69099         * modules/isnan-nolibm-tests: New file.
69100         * tests/test-isnan.c: New file.
69101
69102         * modules/isnan-nolibm: New file.
69103         * lib/isnan.h: New file.
69104         * lib/isnan.c: New file.
69105         * m4/isnan.m4: New file.
69106
69107 2007-02-24  Bruno Haible  <bruno@clisp.org>
69108
69109         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
69110         assume that an exponent fits in 20 bits.
69111
69112 2007-02-24  Jim Meyering  <jim@meyering.net>
69113
69114         * m4/regex.m4: Update the description of the configure-time option,
69115         --without-included-regex, to state accurately what the defaults are,
69116         and perhaps to give people an idea why using this option is risky.
69117
69118 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
69119
69120         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
69121         loops on small arguments.  This attempts to avoid the problem
69122         Bruno Haible reported for AIX 4.3.2 in
69123         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
69124
69125 2007-02-23  Bruno Haible  <bruno@clisp.org>
69126
69127         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
69128         Needed for help2man.
69129
69130 2007-02-23  Karl Berry  <karl@gnu.org>
69131
69132         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
69133         exists, foo.h should be cvs-ignored, not committed.
69134
69135 2007-02-23  Eric Blake  <ebb9@byu.net>
69136
69137         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
69138         * lib/stat-time.h (includes): Likewise.
69139         * lib/utimecmp.c (includes): Likewise.
69140         * lib/utimens.h (includes): Likewise.
69141         * lib/getdate.y (includes): Also include "timespec.h" for use
69142         internal to the module.
69143         * modules/utimens (Depends-on): Revert yesterday's patch.
69144         * modules/nanosleep (Depends-on): Add missing dependency.
69145
69146 2007-02-22  Bruno Haible  <bruno@clisp.org>
69147
69148         * lib/glob.c: Don't include getlogin_r.h.
69149
69150 2007-02-22  Jim Meyering  <jim@meyering.net>
69151
69152         * modules/utimens (Depends-on): Add timespec, required for
69153         utimens.h's inclusion of timespec.h.
69154
69155 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
69156
69157         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
69158         long unreadable paths in GNU/Linux.  Problem reported by Andreas
69159         Schwab in
69160         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
69161         I'll try to think of a better way to fix the Solaris problem.
69162
69163         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
69164         like glibc; on Solaris 10, it fails with errno == EINVAL.
69165         POSIX says the behavior is unspecified if the first argument is NULL,
69166         so play it safe and never pass NULL to the system getcwd.
69167
69168 2007-02-21  Jim Meyering  <jim@meyering.net>
69169
69170         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
69171         of gettimeofday.  It would conflict with the one now always
69172         provided via sys_time_.h.  Reported by Matthew Woehlke, as
69173         an IRIX 6.5 build failure.
69174
69175 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
69176
69177         Minor fixups to port to Solaris 10 with Sun C 5.8.
69178         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
69179         * modules/getcwd (Depends-on): Add dirfd.
69180         * lib/putenv.c (putenv): #undef it.
69181         (rpl_putenv): New decl.
69182         (malloc, free): Include <stdlib.h> rather than prototyping separately.
69183
69184 2007-02-20  Bruno Haible  <bruno@clisp.org>
69185
69186         * modules/stdio-tests: New file.
69187         * tests/test-stdio.c: New file.
69188
69189         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
69190         (Depends-on): Add stdio.
69191         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
69192         (Include): Use <stdio.h> instead of vsnprintf.h.
69193         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
69194         HAVE_DECL_VSNPRINTF.
69195         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
69196
69197         * modules/snprintf (Files): Remove lib/snprintf.h.
69198         (Depends-on): Add stdio.
69199         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
69200         (Include): Use <stdio.h> instead of snprintf.h.
69201         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
69202         HAVE_DECL_SNPRINTF.
69203         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
69204         * lib/getaddrinfo.c: Likewise.
69205
69206         * modules/stdio: New file.
69207         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
69208         * lib/snprintf.h: Remove file.
69209         * lib/vsnprintf.h: Remove file.
69210         * lib/.cppi-disable: Remove snprintf.h.
69211         * m4/stdio_h.m4: New file.
69212         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
69213
69214 2007-02-20  Jim Meyering  <jim@meyering.net>
69215
69216         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
69217         used by e.g., mingw.  From Bruno Haible.
69218
69219 2007-02-19  Bruno Haible  <bruno@clisp.org>
69220
69221         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
69222         warnings.
69223         Reported by Ben Pfaff <blp@cs.stanford.edu>.
69224
69225 2007-02-19  Bruno Haible  <bruno@clisp.org>
69226
69227         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
69228         from mingw users.
69229
69230 2007-02-19  Bruno Haible  <bruno@clisp.org>
69231
69232         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
69233         warnings.
69234         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
69235
69236 2007-02-19  Jim Meyering  <jim@meyering.net>
69237
69238         Don't use FD after a successful "fdopendir (fd)".
69239         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
69240         Reset it by calling dirfd on the just-obtained DIR*.
69241
69242         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
69243         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
69244
69245 2007-02-18  Bruno Haible  <bruno@clisp.org>
69246
69247         * lib/readlink.c: Include <unistd.h>.
69248         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
69249         HAVE_READLINK.
69250         * modules/readlink (Depends-on): Add unistd.
69251         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
69252         (Include): Add <unistd.h>.
69253
69254         * lib/getlogin_r.h: Remove file.
69255         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
69256         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
69257         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
69258         HAVE_DECL_GETLOGIN_R.
69259         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
69260         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
69261         (Include): Use <unistd.h> instead of getlogin_r.h.
69262
69263         * lib/getcwd.h: Remove file.
69264         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
69265         * lib/xgetcwd.c: Likewise.
69266         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
69267         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
69268         * modules/getcwd (Files): Remove lib/getcwd.h.
69269         (Depends-on): Add unistd.
69270         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
69271         (Include): Use <unistd.h> instad of getcwd.h.
69272
69273         * lib/ftruncate.c: Include <unistd.h> first.
69274         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
69275         Set HAVE_FTRUNCATE.
69276         * modules/ftruncate (Depends-on): Add unistd.
69277         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
69278
69279         * lib/fchdir.c: Include <unistd.h> first.
69280         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
69281         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
69282         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
69283         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
69284         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
69285
69286         * lib/dup2.c: Include <unistd.h> first.
69287         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
69288         HAVE_DUP2.
69289         * modules/dup2 (Depends-on): Add unistd.
69290         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
69291
69292         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
69293         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
69294         REPLACE_CHOWN. Don't define chown as a macro here.
69295         * modules/chown (Depends-on): Add unistd.
69296         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
69297
69298         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
69299         Add definition for GL_LINK_WARNING.
69300         (chown, dup2): New declarations.
69301         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
69302         link warning.
69303         (ftruncate): New declaration.
69304         (getcwd): New declaration, taken from old getcwd.h.
69305         (getlogin_r): New declaration, taken from old getlogin_r.h.
69306         (readlink): New declaration.
69307         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
69308         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
69309         (gl_PREREQ_UNISTD): Remove macro.
69310         (gl_UNISTD_MODULE_INDICATOR): New macro.
69311         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
69312         many new variables. Don't set UNISTD_H.
69313         * modules/unistd (Description): Change.
69314         (Depends-on): Add link-warning.
69315         (configure.ac): Update.
69316         (Makefile.am): Create unistd.h always. Substitute many new variables
69317         into it.
69318
69319 2007-02-18  Bruno Haible  <bruno@clisp.org>
69320
69321         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
69322         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
69323         HAVE_GETSUBOPT.
69324         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
69325         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
69326         * lib/getsubopt.h: Remove file.
69327         * modules/getsubopt (Files): Remove lib/getsubopt.h.
69328         (Depends-on): Add stdlib.
69329         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
69330         (Includes): Use <stdlib.h> instead of getsubopt.h.
69331         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
69332         Set HAVE_GETSUBOPT.
69333         * lib/getsubopt.c: Don't include getsubopt.h.
69334
69335 2007-02-18  Bruno Haible  <bruno@clisp.org>
69336
69337         * modules/fchdir (Depends-on): Add dup2.
69338
69339 2007-02-18  Bruno Haible  <bruno@clisp.org>
69340
69341         * lib/stdlib_.h: Handle glibc's special invocation convention
69342         specially.
69343
69344 2007-02-18  Bruno Haible  <bruno@clisp.org>
69345
69346         * modules/stdlib-tests: New file.
69347         * tests/test-stdlib.c: New file.
69348
69349         * modules/mkstemp (Files): Remove lib/mkstemp.h.
69350         (Depends-on): Add stdlib.
69351         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
69352         (Includes): Use <stdlib.h> instead of mkstemp.h.
69353         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
69354         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
69355         * lib/mkstemp.c: Don't include mkstemp.h.
69356         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
69357         * lib/stdlib--.h: Don't include mkstemp.h.
69358
69359         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
69360         (Depends-on): Add stdlib.
69361         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
69362         (Includes): Use <stdlib.h> instead of mkdtemp.h.
69363         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
69364         HAVE_MKDTEMP.
69365         * lib/mkdtemp.c: Don't include mkdtemp.h.
69366         * lib/clean-temp.c: Don't include mkdtemp.h.
69367
69368         * modules/exit (Files): Remove lib/exit.h.
69369         (Depends-on): Add stdlib.
69370         (Makefile.am): Remove lib_SOURCES.
69371         (Include): Use <stdlib.h> instead of exit.h.
69372         * lib/argmatch.c: Don't include exit.h.
69373         * lib/execute.c: Likewise.
69374         * lib/pagealign_alloc.c: Likewise.
69375         * lib/pipe.c: Likewise.
69376         * lib/wait-process.c: Likewise.
69377         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
69378         * lib/exitfail.c: Likewise.
69379         * lib/savewd.c: Likewise.
69380         * lib/xsetenv.c: Likewise.
69381
69382         * modules/stdlib: New file.
69383         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
69384         and extra comments about mkstemp().
69385         * lib/exit.h: Remove file.
69386         * lib/mkdtemp.h: Remove file.
69387         * lib/mkstemp.h: Remove file.
69388         * m4/stdlib_h.m4: New file.
69389         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
69390
69391 2007-02-18  Bruno Haible  <bruno@clisp.org>
69392
69393         * modules/math-tests: New file.
69394         * tests/test-math.c: New file.
69395
69396         * modules/math: New file.
69397         * modules/mathl (Files): Remove lib/mathl.h.
69398         (Depends-on): Add math.
69399         (Makefile.am): Don't mention mathl.h.
69400         (Include): Use <math.h> instead of mathl.h.
69401         * lib/math_.h: New file.
69402         * lib/mathl.h: Remove file.
69403         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
69404         mathl.h.
69405         * lib/asinl.c: Likewise.
69406         * lib/atanl.c: Likewise.
69407         * lib/ceill.c: Likewise.
69408         * lib/cosl.c: Likewise.
69409         * lib/expl.c: Likewise.
69410         * lib/floorl.c: Likewise.
69411         * lib/frexpl.c: Likewise.
69412         * lib/ldexpl.c: Likewise.
69413         * lib/logl.c: Likewise.
69414         * lib/sincosl.c: Likewise.
69415         * lib/sinl.c: Likewise.
69416         * lib/sqrtl.c: Likewise.
69417         * lib/tanl.c: Likewise.
69418         * lib/trigl.c: Likewise.
69419         * m4/math_h.m4: New file.
69420         * MODULES.html.sh (Mathematics): Add math.
69421
69422 2007-02-17  Bruno Haible  <bruno@clisp.org>
69423
69424         * modules/wctype-tests: New file.
69425         * tests/test-wctype.c: New file.
69426
69427         * modules/wchar-tests: New file.
69428         * tests/test-wchar.c: New file.
69429
69430         * modules/unistd-tests: New file.
69431         * tests/test-unistd.c: New file.
69432
69433         * modules/time-tests: New file.
69434         * tests/test-time.c: New file.
69435
69436         * modules/sysexits-tests: New file.
69437         * tests/test-sysexits.c: New file.
69438
69439         * modules/sys_time-tests: New file.
69440         * tests/test-sys_time.c: New file.
69441
69442         * modules/sys_stat-tests: New file.
69443         * tests/test-sys_stat.c: New file.
69444
69445         * modules/sys_socket-tests: New file.
69446         * tests/test-sys_socket.c: New file.
69447
69448         * modules/sys_select-tests: New file.
69449         * tests/test-sys_select.c: New file.
69450
69451         * modules/string-tests: New file.
69452         * tests/test-string.c: New file.
69453
69454         * modules/stdbool-tests: New file.
69455         * tests/test-stdbool.c: New file.
69456
69457         * modules/netinet_in-tests: New file.
69458         * tests/test-netinet_in.c: New file.
69459
69460         * modules/inttypes-tests: New file.
69461         * tests/test-inttypes.c: New file.
69462
69463         * modules/fcntl-tests: New file.
69464         * tests/test-fcntl.c: New file.
69465
69466         * modules/byteswap-tests: New file.
69467         * tests/test-byteswap.c: New file.
69468
69469         * modules/arpa_inet-tests: New file.
69470         * tests/test-arpa_inet.c: New file.
69471
69472 2007-02-17  Bruno Haible  <bruno@clisp.org>
69473
69474         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
69475         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
69476         if the corresponding module is not enabled. Emit link warnings if
69477         the function is used nevertheless.
69478         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
69479         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
69480         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
69481         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
69482         * modules/inttypes (Depends-on): Add link-warning.
69483         (Makefile.am): Copy the contents of build-aux/link-warning.h into
69484         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
69485         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
69486         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
69487         * modules/imaxdiv (configure.ac): Likewise.
69488         * modules/strtoimax (configure.ac): Likewise.
69489         * modules/strtoumax (configure.ac): Likewise.
69490
69491 2007-02-17  Bruno Haible  <bruno@clisp.org>
69492
69493         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
69494         gl_STRING_MODULE_INDICATOR_DEFAULTS.
69495         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
69496         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
69497
69498 2007-02-17  Bruno Haible  <bruno@clisp.org>
69499
69500         * modules/link-warning: New file.
69501         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
69502         * lib/string_.h (GL_LINK_WARNING): Remove definition.
69503         * modules/string (Depends-on): Add link-warning.
69504         (Makefile.am): Copy the contents of build-aux/link-warning.h into
69505         string.h.
69506         * MODULES.html.sh (Support for building libraries and executables): Add
69507         link-warning.
69508
69509 2007-02-17  Bruno Haible  <bruno@clisp.org>
69510
69511         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
69512         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
69513         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
69514         long lines.
69515
69516 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
69517             Bruno Haible  <bruno@clisp.org>
69518
69519         * modules/tmpfile: New file.
69520         * lib/tmpfile.c: New file.
69521         * m4/tmpfile.m4: New file.
69522         * MODULES.html.sh (func_all_modules): New section "Input/output".
69523
69524 2007-02-15  Bruno Haible  <bruno@clisp.org>
69525
69526         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
69527         (supports_delete_on_close): New function.
69528         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
69529
69530 2007-02-14  Bruno Haible  <bruno@clisp.org>
69531
69532         * modules/mbspcasecmp-tests: New file.
69533         * tests/test-mbspcasecmp.sh: New file.
69534         * tests/test-mbspcasecmp.c: New file.
69535
69536         New module mbspcasecmp.
69537         * modules/mbspcasecmp: New file.
69538         * lib/mbspcasecmp.c: New file.
69539         * lib/string_.h (strncasecmp): Change warning message.
69540         (mbspcasecmp): New declaration.
69541         * m4/mbspcasecmp.m4: New file.
69542         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69543         GNULIB_MBSPCASECMP.
69544         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
69545         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
69546
69547 2007-02-14  Bruno Haible  <bruno@clisp.org>
69548
69549         * modules/mbsncasecmp-tests: New file.
69550         * tests/test-mbsncasecmp.sh: New file.
69551         * tests/test-mbsncasecmp.c: New file.
69552
69553         New module mbsncasecmp.
69554         * modules/mbsncasecmp: New file.
69555         * lib/mbsncasecmp.c: New file.
69556         * lib/string_.h (mbsncasecmp): New declaration.
69557         * m4/mbsncasecmp.m4: New file.
69558         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69559         GNULIB_MBSNCASECMP.
69560         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
69561         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
69562
69563 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
69564
69565         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
69566         Verify that it doesn't overlap with our flags.
69567         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
69568         do not have the desired effect in multibyte locales; instead, use
69569         mbscasecmp.
69570         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
69571         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
69572         we don't require GNU fnmatch ourselves (if our users require it, they
69573         should do so explicitly).
69574
69575         Fix regex code so it doesn't rely on strcasecmp.
69576         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
69577         Otherwise, include gnulib's langinfo.h.
69578         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
69579         undesirable behavior in non-C locales.  Instead, rely on localecharset.
69580         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
69581         * modules/regex (FILES): Remove m4/codeset.m4.
69582         (Depends-on): Add localcharset.  Remove strcase.
69583
69584 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69585
69586         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
69587         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
69588
69589 2007-02-13  Bruno Haible  <bruno@clisp.org>
69590
69591         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
69592         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
69593
69594 2007-02-12  Bruno Haible  <bruno@clisp.org>
69595
69596         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
69597         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
69598         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
69599         time warning rather than a link error.
69600
69601 2007-02-12  Bruno Haible  <bruno@clisp.org>
69602
69603         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
69604         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
69605         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
69606
69607 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
69608
69609         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
69610         args, not 2.
69611
69612 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
69613
69614         New module 'time', so that apps can include <time.h> as per
69615         POSIX and GNU instead of separate include files like time_r.h
69616         and timegm.h.  This implementation tries out a simpler approach
69617         for replacing decls in standard include files (as compared to
69618         the string module), somewhat as an experiment.
69619
69620         * config/srclist.txt: Comment out mktime.c for now.
69621         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
69622         since it doesn't apply any more.  Use generic wording instead.
69623         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
69624         'time'.
69625         * lib/time_.h, m4/time_h.m4, modules/time: New files.
69626         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
69627         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
69628         Don't include <sys/types.h>; no longer needed since we assume C89.
69629         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
69630         * lib/strftime.c: Likewise.
69631         * lib/time_r.c: Likewise.
69632         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
69633         * lib/nanosleep.c: Include <time.h> first, to check interface.
69634         * lib/strptime.c: Likewise.
69635         * lib/time_r.c: Likewise.
69636         * lib/timegm.c: Likewise.
69637         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
69638         needed.
69639         * lib/timegm.c: Don't include timegm.h; no longer needed.
69640         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
69641         time.h now handles any problems in that area.
69642         (struct timespec, nanosleep): Remove; time.h now arranges for these.
69643         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
69644         that time.h defines struct timespec.
69645         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
69646         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
69647         handles that.
69648         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
69649         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
69650         needed.  Set REPLACE_LOCALTIME.
69651         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
69652         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
69653         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
69654         nanosleep; time_h.m4 now does that.  Don't require
69655         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
69656         module handles this now.
69657         * modules/getdate (Depends-on): Remove timespec.  Add time.
69658         * modules/nanosleep (Depends-on): Likewise.
69659         * modules/stat-time (Depends-on): Likewise.
69660         * modules/nanosleep (Include): Include time.h, not timespec.h.
69661         * modules/strptime (Files): Remove lib/strptime.h.
69662         (Depends-on): Add extensions, time.
69663         (Include): Include time.h, not strptime.h.
69664         * modules/time_r (Files): Remove lib/time_r.h.
69665         (Depends-on): Add time.
69666         (Include): Include time.h, not time_r.h.
69667         * modules/timegm: Likewise.
69668         * modules/timespec (Description): Now does timespec-related decls
69669         of our own, instead of struct timespec itself.
69670         (Depends-on): Add time; remove extensions.
69671         (Maintainer): Add self.
69672         * modules/utimecmp (Depends-on): Add time; remove timespec.
69673         * modules/utimens (Depends-on): Likewise.
69674         * modules/xnanosleep (Depends-on): Likewise.
69675
69676 2007-02-11  Bruno Haible  <bruno@clisp.org>
69677
69678         * lib/c-strstr.c: Include allocsa.h.
69679         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
69680         * lib/c-strcasestr.c: Include allocsa.h.
69681         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
69682         * lib/strcasestr.c: Include allocsa.h.
69683         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
69684         * lib/mbsstr.c: Include allocsa.h.
69685         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
69686         allocsa/freesa instead of malloc/free.
69687         * lib/mbscasestr.c: Include allocsa.h.
69688         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
69689         allocsa/freesa instead of malloc/free.
69690         * modules/c-strstr (Depends-on): Add allocsa.
69691         * modules/c-strcasestr (Depends-on): Likewise.
69692         * modules/strcasestr (Depends-on): Likewise.
69693         * modules/mbsstr (Depends-on): Likewise.
69694         * modules/mbscasestr (Depends-on): Likewise.
69695
69696 2007-02-11  Bruno Haible  <bruno@clisp.org>
69697
69698         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
69699
69700         * modules/mbsspn-tests: New file.
69701         * tests/test-mbsspn.sh: New file.
69702         * tests/test-mbsspn.c: New file.
69703
69704 2007-02-11  Bruno Haible  <bruno@clisp.org>
69705
69706         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
69707
69708         * modules/mbspbrk-tests: New file.
69709         * tests/test-mbspbrk.sh: New file.
69710         * tests/test-mbspbrk.c: New file.
69711
69712 2007-02-11  Bruno Haible  <bruno@clisp.org>
69713
69714         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
69715         unneeded cast.
69716
69717         * modules/mbscspn-tests: New file.
69718         * tests/test-mbscspn.sh: New file.
69719         * tests/test-mbscspn.c: New file.
69720
69721 2007-02-11  Bruno Haible  <bruno@clisp.org>
69722
69723         * modules/mbscasecmp-tests: New file.
69724         * tests/test-mbscasecmp.sh: New file.
69725         * tests/test-mbscasecmp.c: New file.
69726
69727 2007-02-11  Bruno Haible  <bruno@clisp.org>
69728
69729         Ensure O(n) worst-case complexity of mbscasestr.
69730         * lib/mbscasestr.c: Include stdbool.h.
69731         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
69732         functions.
69733         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
69734         the bookkeeping indicates that it's worth it.
69735         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
69736
69737         * modules/mbscasestr-tests: New file.
69738         * tests/test-mbscasestr1.c: New file.
69739         * tests/test-mbscasestr2.sh: New file.
69740         * tests/test-mbscasestr2.c: New file.
69741         * tests/test-mbscasestr3.sh: New file.
69742         * tests/test-mbscasestr3.c: New file.
69743         * tests/test-mbscasestr4.sh: New file.
69744         * tests/test-mbscasestr4.c: New file.
69745         * m4/locale-tr.m4: New file.
69746
69747 2007-02-11  Bruno Haible  <bruno@clisp.org>
69748
69749         Ensure O(n) worst-case complexity of mbsstr.
69750         * lib/mbsstr.c: Include stdbool.h.
69751         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
69752         functions.
69753         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
69754         bookkeeping indicates that it's worth it.
69755         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
69756
69757         * modules/mbsstr-tests: New file.
69758         * tests/test-mbsstr1.c: New file.
69759         * tests/test-mbsstr2.sh: New file.
69760         * tests/test-mbsstr2.c: New file.
69761         * tests/test-mbsstr3.sh: New file.
69762         * tests/test-mbsstr3.c: New file.
69763         * m4/locale-fr.m4: New file.
69764
69765 2007-02-11  Bruno Haible  <bruno@clisp.org>
69766
69767         * lib/mbsrchr.c (mbsrchr): Fix bug.
69768
69769         * modules/mbsrchr-tests: New file.
69770         * tests/test-mbsrchr.sh: New file.
69771         * tests/test-mbsrchr.c: New file.
69772
69773 2007-02-11  Bruno Haible  <bruno@clisp.org>
69774
69775         * lib/mbschr.c (mbschr): Fix bug.
69776
69777         * modules/mbschr-tests: New file.
69778         * tests/test-mbschr.sh: New file.
69779         * tests/test-mbschr.c: New file.
69780         * m4/locale-zh.m4: New file.
69781
69782 2007-02-11  Bruno Haible  <bruno@clisp.org>
69783
69784         Support for copying multibyte string iterators.
69785         * lib/mbiter.h: Include <string.h>.
69786         (mbiter_multi_copy): New function.
69787         (mbi_copy): New macro.
69788         * lib/mbuiter.h: Include <string.h>.
69789         (mbuiter_multi_copy): New function.
69790         (mbui_copy): New macro.
69791
69792 2007-02-11  Bruno Haible  <bruno@clisp.org>
69793
69794         New module mbslen.
69795         * modules/mbslen: New file.
69796         * lib/mbslen.c: New file.
69797         * lib/string_.h (mbslen): New declaration.
69798         * m4/mbslen.m4: New file.
69799         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69800         GNULIB_MBSLEN.
69801         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
69802         * MODULES.html.sh (Internationalization functions): Add mbslen.
69803
69804 2007-02-11  Bruno Haible  <bruno@clisp.org>
69805
69806         Ensure O(n) worst-case complexity of strcasestr substitute.
69807         * lib/strcasestr.c: Include stdbool.h.
69808         (knuth_morris_pratt): New function.
69809         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
69810         bookkeeping indicates that it's worth it.
69811         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
69812
69813         * modules/strcasestr-tests: New file.
69814         * tests/test-strcasestr.c: New file.
69815
69816 2007-02-11  Bruno Haible  <bruno@clisp.org>
69817
69818         Ensure O(n) worst-case complexity of c_strcasestr.
69819         * lib/c-strcasestr.c: Include stdbool.h, string.h.
69820         (knuth_morris_pratt): New function.
69821         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
69822         the bookkeeping indicates that it's worth it.
69823         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
69824
69825         * modules/c-strcasestr-tests: New file.
69826         * tests/test-c-strcasestr.c: New file.
69827
69828 2007-02-11  Bruno Haible  <bruno@clisp.org>
69829
69830         Ensure O(n) worst-case complexity of c_strstr.
69831         * lib/c-strstr.c: Include stdbool.h, string.h.
69832         (knuth_morris_pratt): New function.
69833         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
69834         bookkeeping indicates that it's worth it.
69835         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
69836
69837         * lib/c-strstr.c: Complete rewrite for maintainability.
69838
69839         * modules/c-strstr-tests: New file.
69840         * tests/test-c-strstr.c: New file.
69841
69842 2007-02-11  Bruno Haible  <bruno@clisp.org>
69843
69844         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
69845         5.2.1 and earlier, whereby \055 was treated just like the range
69846         delimiter '-'.
69847         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
69848
69849 2007-02-08  Bruno Haible  <bruno@clisp.org>
69850
69851         * modules/regex (Depends-on): Add stdbool.
69852         Reported by Dalibor Topic <robilad@kaffe.org>.
69853
69854 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
69855
69856         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
69857         Prefer returning from main to exiting from it.
69858         Remove unnecessary parens after sizeof.
69859
69860 2007-02-05  Bruno Haible  <bruno@clisp.org>
69861
69862         New module mbssep.
69863         * modules/mbssep: New file.
69864         * lib/mbssep.c: New file.
69865         * lib/string_.h (strsep): Add a conditional link warning.
69866         (mbssep): New declaration.
69867         * m4/mbssep.m4: New file.
69868         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69869         GNULIB_MBSSEP.
69870         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
69871         * MODULES.html.sh (Internationalization functions): Add mbssep.
69872
69873 2007-02-05  Bruno Haible  <bruno@clisp.org>
69874
69875         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
69876         Optimize search in case of 1 delimiter.
69877
69878 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
69879
69880         * lib/acl.h: Include sys/types.h before sys/acl.h.
69881
69882 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
69883
69884         Merge upstream fix for glibc bugzilla #3957:
69885
69886         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
69887
69888         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
69889         bit for RE_HAT_LISTS_NOT_NEWLINE.
69890         (build_charclass_op): Remove bogus comment.
69891
69892 2007-02-05  Simon Josefsson  <simon@josefsson.org>
69893
69894         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
69895
69896 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
69897
69898         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
69899         * lib/memmem.c [!defined _LIBC]: Include config.h.
69900
69901 2007-02-04  Bruno Haible  <bruno@clisp.org>
69902
69903         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
69904         warning message.
69905
69906 2007-02-04  Bruno Haible  <bruno@clisp.org>
69907
69908         New module mbstok_r.
69909         * modules/mbstok_r: New file.
69910         * lib/mbstok_r.c: New file.
69911         * lib/string_.h (strtok_r): Change argument names to match the
69912         comments. Add a conditional link warning.
69913         (mbstok_r): New declaration.
69914         * m4/mbstok_r.m4: New file.
69915         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69916         GNULIB_MBSTOK_R.
69917         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
69918         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
69919
69920 2007-02-04  Bruno Haible  <bruno@clisp.org>
69921
69922         New module mbsspn.
69923         * modules/mbsspn: New file.
69924         * lib/mbsspn.c: New file.
69925         * lib/string_.h (strspn): Add a conditional link warning.
69926         (mbsspn): New declaration.
69927         * m4/mbsspn.m4: New file.
69928         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69929         GNULIB_MBSSPN.
69930         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
69931         * MODULES.html.sh (Internationalization functions): Add mbsspn.
69932
69933 2007-02-04  Bruno Haible  <bruno@clisp.org>
69934
69935         New module mbspbrk.
69936         * modules/mbspbrk: New file.
69937         * lib/mbspbrk.c: New file.
69938         * lib/string_.h (strpbrk): Add a conditional link warning.
69939         (mbspbrk): New declaration.
69940         * m4/mbspbrk.m4: New file.
69941         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69942         GNULIB_MBSPBRK.
69943         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
69944         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
69945
69946 2007-02-04  Bruno Haible  <bruno@clisp.org>
69947
69948         New module mbscspn.
69949         * modules/mbscspn: New file.
69950         * lib/mbscspn.c: New file.
69951         * lib/string_.h (strcspn): Add a conditional link warning.
69952         (mbscspn): New declaration.
69953         * m4/mbscspn.m4: New file.
69954         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69955         GNULIB_MBSCSPN.
69956         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
69957         * MODULES.html.sh (Internationalization functions): Add mbscspn.
69958
69959 2007-02-04  Bruno Haible  <bruno@clisp.org>
69960
69961         New module mbscasestr, reduced goal of strcasestr.
69962         * modules/mbscasestr: New file.
69963         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
69964         (mbscasestr): Renamed from strcasestr.
69965         * lib/strcasestr.c: Don't include mbuiter.h.
69966         (strcasestr): Remove support for multibyte locales.
69967         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
69968         Change the conditional link warning.
69969         (mbscasestr): New declaration.
69970         * m4/mbscasestr.m4: New file.
69971         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
69972         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
69973         REPLACE_STRCASESTR.
69974         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
69975         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
69976         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
69977         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
69978         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
69979         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
69980         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
69981         (Depends-on): Remove mbuiter.
69982         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
69983
69984 2007-02-04  Bruno Haible  <bruno@clisp.org>
69985
69986         Simplify handling of strncasecmp.
69987         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
69988         the conditional link warning.
69989         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
69990         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
69991         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
69992         * modules/strcase (configure.ac): Don't invoke
69993         gl_STRING_MODULE_INDICATOR.
69994         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
69995
69996 2007-02-04  Bruno Haible  <bruno@clisp.org>
69997
69998         New module mbscasecmp, reduced goal of strcasecmp.
69999         * modules/mbscasecmp: New file.
70000         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
70001         (mbscasecmp): Renamed from strcasecmp.
70002         * lib/strcasecmp.c: Don't include mbuiter.h.
70003         (strcasecmp): Remove support for multibyte locales.
70004         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
70005         Change the conditional link warning.
70006         (mbscasecmp): New declaration.
70007         * m4/mbscasecmp.m4: New file.
70008         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
70009         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
70010         REPLACE_STRCASECMP.
70011         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
70012         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70013         GNULIB_MBSCASECMP.
70014         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
70015         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
70016         * modules/strcase (Files): Remove m4/mbrtowc.m4.
70017         (Depends-on): Remove mbuiter.
70018         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
70019
70020 2007-02-04  Bruno Haible  <bruno@clisp.org>
70021
70022         New module mbsstr. Remove module strstr.
70023         * modules/mbsstr: New file.
70024         * modules/strstr: Remove file.
70025         * lib/mbsstr.c: Renamed from lib/strstr.c.
70026         (mbsstr): Renamed from strstr.
70027         * lib/string_.h (strstr): Remove declaration. Change the conditional
70028         link warning.
70029         (mbsstr): New declaration.
70030         * m4/mbsstr.m4: New file.
70031         * m4/strstr.m4: Remove file.
70032         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
70033         REPLACE_STRSTR.
70034         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
70035         Don't initialize GNULIB_STRSTR.
70036         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
70037         substitute GNULIB_STRSTR and REPLACE_STRSTR.
70038         * MODULES.html.sh (Internationalization functions): Add mbsstr.
70039         (Support for systems lacking ANSI C 89): Remove strstr.
70040
70041 2007-02-04  Bruno Haible  <bruno@clisp.org>
70042
70043         New module mbsrchr.
70044         * modules/mbsrchr: New file.
70045         * lib/mbsrchr.c: New file.
70046         * lib/string_.h (strrchr): Add a conditional link warning.
70047         (mbsrchr): New declaration.
70048         * m4/mbsrchr.m4: New file.
70049         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70050         GNULIB_MBSRCHR.
70051         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
70052         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
70053
70054 2007-02-04  Bruno Haible  <bruno@clisp.org>
70055
70056         New module mbschr.
70057         * modules/mbschr: New file.
70058         * lib/mbschr.c: New file.
70059         * lib/string_.h (strchr): Add a conditional link warning.
70060         (mbschr): New declaration.
70061         * m4/mbschr.m4: New file.
70062         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70063         GNULIB_MBSCHR.
70064         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
70065         * MODULES.html.sh (Internationalization functions): Add mbschr.
70066
70067 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
70068
70069         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
70070
70071         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
70072
70073 2007-02-04  Bruno Haible  <bruno@clisp.org>
70074
70075         New module description section 'configure.ac-early'.
70076         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
70077         (func_get_autoconf_early_snippet): New function.
70078         (func_import, func_create_testdir): Use it. Remove special cases for
70079         modules 'extensions' and 'lock'.
70080         * modules/extensions (configure.ac-early): Require
70081         gl_USE_SYSTEM_EXTENSIONS.
70082         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
70083
70084 2007-02-04  Bruno Haible  <bruno@clisp.org>
70085
70086         Make use of gcj-4.3's -fsource and -ftarget option.
70087         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
70088         and if so try the options -fsource and -ftarget.
70089         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
70090         source_version, ftarget_option, target_version arguments.
70091         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
70092         (is_envjavac_oldgcj_14_14_usable): Renamed from
70093         is_envjavac_gcj_14_14_usable.
70094         (is_envjavac_oldgcj_14_13_usable): Renamed from
70095         is_envjavac_gcj_14_13_usable.
70096         (is_gcj_present): Update.
70097         (is_gcj_43, is_gcj43_usable): New functions.
70098         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
70099         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
70100         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
70101         try the options -fsource and -ftarget.
70102
70103 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
70104
70105         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
70106         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
70107         larger value.
70108
70109 2007-02-03  Jim Meyering  <jim@meyering.net>
70110
70111         Give tools a better chance to allocate space for very large buffers.
70112         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
70113
70114         Make pwd and readlink work also when run with an unreadable parent dir
70115         on systems with openat support.
70116         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
70117         provided getcwd function, even when we have openat support.
70118         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
70119
70120 2007-02-02  Bruno Haible  <bruno@clisp.org>
70121
70122         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
70123         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
70124         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
70125         portability problems if one of these functions is only used on specific
70126         platforms.
70127         Reported by Paul Eggert.
70128
70129 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
70130
70131         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
70132         is causing more trouble than it's curing.
70133         * lib/regex_internal.h (__mempcpy): Remove.
70134         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
70135         (and make the code a tad smaller to boot).
70136         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
70137
70138 2007-02-02  Jim Meyering  <jim@meyering.net>
70139
70140         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
70141         section, not in the Makefile.am: one.
70142
70143 2007-02-02  Eric Blake  <ebb9@byu.net>
70144
70145         * lib/strchrnul.c: Always include config.h first.
70146
70147         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
70148         gnulib strstr is not necessary here.
70149
70150 2007-02-02  Simon Josefsson  <simon@josefsson.org>
70151
70152         * m4/socklen.m4: Fix typo.
70153
70154 2007-02-02  Eric Blake  <ebb9@byu.net>
70155
70156         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
70157         * modules/netinet_in (Makefile.am): Likewise.
70158
70159 2007-02-01  Bruno Haible  <bruno@clisp.org>
70160
70161         * lib/string_.h (GL_LINK_WARNING): New macro.
70162         (strcasecmp, strstr, strcasestr): If provided by the system,
70163         conditionally define as a macro that leads to a warning instead of to
70164         an error.
70165         (strncasecmp): Conditionally define as a macro that leads to a warning.
70166
70167 2007-02-01  Karl Berry  <karl@gnu.org>
70168
70169         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
70170
70171 2007-02-01  Bruno Haible  <bruno@clisp.org>
70172
70173         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
70174         renamings.
70175
70176 2007-02-01  Eric Blake  <ebb9@byu.net>
70177
70178         * modules/regex (Depends-on): Revert dependence on mempcpy.
70179         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
70180         module's definition of mempcpy.
70181         Reported by Paul Eggert.
70182
70183 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
70184
70185         * lib/string_.h: If the gnulib module XYZ is not present, undefine
70186         the symbol XYZ before redefining it.  This fixes a problem with
70187         programs that don't use XYZ, when compiled on systems that define
70188         XYZ to something else.
70189
70190 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
70191
70192         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
70193         occurs when "mkdir -m foo" creates a setgid directory that is (1)
70194         writeable to group or other and (2) is intended to have a special
70195         mode bit that is set or cleared.  In such a case, the directory
70196         should be neither group- nor other-writeable until the special
70197         mode bits are right.
70198
70199 2007-01-31  Eric Blake  <ebb9@byu.net>
70200
70201         * modules/mountlist (Depends-on): Add strstr.
70202
70203         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
70204         bug.
70205         * modules/string (Makefile.am): Remove redundant replacement.
70206         * modules/regex (Depends-on): Add mempcpy.
70207
70208 2007-01-31  Bruno Haible  <bruno@clisp.org>
70209
70210         New module description field 'Link'.
70211         * gnulib-tool (func_usage): Document --extract-link-directive.
70212         (sed_extract_prog): Recognize 'Link' directive.
70213         (func_get_link_directive): New function.
70214         (func_import): Show summary of link directives.
70215         Handle --extract-link-directive option.
70216         * modules/acl (Link): New section.
70217         * modules/clock-time (Link): New section.
70218         * modules/euidaccess (Link): New section.
70219         * modules/gettext (Link): New section.
70220         * modules/iconv (Link): New section.
70221         * modules/lock (Link): New section.
70222         * modules/nanosleep (Link): New section.
70223         * modules/readline (Link): New section.
70224
70225 2007-01-27  Bruno Haible  <bruno@clisp.org>
70226
70227         Enforce the use of gnulib modules for unportable <string.h> functions.
70228         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
70229         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
70230         (gl_HEADER_STRING_H_BODY): Require it.
70231         * lib/string_.h: If the gnulib module XYZ is not present, redefine
70232         the symbol XYZ to one that gives a link error.
70233         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
70234         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
70235         * modules/mempcpy (configure.ac): Likewise.
70236         * modules/memrchr (configure.ac): Likewise.
70237         * modules/stpcpy (configure.ac): Likewise.
70238         * modules/stpncpy (configure.ac): Likewise.
70239         * modules/strcase (configure.ac): Likewise.
70240         * modules/strcasestr (configure.ac): Likewise.
70241         * modules/strchrnul (configure.ac): Likewise.
70242         * modules/strdup (configure.ac): Likewise.
70243         * modules/strndup (configure.ac): Likewise.
70244         * modules/strnlen (configure.ac): Likewise.
70245         * modules/strpbrk (configure.ac): Likewise.
70246         * modules/strsep (configure.ac): Likewise.
70247         * modules/strstr (configure.ac): Likewise.
70248         * modules/strtok_r (configure.ac): Likewise.
70249
70250 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
70251
70252         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
70253
70254 2007-01-30  Jim Meyering  <jim@meyering.net>
70255
70256         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
70257
70258 2007-01-29  Bruno Haible  <bruno@clisp.org>
70259
70260         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
70261         * lib/execute.c: Likewise.
70262         * lib/pipe.c: Likewise.
70263         * lib/printf-args.h: Likewise.
70264         * lib/printf-args.c: Likewise.
70265         * lib/printf-parse.c: Likewise.
70266         * lib/vasnprintf.c: Likewise.
70267
70268 2007-01-29  Eric Blake  <ebb9@byu.net>
70269
70270         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
70271         declaration.
70272
70273 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
70274
70275         * lib/strptime.h (strptime): Use 'restrict' for args where
70276         POSIX requires this.
70277         * lib/strptime.c (strptime): Likewise.
70278         Change license notice from LGPL to GPL, since gnulib-tool will
70279         change this as needed.
70280         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
70281         defined.
70282         Include "strptime.h" first, to check interface.
70283         Do not #undef _LIBC and _NL_CURRENT.
70284         Do not include <stdlib.h>; no longer needed.
70285         Include "time_r.h" and declare ptime_locale_status
70286         only if _LIBC is not defined.
70287         (__P): Remove unused macro.
70288         (match_string): Bring back glibc version, but use it only if _LIBC
70289         is defined.
70290         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
70291         Remove unnecessary assertion and abort() call.
70292         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
70293         * m4/strptime.m4: Fix serial number comment.
70294         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
70295         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
70296         (Depends-on): Add time_r.
70297
70298 2007-01-29  Bruno Haible  <bruno@clisp.org>
70299
70300         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
70301         strptime.
70302         * modules/strptime (Depends-on): Add stdbool.
70303         * lib/strptime.h: Include <time.h> always. Add comments.
70304
70305 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
70306
70307         * modules/strptime: New file.
70308         * lib/strptime.h: New file.
70309         * lib/strptime.c: New file.
70310         * m4/strptime.m4: New file.
70311
70312 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
70313
70314         * MODULES.html.sh: New module mpsort.
70315         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
70316
70317         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
70318         a circularity problem with HP-UX ia64 reported by Bob Proulx in
70319         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
70320         All uses changed.
70321         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
70322         All uses changed.
70323         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
70324         to _Restrict_.
70325         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
70326         the parameter matches the prototype.
70327
70328 2007-01-28  Jim Meyering  <jim@meyering.net>
70329
70330         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
70331         sys/time.h here, reverting that part of the previous patch:
70332         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
70333
70334 2007-01-28  Bruno Haible  <bruno@clisp.org>
70335
70336         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
70337         value of $(SYS_TIME_H).
70338         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
70339         remove it conditionally, too. [added by Jim Meyering]
70340         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
70341         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
70342         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
70343         GETTIMEOFDAY_REPLACEMENT to 1.
70344
70345 2007-01-28  Bruno Haible  <bruno@clisp.org>
70346
70347         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
70348         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
70349         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
70350         Set UNISTD_H instead of UNISTD_H2.
70351         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
70352
70353 2007-01-28  Bruno Haible  <bruno@clisp.org>
70354
70355         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
70356         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
70357
70358 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70359
70360         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
70361         (func_create_testdir): Ensure C locale for `grep' and `tr'
70362         character ranges.
70363         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
70364         ACLOCAL_AMFLAGS parsing state machine.
70365
70366 2007-01-27  Bruno Haible  <bruno@clisp.org>
70367
70368         * modules/unistr/base: Update.
70369
70370 2007-01-27  Bruno Haible  <bruno@clisp.org>
70371
70372         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
70373         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
70374         * modules/unistr/u32-mbtouc-unsafe: Renamed from
70375         modules/unistr/u32-mbtouc.
70376         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
70377         * lib/unistr.h: Update.
70378         * lib/linebreak.c: Update.
70379         * modules/unistr/u32-mbtouc: Renamed from
70380         modules/unistr/u32-mbtouc-safe.
70381         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
70382         * lib/unistr.h: Update.
70383         * lib/unistr/u32-to-u8.c: Update.
70384         * lib/unistr/u32-to-u16.c: Update.
70385
70386 2007-01-27  Bruno Haible  <bruno@clisp.org>
70387
70388         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
70389         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
70390         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
70391         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
70392         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
70393         * modules/unistr/u16-mbtouc-unsafe: Renamed from
70394         modules/unistr/u16-mbtouc.
70395         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
70396         * lib/unistr.h: Update.
70397         * lib/linebreak.c: Update.
70398         * modules/linebreak: Update.
70399         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
70400         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
70401         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
70402         * modules/unistr/u16-mbtouc: Renamed from
70403         modules/unistr/u16-mbtouc-safe.
70404         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
70405         * lib/unistr.h: Update.
70406         * lib/unistr/u16-to-u8.c: Update.
70407         * modules/unistr/u16-to-u8: Update.
70408         * lib/unistr/u16-to-u32.c: Update.
70409         * modules/unistr/u16-to-u32: Update.
70410
70411 2007-01-27  Bruno Haible  <bruno@clisp.org>
70412
70413         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
70414         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
70415         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
70416         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
70417         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
70418         * modules/unistr/u8-mbtouc-unsafe: Renamed from
70419         modules/unistr/u8-mbtouc.
70420         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
70421         * lib/unistr.h: Update.
70422         * lib/striconveh.c: Update.
70423         * modules/striconveh: Update.
70424         * lib/linebreak.c: Update.
70425         * modules/linebreak: Update.
70426         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
70427         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
70428         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
70429         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
70430         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
70431         * lib/unistr.h: Update.
70432         * lib/striconveh.c: Update.
70433         * modules/striconveh: Update.
70434         * lib/unistr/u8-to-u16.c: Update.
70435         * modules/unistr/u8-to-u16: Update.
70436         * lib/unistr/u8-to-u32.c: Update.
70437         * modules/unistr/u8-to-u32: Update.
70438
70439 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70440
70441         Sync from Libtool.
70442         * lib/argz.c: Do not include strings.h nor memory.h, include
70443         string.h unconditionally.  Patch by Simon Josefsson.
70444
70445 2007-01-27  Bruno Haible  <bruno@clisp.org>
70446
70447         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
70448         from gl_HEADER_STRING_H_BODY.
70449         (gl_HEADER_STRING_H_BODY): Require it.
70450         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
70451         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
70452         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
70453         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
70454         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
70455         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
70456         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
70457         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
70458         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
70459         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
70460         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
70461         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
70462         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
70463         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
70464         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
70465
70466 2007-01-27  Bruno Haible  <bruno@clisp.org>
70467
70468         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
70469         check_PROGRAMS into noinst_PROGRAMS.
70470         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
70471         check_PROGRAMS in this case.
70472         (func_import): Set for_test to false.
70473         (func_create_testdir): Set for_test to true.
70474
70475 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
70476             Bruno Haible  <bruno@clisp.org>
70477
70478         * modules/strcasestr (Files): Remove lib/strcasestr.h.
70479         (Depends-on): Add string.
70480         (Includes): Use <string.h> instead of strcasestr.h.
70481         * modules/string (Makefile.am): Also substitute the value of
70482         REPLACE_STRCASESTR.
70483         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
70484         assume strcasestr is declared in <string.h> not <strings.h>. Also
70485         set REPLACE_STRCASESTR.
70486         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
70487         REPLACE_STRCASESTR.
70488         * lib/strcasestr.h: Remove file.
70489         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
70490         * lib/string_.h (strcasestr): New declaration.
70491
70492 2007-01-27  Bruno Haible  <bruno@clisp.org>
70493
70494         * lib/string_.h: Use 'extern'.
70495
70496 2007-01-27  Jim Meyering  <jim@meyering.net>
70497
70498         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
70499         of set-but-not-used local, "q".
70500
70501         * lib/mempcpy.c: Include <config.h> before <string.h>.
70502         This fixes a compilation error on HP-UX, due to the system's
70503         "restrict"-using mempcpy prototype.
70504
70505 2007-01-26  Bruno Haible  <bruno@clisp.org>
70506
70507         Small optimization.
70508         * lib/javacomp.c: Include c-strstr.h.
70509          (is_envjavac_gcj): Use c_strstr instead of strstr.
70510         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
70511
70512 2007-01-26  Bruno Haible  <bruno@clisp.org>
70513
70514         * MODULES.html.sh (Unicode string functions): Add the new modules.
70515
70516         * modules/uniconv/u32-strconv-to-locale: New file.
70517         * lib/uniconv/u32-strconv-to-locale.c: New file.
70518
70519         * modules/uniconv/u16-strconv-to-locale: New file.
70520         * lib/uniconv/u16-strconv-to-locale.c: New file.
70521
70522         * modules/uniconv/u8-strconv-to-locale: New file.
70523         * lib/uniconv/u8-strconv-to-locale.c: New file.
70524
70525         * modules/uniconv/u32-strconv-from-locale: New file.
70526         * lib/uniconv/u32-strconv-from-locale.c: New file.
70527
70528         * modules/uniconv/u16-strconv-from-locale: New file.
70529         * lib/uniconv/u16-strconv-from-locale.c: New file.
70530
70531         * modules/uniconv/u8-strconv-from-locale: New file.
70532         * lib/uniconv/u8-strconv-from-locale.c: New file.
70533
70534         * modules/uniconv/u32-strconv-to-enc: New file.
70535         * lib/uniconv/u32-strconv-to-enc.c: New file.
70536         * modules/uniconv/u32-strconv-to-enc-tests: New file.
70537         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
70538
70539         * modules/uniconv/u16-strconv-to-enc: New file.
70540         * lib/uniconv/u16-strconv-to-enc.c: New file.
70541         * lib/uniconv/u-strconv-to-enc.h: New file.
70542         * modules/uniconv/u16-strconv-to-enc-tests: New file.
70543         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
70544
70545         * modules/uniconv/u8-strconv-to-enc: New file.
70546         * lib/uniconv/u8-strconv-to-enc.c: New file.
70547         * modules/uniconv/u8-strconv-to-enc-tests: New file.
70548         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
70549
70550         * modules/uniconv/u32-strconv-from-enc: New file.
70551         * lib/uniconv/u32-strconv-from-enc.c: New file.
70552         * modules/uniconv/u32-strconv-from-enc-tests: New file.
70553         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
70554
70555         * modules/uniconv/u16-strconv-from-enc: New file.
70556         * lib/uniconv/u16-strconv-from-enc.c: New file.
70557         * modules/uniconv/u16-strconv-from-enc-tests: New file.
70558         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
70559
70560         * modules/uniconv/u8-strconv-from-enc: New file.
70561         * lib/uniconv/u8-strconv-from-enc.c: New file.
70562         * lib/uniconv/u-strconv-from-enc.h: New file.
70563         * modules/uniconv/u8-strconv-from-enc-tests: New file.
70564         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
70565
70566         * modules/uniconv/u32-conv-from-enc: New file.
70567         * lib/uniconv/u32-conv-from-enc.c: New file.
70568         * modules/uniconv/u32-conv-from-enc-tests: New file.
70569         * tests/uniconv/test-u32-conv-from-enc.c: New file.
70570
70571         * modules/uniconv/u16-conv-from-enc: New file.
70572         * lib/uniconv/u16-conv-from-enc.c: New file.
70573         * lib/uniconv/u-conv-from-enc.h: New file.
70574         * modules/uniconv/u16-conv-from-enc-tests: New file.
70575         * tests/uniconv/test-u16-conv-from-enc.c: New file.
70576
70577         * modules/uniconv/u8-conv-from-enc: New file.
70578         * lib/uniconv/u8-conv-from-enc.c: New file.
70579         * modules/uniconv/u8-conv-from-enc-tests: New file.
70580         * tests/uniconv/test-u8-conv-from-enc.c: New file.
70581
70582         * modules/uniconv/base: New file.
70583         * lib/uniconv.h: New file.
70584
70585 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
70586
70587         * doc/gnulib-tool.texi (Initial import): Update to match current
70588         behavior with strdup module.
70589         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
70590         * lib/memmem.h: Remove; all uses removed.  This is now done
70591         by <string.h>.
70592         * lib/mempcpy.h: Likewise.
70593         * lib/memrchr.h: Likewise.
70594         * lib/stpcpy.h: Likewise.
70595         * lib/stpncpy.h: Likewise.
70596         * lib/strcase.h: Likewise.
70597         * lib/strchrnul.h: Likewise.
70598         * lib/strdup.h: Likewise.
70599         * lib/strndup.h: Likewise.
70600         * lib/strnlen.h: Likewise.
70601         * lib/strpbrk.h: Likewise.
70602         * lib/strsep.h: Likewise.
70603         * lib/strstr.h: Likewise.
70604         * lib/strtok_r.h: Likewise.
70605         * lib/string_.h: New file.
70606         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
70607         Rely on <string.h> instead.
70608         * lib/canon-host.c: Likewise.
70609         * lib/chdir-long.c: Likewise.
70610         * lib/concatpath.c: Likewise.
70611         * lib/exclude.c: Likewise.
70612         * lib/fchdir.c: Likewise.
70613         * lib/getaddrinfo.c: Likewise.
70614         * lib/getcwd.c: Likewise.
70615         * lib/getsubopt.c: Likewise.
70616         * lib/glob.c: Likewise.
70617         * lib/hard-locale.c: Likewise.
70618         * lib/iconvme.c: Likewise.
70619         * lib/javacomp.c: Likewise.
70620         * lib/mempcpy.c: Likewise.
70621         * lib/memrchr.c: Likewise.
70622         * lib/regex_internal.h: Likewise.
70623         * lib/stpncpy.c: Likewise.
70624         * lib/strcasecmp.c: Likewise.
70625         * lib/strchrnul.c: Likewise.
70626         * lib/strdup.c: Likewise.
70627         * lib/striconv.c: Likewise.
70628         * lib/striconveh.c: Likewise.
70629         * lib/striconveha.c: Likewise.
70630         * lib/strncasecmp.c: Likewise.
70631         * lib/strndup.c: Likewise.
70632         * lib/strnlen.c: Likewise.
70633         * lib/strsep.c: Likewise.
70634         * lib/strstr.c: Likewise.
70635         * lib/strtok_r.c: Likewise.
70636         * lib/userspec.c: Likewise.
70637         * lib/w32spawn.h: Likewise.
70638         * lib/xstrndup.c: Likewise.
70639         * lib/mountlist.c (strstr): Remove decl.
70640         * m4/string_h.m4: New file.
70641         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
70642         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
70643         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
70644         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
70645         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
70646         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
70647         Set REPLACE_STRCASECMP if necessary.
70648         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
70649         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
70650         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
70651         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
70652         HAVE_DECL_STRDUP if necessary.
70653         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
70654         since gl_FUNC_STRNDUP does that now.
70655         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
70656         Check for decl here...
70657         (gl_PREREQ_STRNLEN): ... not here.
70658         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
70659         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
70660         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
70661         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
70662         necessary.
70663         * modules/string: New file.
70664         * modules/memmem (Files): Remove special-purpose include file.
70665         (Depends-on): Add string.
70666         (Include): Include <string.h>, not the removed file.
70667         * modules/mempcpy: Likewise.
70668         * modules/memrchr: Likewise.
70669         * modules/stpcpy: Likewise.
70670         * modules/stpncpy: Likewise.
70671         * modules/strcase: Likewise.
70672         * modules/strchrnul: Likewise.
70673         * modules/strdup: Likewise.
70674         * modules/strndup: Likewise.
70675         * modules/strnlen: Likewise.
70676         * modules/strpbrk: Likewise.
70677         * modules/strsep: Likewise.
70678         * modules/strstr: Likewise.
70679         * modules/strtok_r: Likewise.
70680         * tests/test-dirname.c: Don't include "strdup.h", since
70681         <string.h> now suffices.
70682         * tests/test-memmem.c: Don't include "memmem.h", since
70683         <string.h> now suffices.
70684
70685 2007-01-25  Bruno Haible  <bruno@clisp.org>
70686
70687         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
70688         *resultp is 0.
70689
70690         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
70691         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
70692         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
70693         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
70694
70695         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
70696         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
70697         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
70698         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
70699         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
70700         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
70701
70702 2007-01-24  Bruno Haible  <bruno@clisp.org>
70703
70704         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
70705         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
70706         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
70707         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
70708         gl_FUNC_FTS_CORE.
70709         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
70710         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
70711         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
70712         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
70713         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
70714         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
70715         gl_FUNC_FCHOWNAT.
70716         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
70717         gl_FUNC_STRFTIME.
70718         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
70719         Reported by Ralf Wildenhues.
70720
70721 2007-01-24  Bruno Haible  <bruno@clisp.org>
70722
70723         Drop AC_REQUIRE calls that are redundant with the module dependencies.
70724         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
70725         gl_GETADDRINFO.
70726         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
70727         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
70728         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
70729
70730 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
70731
70732         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
70733         Don't use 'exit'; just return from 'main'.
70734         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
70735
70736         * lib/fnmatch_.h: Readjust white space and comments to match
70737         glibc, to avoid spurious diffs.
70738
70739 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
70740
70741         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
70742         2004-12-01 change by Jakub Jelinek, since this code won't compile
70743         if !LIBC.  Problem reported by Bob Proulx.
70744
70745 2007-01-23  Bruno Haible  <bruno@clisp.org>
70746
70747         * lib/striconveh.c: Include c-strcaseeq.h.
70748         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
70749         * modules/striconveh (Depends-on): Add c-strcaseeq.
70750
70751 2007-01-23  Bruno Haible  <bruno@clisp.org>
70752
70753         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
70754
70755         * modules/c-strcaseeq: New file.
70756         * lib/c-strcaseeq.h: New file.
70757
70758         * modules/streq: New file.
70759         * lib/streq.h: New file.
70760
70761 2007-01-23  Bruno Haible  <bruno@clisp.org>
70762
70763         * modules/striconveha-tests: New file.
70764         * tests/test-striconveha.c: New file.
70765
70766         * lib/striconveha.h: Include <stdbool.h>.
70767         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
70768         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
70769         (mem_iconveha_notranslit): Renamed from mem_iconveha.
70770         (mem_iconveha): New function.
70771         (str_iconveha_notranslit): Renamed from str_iconveha.
70772         (str_iconveha): New function.
70773         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
70774         c-strcase.
70775
70776 2007-01-23  Bruno Haible  <bruno@clisp.org>
70777
70778         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
70779         encodings without forgiving before trying any encoding with handler.
70780         (str_iconveha): Try all encodings without forgiving before trying any
70781         encoding with handler.
70782
70783 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
70784
70785         Import the following changes from libc.
70786
70787         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
70788
70789         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
70790
70791         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
70792
70793         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
70794         normal_bracket label.
70795
70796         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
70797
70798         [BZ #361]
70799         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
70800         to normal_bracket after fetching the next character.
70801
70802 2007-01-22  Bruno Haible  <bruno@clisp.org>
70803
70804         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
70805         argument.
70806         * lib/striconveh.c (iconv_carefully_1): New function.
70807         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
70808         argument.
70809         (str_cd_iconveh): Update.
70810         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
70811         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
70812         * tests/test-striconveh.c (MAGIC): New macro.
70813         (new_offsets): New function.
70814         (main): Test call with and without offsets.
70815
70816 2007-01-22  Bruno Haible  <bruno@clisp.org>
70817
70818         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
70819         * modules/sys_select (Makefile.am): Likewise.
70820         * modules/sys_socket (Makefile.am): Likewise.
70821         * modules/sys_time (Makefile.am): Likewise.
70822
70823 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
70824
70825         * modules/gettimeofday (License): Change from GPL to LGPL, since
70826         gettimeofday is a library function.
70827
70828 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
70829
70830         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
70831
70832 2007-01-21  Bruno Haible  <bruno@clisp.org>
70833
70834         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
70835
70836 2007-01-21  Bruno Haible  <bruno@clisp.org>
70837
70838         * modules/striconveha: New file.
70839         * lib/striconveha.h: New file.
70840         * lib/striconveha.c: New file.
70841         * MODULES.html.sh (Internationalization functions): Add striconveha.
70842         * lib/striconv.c (str_iconv): Optimize the case of an empty input
70843         string.
70844         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
70845
70846 2007-01-21  Bruno Haible  <bruno@clisp.org>
70847
70848         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
70849         * lib/striconveh.c (str_iconveh): Likewise.
70850
70851 2007-01-21  Bruno Haible  <bruno@clisp.org>
70852
70853         * lib/striconveh.h (mem_iconveh): New declaration.
70854         * lib/striconveh.c (mem_iconveh): New function.
70855         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
70856
70857 2007-01-21  Bruno Haible  <bruno@clisp.org>
70858
70859         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
70860
70861         * lib/striconveh.h (mem_cd_iconveh): Change specification.
70862         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
70863         original result buffer.
70864         (str_cd_iconveh): Update.
70865         * tests/test-striconveh.c (main): Update.
70866
70867         * lib/striconv.h (mem_cd_iconv): Change specification.
70868         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
70869         result buffer.
70870         (str_cd_iconv): Update.
70871         * tests/test-striconv.c (main): Update.
70872
70873 2007-01-21  Bruno Haible  <bruno@clisp.org>
70874
70875         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
70876
70877 2007-01-20  Jim Meyering  <jim@meyering.net>
70878
70879         * lib/userspec.c (parse_with_separator): If a user or group string
70880         starts with "+", skip the corresponding name-to-ID look-up, since
70881         such a look-up must fail: user and group names may not include "+".
70882
70883 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
70884
70885         * lib/poll.c: Include sys/time.h and time.h unconditionally,
70886         since we now assume the sys_time module.
70887         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
70888         check for sys/time.h; no longer needed.
70889         * modules/poll (Depends-on): Depend on sys_time.
70890
70891 2007-01-18  Bruno Haible  <bruno@clisp.org>
70892
70893         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
70894         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
70895
70896         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
70897         gettimeofday.
70898
70899         * tests/test-gettimeofday.c: Include <time.h>.
70900         (dummy): Remove variable.
70901
70902         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
70903         gl_HEADER_SYS_TIME_H.
70904         (gl_HEADER_SYS_TIME_H): New macro.
70905
70906         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
70907         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
70908         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
70909         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
70910         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
70911         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
70912         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
70913         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
70914         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
70915         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
70916         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
70917
70918         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
70919         last change; it caused a compilation error when cross-compiling to
70920         Cygwin.
70921
70922 2007-01-18  Jim Meyering  <jim@meyering.net>
70923
70924         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
70925         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
70926         than the race-prone "test -d sys || mkdir sys".
70927         (configure.ac): Use AC_PROG_MKDIR_P.
70928         * modules/sys_select: Likewise.
70929         * modules/sys_socket: Likewise.
70930         * modules/sys_time: Likewise.
70931
70932 2007-01-18  Eric Blake  <ebb9@byu.net>
70933
70934         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
70935         replace gettimeofday.
70936         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
70937         name, to avoid infinite recursion.
70938
70939 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
70940
70941         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
70942         module sys_time.
70943         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
70944         assume timespec.h defines struct timeval.
70945         * lib/settime.c: Likewise.
70946         * lib/utimens.c: Likewise.
70947         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
70948         since we now assume the gettimeofday module.
70949         * lib/tempname.c (__gen_tempname): Likewise.
70950         * lib/gettimeofday.h: Remove.
70951         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
70952         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
70953         Include <time.h>, for 'time()'.
70954         (localtime_buffer_addr): Also use this workaround if
70955         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
70956         to simplify the uses.  All uses changed.
70957         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
70958         that #undef is inside {}, and 'const' follows type name consistently.
70959         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
70960         (gettimeofday): Do not use the maximum possible value for
70961         tv->tv_usec, since that might break usages other than ls.c.
70962         Instead, we'll leave ls.c alone.  This undoes today's patch
70963         by Bruno.  Add a compile-time warning for 1s-clock resolution;
70964         we've never observed the problem but might as well keep the
70965         canary.
70966         * lib/nanosleep.c: Include timespec.h first, for interface check.
70967         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
70968         now assume the sys_time module.
70969         * lib/tempname.c: Likewise.
70970         * lib/timespec.h: Likewise.
70971         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
70972         needed.
70973         * lib/strftime.c: Likewise.
70974         * lib/timespec.h: Likewise.
70975         * lib/posixtm.c: Include posixtm.h first, for interface check.
70976         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
70977         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
70978         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
70979         * lib/sys_time_.h: New file.
70980         * lib/timespec.h (struct timespec): Use long int, not long.
70981         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
70982         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
70983         Remove obsolescent call to AC_HEADER_TIME.
70984         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
70985         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
70986         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
70987         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
70988         Likewise.
70989         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
70990         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
70991         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
70992         into the sys_time module.  Check for gettimeofday just once.
70993         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
70994         for gettimeofday signature to just check the signature.  Merely
70995         compile it, since linking doesn't test signature.  Improve test for
70996         whether gettimeofday.o is actually needed.
70997         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
70998         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
70999         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
71000         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
71001         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
71002         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
71003         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
71004         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
71005         than worrying about sys/time.h.
71006         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
71007         Don't bother worrying about TIME_WITH_SYS_TIME.
71008         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
71009         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
71010         * m4/sys_time_h.m4: New file.
71011         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
71012         Don't include sys/time.h.  Return from main rather than exiting.
71013         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
71014         all uses changed.
71015         * modules/gethrxtime (Depends-on): Add sys_time.
71016         * modules/gettime (Depends-on): Likewise.
71017         * modules/gettimeofday (Depends-on): Likewise.
71018         * modules/nanosleep (Depends-on): Likewise.
71019         * modules/settime (Depends-on): Likewise.
71020         * modules/tempname (Depends-on): Likewise.
71021         * modules/utimens (Depends-on): Likewise.
71022         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
71023         (Include): Change back to <sys/time.h>.
71024         (Maintainer): Add self.
71025         * modules/sys_time: New file.
71026         * modules/tempname (Depends-on): Add gettimeofday.
71027         * tests/test-gettimeofday.c: Include <sys/time.h>
71028         rather than gettimeofday.h.
71029
71030 2007-01-17  Bruno Haible  <bruno@clisp.org>
71031
71032         * gnulib-tool (func_get_license): Revert last patch. Instead, let
71033         the license default to GPL.
71034         (func_create_testdir): Don't complain if a module is LGPL and its
71035         tests module depends on GPLed modules.
71036
71037 2007-01-17  Bruno Haible  <bruno@clisp.org>
71038
71039         * lib/gettimeofday.c (gettimeofday): Add code for the case
71040         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
71041         maximum possible value for tv->tv_usec, rather than the minimum one.
71042
71043 2005-10-08  Martin Lambers  <marlam@marlam.de>
71044 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
71045 2007-01-16  Bruno Haible  <bruno@clisp.org>
71046
71047         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
71048         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
71049         gl_FUNC_GETTIMEOFDAY.
71050         (Include): Add gettimeofday.h.
71051         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
71052         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
71053         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
71054         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
71055         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
71056         * lib/gettimeofday.h: New file.
71057         * lib/gettimeofday.c: Include <sys/timeb.h>.
71058         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
71059         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
71060         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
71061         fall back on time().
71062
71063         * tests/test-gettimeofday.c: New file.
71064         * modules/gettimeofday-tests: New file.
71065
71066 2007-01-16  Eric Blake  <ebb9@byu.net>
71067
71068         * modules/fnmatch (Depends-on): Depend on wchar.
71069         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
71070         * m4/fnmatch.m4: Likewise.
71071         * modules/mbchar (Makefile.am): Assume <wchar.h>.
71072         * m4/mbchar.m4: Likewise.
71073         * modules/mbswidth (Depends-on): Depend on wchar.
71074         * lib/mbswidth.c: Assume <wchar.h>.
71075         * m4/mbswidth.m4: Likewise.
71076         * modules/quotearg (Depends-on): Depend on wchar.
71077         * lib/quotearg.c: Assume <wchar.h>.
71078         * m4/quotearg.m4: Likewise.
71079         * modules/regex (Depends-on): Depend on wchar.
71080         * lib/regex_internal.h: Assume <wchar.h>.
71081         * m4/regex.m4: Likewise.
71082         * modules/stdint (Depends-on): Depend on wchar.
71083         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
71084         * m4/stdint.m4: Likewise.
71085         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
71086         * modules/strftime (Depends-on): Depend on wchar.
71087         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
71088         * modules/strtol (Depends-on): Depend on wchar.
71089         * lib/strtol.c: Assume <wchar.h>.
71090         * modules/wcwidth (Depends-on): Depend on wchar.
71091         * lib/wcwidth.h: Assume <wchar.h>.
71092         * m4/wcwidth.m4: Likewise.
71093
71094 2007-01-16  Bruno Haible  <bruno@clisp.org>
71095
71096         * modules/csharpexec-script: New, created from...
71097         * modules/csharpexec: ... this.
71098
71099 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
71100
71101         * modules/javaexec-script: New, created from...
71102         * modules/javaexec: ... this.
71103
71104 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
71105
71106         * modules/poll (Dependencies): Add sys_select.
71107
71108 2007-01-15  Jim Meyering  <jim@meyering.net>
71109
71110         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
71111         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
71112         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
71113         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
71114
71115 2007-01-15  Bruno Haible  <bruno@clisp.org>
71116
71117         * modules/striconveh: New file.
71118         * lib/striconveh.h: New file.
71119         * lib/striconveh.c: New file.
71120         * MODULES.html.sh (Internationalization functions): Add striconveh.
71121
71122         * modules/striconveh-tests: New file.
71123         * tests/test-striconveh.c: New file.
71124
71125 2007-01-15  Bruno Haible  <bruno@clisp.org>
71126
71127         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
71128         not from GNU libiconv or GNU libc.
71129
71130 2007-01-15  Bruno Haible  <bruno@clisp.org>
71131
71132         * doc/gnulib-intro.texi (Copyright): Explain the different license
71133         terms for module descriptions, autoconf macros, tests, documentation.
71134
71135 2007-01-14  Bruno Haible  <bruno@clisp.org>
71136
71137         * modules/striconv-tests: New file.
71138         * tests/test-striconv.c: New file.
71139
71140 2007-01-14  Bruno Haible  <bruno@clisp.org>
71141
71142         * modules/iconv-tests: New file.
71143         * tests/test-iconv.c: New file.
71144
71145 2007-01-14  Bruno Haible  <bruno@clisp.org>
71146
71147         * gnulib-tool (func_get_license): For test modules, use the license of
71148         the main module.
71149
71150 2007-01-14  Bruno Haible  <bruno@clisp.org>
71151
71152         * modules/iconv (Include): Clarify that <iconv.h> can only be included
71153         if iconv is found to exist.
71154
71155 2007-01-14  Bruno Haible  <bruno@clisp.org>
71156
71157         * modules/c-ctype-tests: New file.
71158         * tests/test-c-ctype.c: New file.
71159
71160 2007-01-14  Bruno Haible  <bruno@clisp.org>
71161
71162         * modules/binary-io-tests: New file.
71163         * tests/test-binary-io.sh: New file.
71164         * tests/test-binary-io.c: New file.
71165
71166 2007-01-14  Bruno Haible  <bruno@clisp.org>
71167
71168         * modules/array-oset-tests: New file.
71169         * tests/test-array_oset.c: New file.
71170
71171 2007-01-14  Bruno Haible  <bruno@clisp.org>
71172
71173         * modules/array-list-tests: New file.
71174         * tests/test-array_list.c: New file.
71175
71176 2007-01-14  Bruno Haible  <bruno@clisp.org>
71177
71178         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
71179         and make.
71180         Reported by Simon Josefsson in
71181         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
71182
71183 2007-01-14  Bruno Haible  <bruno@clisp.org>
71184
71185         * modules/allocsa-tests: New file.
71186         * tests/test-allocsa.c: New file.
71187
71188 2007-01-14  Bruno Haible  <bruno@clisp.org>
71189
71190         * modules/fchdir (Depends-on): Add absolute-header.
71191         * modules/unistd (Depends-on): Likewise.
71192
71193 2006-12-30  Bruno Haible  <bruno@clisp.org>
71194
71195         * modules/fchdir: New file.
71196         * modules/unistd (Files): Add lib/unistd_.h.
71197         (Makefile.am): Generate unistd.h from unistd_.h.
71198         * lib/fchdir.c: New file.
71199         * lib/dirent_.h: New file.
71200         * lib/unistd_.h: New file.
71201         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
71202         * m4/fchdir.m4: New file.
71203         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
71204         (gl_HEADER_UNISTD): Invoke it.
71205         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
71206         function.
71207         * lib/backupfile.c (opendir, closedir): Undefine.
71208         * lib/chown.c (open, close): Undefine.
71209         * lib/clean-temp.c (open, close): Undefine.
71210         * lib/copy-file.c (open, close): Undefine.
71211         * lib/execute.c (open, close): Undefine.
71212         * lib/fsusage.c (open, close): Undefine.
71213         * lib/gc-gnulib.c (open, close): Undefine.
71214         * lib/getcwd.c (opendir, closedir): Undefine.
71215         * lib/glob.c (opendir, closedir): Undefine.
71216         * lib/javacomp.c (open, close): Undefine.
71217         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
71218         * lib/openat-proc.c (open, close): Undefine.
71219         * lib/pagealign_alloc.c (open, close): Undefine.
71220         * lib/pipe.c (open, close): Undefine.
71221         * lib/progreloc.c (open, close): Undefine.
71222         * lib/savedir.c (opendir, closedir): Undefine.
71223         * lib/utime.c (open, close): Undefine.
71224         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
71225
71226 2007-01-10  Bruno Haible  <bruno@clisp.org>
71227
71228         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
71229
71230 2007-01-12  Eric Blake  <ebb9@byu.net>
71231
71232         Provide a robust <wchar.h>.  Further simplifications are now
71233         possible in other modules, but not included here.
71234         * modules/wchar: New module.
71235         * m4/wchar.m4: New file.
71236         * lib/wchar_.h: Likewise.
71237         * modules/mbchar (Depends-on): Depend on wchar, as the first use
71238         of the new module.
71239         * MODULES.html.sh (Extended multibyte and wide character utilities):
71240         New section.
71241
71242 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
71243
71244         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
71245         to a reasonable default for memory allocation.
71246         (xreadlink): Don't allocate a huge buffer, to work around a buggy
71247         file system that reports garbage st_size values for symlinks.
71248         Problem reported by Liyang Hu.
71249
71250 2007-01-11  Simon Josefsson  <simon@josefsson.org>
71251
71252         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
71253         Emacs .#* auto-save files).
71254
71255 2007-01-11  Bruno Haible  <bruno@clisp.org>
71256
71257         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
71258         directory.
71259
71260 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
71261
71262         Use @...@ consistently in lib/wctype_.h.
71263         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
71264         on it being set to 1 or 0.
71265         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
71266         go back to AC_SUBSTing it.
71267         * modules/wctype (Makefile.am): Undo previous change.
71268
71269 2007-01-10  Eric Blake  <ebb9@byu.net>
71270
71271         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
71272         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
71273         * modules/wctype (Makefile.am): Likewise.
71274         Reported by Chris McGuire.
71275
71276 2007-01-10  Jim Meyering  <jim@meyering.net>
71277
71278         fts.c: a small readability/maintainability improvement
71279         * lib/fts.c (fts_read): Make this code slightly more readable and
71280         maintainable by hoisting the "sp->fts_cur = p" assignments to
71281         immediately follow the statements that set P.  Derived from
71282         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
71283
71284 2007-01-10  Eric Blake  <ebb9@byu.net>
71285
71286         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
71287         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
71288         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
71289         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
71290         Reported by Chris McGuire.
71291
71292 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71293
71294         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
71295         in sed script.
71296
71297 2007-01-09  Bruno Haible  <bruno@clisp.org>
71298
71299         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
71300         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
71301         variables.
71302         (func_module): Use them.
71303
71304 2007-01-09  Bruno Haible  <bruno@clisp.org>
71305
71306         * modules/unistr/base: New file.
71307         * lib/unistr.h: New file.
71308
71309         * modules/unistr/u8-to-u16: New file.
71310         * lib/unistr/u8-to-u16.c: New file.
71311
71312         * modules/unistr/u8-to-u32: New file.
71313         * lib/unistr/u8-to-u32.c: New file.
71314
71315         * modules/unistr/u16-to-u8: New file.
71316         * lib/unistr/u16-to-u8.c: New file.
71317
71318         * modules/unistr/u16-to-u32: New file.
71319         * lib/unistr/u16-to-u32.c: New file.
71320
71321         * modules/unistr/u32-to-u8: New file.
71322         * lib/unistr/u32-to-u8.c: New file.
71323
71324         * modules/unistr/u32-to-u16: New file.
71325         * lib/unistr/u32-to-u16.c: New file.
71326
71327         * modules/unistr/u8-check: New file.
71328         * modules/unistr/u16-check: New file.
71329         * modules/unistr/u32-check: New file.
71330         * lib/unistr/u8-check.c: New file.
71331         * lib/unistr/u16-check.c: New file.
71332         * lib/unistr/u32-check.c: New file.
71333
71334         * modules/unistr/u8-chr: New file.
71335         * modules/unistr/u16-chr: New file.
71336         * modules/unistr/u32-chr: New file.
71337         * lib/unistr/u8-chr.c: New file.
71338         * lib/unistr/u16-chr.c: New file.
71339         * lib/unistr/u32-chr.c: New file.
71340
71341         * modules/unistr/u8-cmp: New file.
71342         * modules/unistr/u16-cmp: New file.
71343         * modules/unistr/u32-cmp: New file.
71344         * lib/unistr/u8-cmp.c: New file.
71345         * lib/unistr/u16-cmp.c: New file.
71346         * lib/unistr/u32-cmp.c: New file.
71347
71348         * modules/unistr/u8-cpy: New file.
71349         * modules/unistr/u16-cpy: New file.
71350         * modules/unistr/u32-cpy: New file.
71351         * lib/unistr/u8-cpy.c: New file.
71352         * lib/unistr/u16-cpy.c: New file.
71353         * lib/unistr/u32-cpy.c: New file.
71354         * lib/unistr/u-cpy.h: New file.
71355
71356         * modules/unistr/u8-cpy-alloc: New file.
71357         * modules/unistr/u16-cpy-alloc: New file.
71358         * modules/unistr/u32-cpy-alloc: New file.
71359         * lib/unistr/u8-cpy-alloc.c: New file.
71360         * lib/unistr/u16-cpy-alloc.c: New file.
71361         * lib/unistr/u32-cpy-alloc.c: New file.
71362         * lib/unistr/u-cpy-alloc.h: New file.
71363
71364         * modules/unistr/u8-endswith: New file.
71365         * modules/unistr/u16-endswith: New file.
71366         * modules/unistr/u32-endswith: New file.
71367         * lib/unistr/u8-endswith.c: New file.
71368         * lib/unistr/u16-endswith.c: New file.
71369         * lib/unistr/u32-endswith.c: New file.
71370         * lib/unistr/u-endswith.h: New file.
71371
71372         * modules/unistr/u8-mblen: New file.
71373         * modules/unistr/u16-mblen: New file.
71374         * modules/unistr/u32-mblen: New file.
71375         * lib/unistr/u8-mblen.c: New file.
71376         * lib/unistr/u16-mblen.c: New file.
71377         * lib/unistr/u32-mblen.c: New file.
71378
71379         * modules/unistr/u8-mbtouc: New file.
71380         * modules/unistr/u16-mbtouc: New file.
71381         * modules/unistr/u32-mbtouc: New file.
71382         * lib/unistr/u8-mbtouc.c: New file.
71383         * lib/unistr/u16-mbtouc.c: New file.
71384         * lib/unistr/u32-mbtouc.c: New file.
71385
71386         * modules/unistr/u8-mbtouc-safe: New file.
71387         * modules/unistr/u16-mbtouc-safe: New file.
71388         * modules/unistr/u32-mbtouc-safe: New file.
71389         * lib/unistr/u8-mbtouc-safe.c: New file.
71390         * lib/unistr/u16-mbtouc-safe.c: New file.
71391         * lib/unistr/u32-mbtouc-safe.c: New file.
71392
71393         * modules/unistr/u8-move: New file.
71394         * modules/unistr/u16-move: New file.
71395         * modules/unistr/u32-move: New file.
71396         * lib/unistr/u8-move.c: New file.
71397         * lib/unistr/u16-move.c: New file.
71398         * lib/unistr/u32-move.c: New file.
71399         * lib/unistr/u-move.h: New file.
71400
71401         * modules/unistr/u8-next: New file.
71402         * modules/unistr/u16-next: New file.
71403         * modules/unistr/u32-next: New file.
71404         * lib/unistr/u8-next.c: New file.
71405         * lib/unistr/u16-next.c: New file.
71406         * lib/unistr/u32-next.c: New file.
71407
71408         * modules/unistr/u8-prev: New file.
71409         * modules/unistr/u16-prev: New file.
71410         * modules/unistr/u32-prev: New file.
71411         * lib/unistr/u8-prev.c: New file.
71412         * lib/unistr/u16-prev.c: New file.
71413         * lib/unistr/u32-prev.c: New file.
71414
71415         * modules/unistr/u8-set: New file.
71416         * modules/unistr/u16-set: New file.
71417         * modules/unistr/u32-set: New file.
71418         * lib/unistr/u8-set.c: New file.
71419         * lib/unistr/u16-set.c: New file.
71420         * lib/unistr/u32-set.c: New file.
71421         * lib/unistr/u-set.h: New file.
71422
71423         * modules/unistr/u8-startswith: New file.
71424         * modules/unistr/u16-startswith: New file.
71425         * modules/unistr/u32-startswith: New file.
71426         * lib/unistr/u8-startswith.c: New file.
71427         * lib/unistr/u16-startswith.c: New file.
71428         * lib/unistr/u32-startswith.c: New file.
71429         * lib/unistr/u-startswith.h: New file.
71430
71431         * modules/unistr/u8-stpcpy: New file.
71432         * modules/unistr/u16-stpcpy: New file.
71433         * modules/unistr/u32-stpcpy: New file.
71434         * lib/unistr/u8-stpcpy.c: New file.
71435         * lib/unistr/u16-stpcpy.c: New file.
71436         * lib/unistr/u32-stpcpy.c: New file.
71437         * lib/unistr/u-stpcpy.h: New file.
71438
71439         * modules/unistr/u8-stpncpy: New file.
71440         * modules/unistr/u16-stpncpy: New file.
71441         * modules/unistr/u32-stpncpy: New file.
71442         * lib/unistr/u8-stpncpy.c: New file.
71443         * lib/unistr/u16-stpncpy.c: New file.
71444         * lib/unistr/u32-stpncpy.c: New file.
71445         * lib/unistr/u-stpncpy.h: New file.
71446
71447         * modules/unistr/u8-strcat: New file.
71448         * modules/unistr/u16-strcat: New file.
71449         * modules/unistr/u32-strcat: New file.
71450         * lib/unistr/u8-strcat.c: New file.
71451         * lib/unistr/u16-strcat.c: New file.
71452         * lib/unistr/u32-strcat.c: New file.
71453         * lib/unistr/u-strcat.h: New file.
71454
71455         * modules/unistr/u8-strchr: New file.
71456         * modules/unistr/u16-strchr: New file.
71457         * modules/unistr/u32-strchr: New file.
71458         * lib/unistr/u8-strchr.c: New file.
71459         * lib/unistr/u16-strchr.c: New file.
71460         * lib/unistr/u32-strchr.c: New file.
71461
71462         * modules/unistr/u8-strcmp: New file.
71463         * modules/unistr/u16-strcmp: New file.
71464         * modules/unistr/u32-strcmp: New file.
71465         * lib/unistr/u8-strcmp.c: New file.
71466         * lib/unistr/u16-strcmp.c: New file.
71467         * lib/unistr/u32-strcmp.c: New file.
71468
71469         * modules/unistr/u8-strcpy: New file.
71470         * modules/unistr/u16-strcpy: New file.
71471         * modules/unistr/u32-strcpy: New file.
71472         * lib/unistr/u8-strcpy.c: New file.
71473         * lib/unistr/u16-strcpy.c: New file.
71474         * lib/unistr/u32-strcpy.c: New file.
71475         * lib/unistr/u-strcpy.h: New file.
71476
71477         * modules/unistr/u8-strcspn: New file.
71478         * modules/unistr/u16-strcspn: New file.
71479         * modules/unistr/u32-strcspn: New file.
71480         * lib/unistr/u8-strcspn.c: New file.
71481         * lib/unistr/u16-strcspn.c: New file.
71482         * lib/unistr/u32-strcspn.c: New file.
71483         * lib/unistr/u-strcspn.h: New file.
71484
71485         * modules/unistr/u8-strdup: New file.
71486         * modules/unistr/u16-strdup: New file.
71487         * modules/unistr/u32-strdup: New file.
71488         * lib/unistr/u8-strdup.c: New file.
71489         * lib/unistr/u16-strdup.c: New file.
71490         * lib/unistr/u32-strdup.c: New file.
71491         * lib/unistr/u-strdup.h: New file.
71492
71493         * modules/unistr/u8-strlen: New file.
71494         * modules/unistr/u16-strlen: New file.
71495         * modules/unistr/u32-strlen: New file.
71496         * lib/unistr/u8-strlen.c: New file.
71497         * lib/unistr/u16-strlen.c: New file.
71498         * lib/unistr/u32-strlen.c: New file.
71499         * lib/unistr/u-strlen.h: New file.
71500
71501         * modules/unistr/u8-strmblen: New file.
71502         * modules/unistr/u16-strmblen: New file.
71503         * modules/unistr/u32-strmblen: New file.
71504         * lib/unistr/u8-strmblen.c: New file.
71505         * lib/unistr/u16-strmblen.c: New file.
71506         * lib/unistr/u32-strmblen.c: New file.
71507
71508         * modules/unistr/u8-strmbtouc: New file.
71509         * modules/unistr/u16-strmbtouc: New file.
71510         * modules/unistr/u32-strmbtouc: New file.
71511         * lib/unistr/u8-strmbtouc.c: New file.
71512         * lib/unistr/u16-strmbtouc.c: New file.
71513         * lib/unistr/u32-strmbtouc.c: New file.
71514
71515         * modules/unistr/u8-strncat: New file.
71516         * modules/unistr/u16-strncat: New file.
71517         * modules/unistr/u32-strncat: New file.
71518         * lib/unistr/u8-strncat.c: New file.
71519         * lib/unistr/u16-strncat.c: New file.
71520         * lib/unistr/u32-strncat.c: New file.
71521         * lib/unistr/u-strncat.h: New file.
71522
71523         * modules/unistr/u8-strncmp: New file.
71524         * modules/unistr/u16-strncmp: New file.
71525         * modules/unistr/u32-strncmp: New file.
71526         * lib/unistr/u8-strncmp.c: New file.
71527         * lib/unistr/u16-strncmp.c: New file.
71528         * lib/unistr/u32-strncmp.c: New file.
71529
71530         * modules/unistr/u8-strncpy: New file.
71531         * modules/unistr/u16-strncpy: New file.
71532         * modules/unistr/u32-strncpy: New file.
71533         * lib/unistr/u8-strncpy.c: New file.
71534         * lib/unistr/u16-strncpy.c: New file.
71535         * lib/unistr/u32-strncpy.c: New file.
71536         * lib/unistr/u-strncpy.h: New file.
71537
71538         * modules/unistr/u8-strnlen: New file.
71539         * modules/unistr/u16-strnlen: New file.
71540         * modules/unistr/u32-strnlen: New file.
71541         * lib/unistr/u8-strnlen.c: New file.
71542         * lib/unistr/u16-strnlen.c: New file.
71543         * lib/unistr/u32-strnlen.c: New file.
71544         * lib/unistr/u-strnlen.h: New file.
71545
71546         * modules/unistr/u8-strpbrk: New file.
71547         * modules/unistr/u16-strpbrk: New file.
71548         * modules/unistr/u32-strpbrk: New file.
71549         * lib/unistr/u8-strpbrk.c: New file.
71550         * lib/unistr/u16-strpbrk.c: New file.
71551         * lib/unistr/u32-strpbrk.c: New file.
71552         * lib/unistr/u-strpbrk.h: New file.
71553
71554         * modules/unistr/u8-strrchr: New file.
71555         * modules/unistr/u16-strrchr: New file.
71556         * modules/unistr/u32-strrchr: New file.
71557         * lib/unistr/u8-strrchr.c: New file.
71558         * lib/unistr/u16-strrchr.c: New file.
71559         * lib/unistr/u32-strrchr.c: New file.
71560
71561         * modules/unistr/u8-strspn: New file.
71562         * modules/unistr/u16-strspn: New file.
71563         * modules/unistr/u32-strspn: New file.
71564         * lib/unistr/u8-strspn.c: New file.
71565         * lib/unistr/u16-strspn.c: New file.
71566         * lib/unistr/u32-strspn.c: New file.
71567         * lib/unistr/u-strspn.h: New file.
71568
71569         * modules/unistr/u8-strstr: New file.
71570         * modules/unistr/u16-strstr: New file.
71571         * modules/unistr/u32-strstr: New file.
71572         * lib/unistr/u8-strstr.c: New file.
71573         * lib/unistr/u16-strstr.c: New file.
71574         * lib/unistr/u32-strstr.c: New file.
71575         * lib/unistr/u-strstr.h: New file.
71576
71577         * modules/unistr/u8-strtok: New file.
71578         * modules/unistr/u16-strtok: New file.
71579         * modules/unistr/u32-strtok: New file.
71580         * lib/unistr/u8-strtok.c: New file.
71581         * lib/unistr/u16-strtok.c: New file.
71582         * lib/unistr/u32-strtok.c: New file.
71583         * lib/unistr/u-strtok.h: New file.
71584
71585         * modules/unistr/u8-uctomb: New file.
71586         * modules/unistr/u16-uctomb: New file.
71587         * modules/unistr/u32-uctomb: New file.
71588         * lib/unistr/u8-uctomb.c: New file.
71589         * lib/unistr/u16-uctomb.c: New file.
71590         * lib/unistr/u32-uctomb.c: New file.
71591
71592         * MODULES.html.sh (Unicode string functions): Add the new modules.
71593
71594 2007-01-08  Bruno Haible  <bruno@clisp.org>
71595
71596         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
71597         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
71598         subdirectories.
71599
71600 2007-01-08  Karl Berry  <karl@gnu.org>
71601
71602         * doc/error.texi: mention that main() fns must set program_name
71603         when progname is used.
71604
71605 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
71606
71607         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
71608         WCTYPE_H is empty, for the benefit of builds from non-distclean
71609         directories.  Problem reported by Eric Blake in
71610         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
71611
71612 2007-01-08  Bruno Haible  <bruno@clisp.org>
71613
71614         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
71615         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
71616         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
71617         PROVIDE_CANONICALIZE_FILENAME_MODE.
71618         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
71619
71620 2007-01-08  Bruno Haible  <bruno@clisp.org>
71621
71622         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
71623         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
71624         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
71625         * lib/fts.c: Likewise.
71626         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
71627
71628 2006-12-25  Bruno Haible  <bruno@clisp.org>
71629
71630         * modules/utf8-ucs4-safe: New file.
71631         * lib/utf8-ucs4-safe.h: New file.
71632         * lib/unistr/utf8-ucs4-safe.c: New file.
71633
71634         * modules/utf16-ucs4-safe: New file.
71635         * lib/utf16-ucs4-safe.h: New file.
71636         * lib/unistr/utf16-ucs4-safe.c: New file.
71637
71638         * MODULES.html.sh (Unicode string functions): Add the new modules.
71639
71640 2007-01-08  Bruno Haible  <bruno@clisp.org>
71641
71642         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
71643         (Depends-on): Add unitypes.
71644         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
71645         (u8_mbtouc_aux): Move out to separate file.
71646         (u8_mbtouc): Use ucs4_t, uint8_t types.
71647         * lib/unistr/utf8-ucs4.c: New file.
71648
71649         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
71650         (Depends-on): Add unitypes.
71651         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
71652         (u16_mbtouc_aux): Move out to separate file.
71653         (u16_mbtouc): Use ucs4_t, uint16_t types.
71654         * lib/unistr/utf16-ucs4.c: New file.
71655
71656         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
71657         (Depends-on): Add unitypes.
71658         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
71659         (u8_uctomb_aux): Move out to separate file.
71660         (u8_uctomb): Use ucs4_t, uint8_t types.
71661         * lib/unistr/ucs4-utf8.c: New file.
71662
71663         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
71664         (Depends-on): Add unitypes.
71665         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
71666         (u16_uctomb_aux): Move out to separate file.
71667         (u16_uctomb): Use ucs4_t, uint16_t types.
71668         * lib/unistr/ucs4-utf16.c: New file.
71669
71670 2006-12-25  Bruno Haible  <bruno@clisp.org>
71671
71672         * modules/unitypes: New file.
71673         * lib/unitypes.h: New file.
71674         * MODULES.html.sh (func_all_modules): New section "Unicode string
71675         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
71676         this section. Add unitypes.
71677
71678 2007-01-08  Bruno Haible  <bruno@clisp.org>
71679
71680         Avoid variable names that conflict with those from libtool.
71681         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
71682         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
71683         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
71684         library_names_spec to acl_library_names_spec, hardcode_* to
71685         acl_hardcode_*.
71686         Reported by Ralf Wildenhues.
71687
71688 2007-01-08  Bruno Haible  <bruno@clisp.org>
71689
71690         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
71691         definition.
71692         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
71693         definition.
71694         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
71695         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
71696         definition.
71697         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
71698         definition.
71699         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
71700         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
71701         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
71702         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
71703         definition.
71704         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
71705         definition.
71706         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
71707         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
71708         GC_USE_<algorithm>.
71709         * lib/gc-libgcrypt.c: Likewise.
71710         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
71711         * modules/gc-arctwo (configure.ac): Likewise.
71712         * modules/gc-des (configure.ac): Likewise.
71713         * modules/gc-hmac-md5 (configure.ac): Likewise.
71714         * modules/gc-hmac-sha1 (configure.ac): Likewise.
71715         * modules/gc-md2 (configure.ac): Likewise.
71716         * modules/gc-md4 (configure.ac): Likewise.
71717         * modules/gc-md5 (configure.ac): Likewise.
71718         * modules/gc-random (configure.ac): Likewise.
71719         * modules/gc-rijndael (configure.ac): Likewise.
71720         * modules/gc-sha1 (configure.ac): Likewise.
71721
71722 2007-01-08  Bruno Haible  <bruno@clisp.org>
71723
71724         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
71725         macro definition.
71726         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
71727         definition.
71728         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
71729         definition.
71730         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
71731         * modules/fcntl-safer (configure.ac): Likewise.
71732         * modules/fopen-safer (configure.ac): Likewise.
71733         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
71734         GNULIB_FWRITEERROR macro definition.
71735
71736 2007-01-08  Bruno Haible  <bruno@clisp.org>
71737
71738         * m4/gnulib-common.m4: New file.
71739         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
71740         (func_get_filelist): Add m4/gnulib-common.m4.
71741
71742 2007-01-08  Bruno Haible  <bruno@clisp.org>
71743
71744         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
71745         command.
71746
71747 2007-01-08  Jim Meyering  <jim@meyering.net>
71748
71749         Use a more robust test for a "can't happen" condition.
71750         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
71751         narrowed the st_size value.  Presuming the "can't happen" condition
71752         is true, that narrowing could conceivably convert an invalid st_size
71753         value into a valid one.  Instead, use a change based on Matthew
71754         Woehlke's original patch.
71755
71756         Slight readability improvement: use an assert-like macro
71757         in place of literal "abort ()" uses.
71758         * lib/fts.c (fts_assert): Define.
71759         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
71760         Use this macro instead of a bare 'abort'.
71761
71762 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
71763
71764         Don't worry about using IRIX 5.3's wctype.h broken definitions;
71765         simply work around them.
71766         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
71767         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
71768         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
71769         declaring.
71770         Don't bother to define as macros, since the standard doesn't require it.
71771         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
71772         longer worry about IRIX 5.3.
71773         (HAVE_WCTYPE_CTMP_BUG): Remove.
71774
71775 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
71776
71777         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
71778         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
71779         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
71780         Problems reported by Georg Schwarz for IRIX 5.3.
71781
71782         * gnulib-tool (autoconf_minversion): Take the maximum version number
71783         found, not the minimum.  Problem reported by James Youngman.
71784
71785 2007-01-03  Karl Berry  <karl@gnu.org>
71786
71787         * doc/error.texi: new file, explaining interaction with progname.
71788         * doc/gnulib.texi: include it.  Update copyright.
71789
71790 2007-01-03  Simon Josefsson  <simon@josefsson.org>
71791
71792         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
71793         AC_CANONICAL_HOST, to improve autobuild outputs.
71794
71795 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
71796             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
71797
71798         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
71799         sockets, server sockets, and other file descriptors.  Count errors
71800         to compute the return value.  Reorder the code a bit to be easier
71801         to follow.  Don't set event bits that were not requested (except
71802         POLLERR and POLLHUP).
71803
71804 2007-01-01  Bruno Haible  <bruno@clisp.org>
71805
71806         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
71807
71808 2007-01-03  Jim Meyering  <jim@meyering.net>
71809
71810         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
71811
71812 2007-01-02  Bruno Haible  <bruno@clisp.org>
71813
71814         * modules/settime (Include): Require timespec.h.
71815         * modules/nanosleep (Include): Likewise.
71816
71817 2007-01-01  Bruno Haible  <bruno@clisp.org>
71818
71819         * gnulib-tool (func_emit_copyright_notice): Bump year.
71820         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
71821
71822 2007-01-01  Bruno Haible  <bruno@clisp.org>
71823
71824         Improve support for OpenBSD.
71825         * build-aux/config.rpath (libname_spec): Export.
71826         (library_names_spec): New variable. Export.
71827         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
71828         library_names_spec from the config.rpath output. Locate shared library
71829         through the name pattern in library_names_spec.
71830
71831 2007-01-01  Eric Blake  <ebb9@byu.net>
71832
71833         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
71834
71835 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
71836
71837         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
71838         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
71839         assume the C locale, and avoid an "eval" that could cause trouble.
71840         Problem with SORT reported by Bob Proulx.
71841
71842         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
71843         Define.  Trivial patch from Henning Nielsen Lund, originally
71844         sent to bug-grep@gnu.org today.
71845
71846 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
71847
71848         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
71849         struct stat.  Problem reported by Henning Nielsen Lund.
71850         * lib/acl.c: Include acl.h first, to check interface.  Don't
71851         bother to include sys/types.h and sys/stat.h again.
71852
71853 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
71854
71855         Import the following change from libc; problem reported by
71856         Sven Verdoolaege.
71857
71858         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
71859
71860         [BZ #1373]
71861         * lib/argp.h: Remove __NTH for __argp_usage inline function.
71862
71863 2006-12-28  Jim Meyering  <jim@meyering.net>
71864
71865         * build-aux/announce-gen: Do not assume that the package
71866         builds any of tar.gz, tar.bz2, and .xdelta files.
71867         Suggestion from Simon Josefsson.
71868
71869 2006-12-28  Simon Josefsson  <simon@josefsson.org>
71870
71871         * modules/announce-gen: New file.
71872
71873 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
71874
71875         * lib/mbchar.h: Just include <wctype.h>; the wctype module
71876         handles its gotchas now.
71877         * lib/mbswidth.c: Likewise.
71878         * lib/wcwidth.h: Likewise.
71879         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
71880         and iswcntrl; the wctype module does this stuff now.
71881         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
71882         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
71883         * modules/mbchar (Depends-on): Add wctype.
71884         * modules/mbswidth (Depends-on): Likewise.
71885         * modules/wcwidth (Depends-on): Likewise.
71886
71887 2006-12-27  Eric Blake  <ebb9@byu.net>
71888
71889         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
71890         module uses more than what <wctype.h> is required to provide.
71891
71892 2006-12-26  Eric Blake  <ebb9@byu.net>
71893
71894         * gnulib-tool (sed_extract_prog): Avoid space-tab.
71895
71896 2006-12-26  Eric Blake  <ebb9@byu.net>
71897
71898         * modules/absolute-header: New module.
71899         * modules/fcntl (Depends-on): Depend on it.
71900         * modules/inttypes (Depends-on): Likewise.
71901         * modules/stdint (Depends-on): Likewise.
71902         * modules/sys_stat (Depends-on): Likewise.
71903         * modules/wctype (Depends-on): Likewise.
71904         * MODULES.html.sh (Support for building libraries and
71905         executables): Document it.
71906
71907 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
71908
71909         * gnulib-tool (SED): Remove, undoing previous change.
71910         The problem was that it broke coreutils on Solaris, because
71911         "sed --posix" leaked into a makefile.
71912         (sed): New alias, if 'alias' and GNU sed.
71913
71914 2006-12-24  Jim Meyering  <jim@meyering.net>
71915
71916         Work around an fchownat bug in glibc-2.4:
71917         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
71918         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
71919         in spite of the -P option.
71920         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
71921         New macros.
71922         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
71923         * modules/openat (Files): Add lib/fchownat.c.
71924         * lib/openat.c (fchownat): Don't define here.  Move to...
71925         * lib/fchownat.c: ...this new file.
71926
71927 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
71928
71929         Fix bug reported by Bruno Haible in
71930         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
71931         where quotearg.c didn't compile on Mac OS X 10.2 because it
71932         lacks <wchar.h> and wint_t.
71933         * lib/wctype_.h (__wctype_wint_t): New type.
71934         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
71935         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
71936         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
71937         Arg is now of type __wctype_wint_t, not wint_t.
71938         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
71939         substitute HAVE_WINT_T.
71940         * modules/wctype (Files): Add m4/wint_t.m4.
71941         (wctype.h): Substitute HAVE_WINT_T.
71942
71943 2006-12-23  Bruno Haible  <bruno@clisp.org>
71944
71945         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
71946
71947 2006-12-23  Bruno Haible  <bruno@clisp.org>
71948
71949         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
71950         S_ISLNK.
71951         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
71952         mingw.
71953
71954 2006-12-22  Bruno Haible  <bruno@clisp.org>
71955
71956         * lib/copy-file.c: Include acl.h.
71957         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
71958         Close the file descriptors only after being done with copy_acl.
71959         * modules/copy-file (Depends-on): Add acl.
71960
71961 2006-12-22  Bruno Haible  <bruno@clisp.org>
71962
71963         * gnulib-tool (SED): New variable.
71964         Use $SED instead of sed everywhere.
71965
71966 2006-12-22  Bruno Haible  <bruno@clisp.org>
71967
71968         * modules/no-c++: New file.
71969         * m4/no-c++.m4: New file.
71970         * MODULES.html.sh (Support for building libraries and executables):
71971         Add no-c++.
71972
71973 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
71974
71975         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
71976         Include <limits.h>, and use its INT_MAX to rewrite the
71977         j loop so that it does not overflow 'int'.  Problem reported by
71978         Ralf Wildenhues in
71979         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
71980         Play it safe by shifting left by 1 rather than multiplying by 2,
71981         as GCC is less likely to optimize this away when the value
71982         is signed (when it assumes overflow leads to undefined behavior).
71983         Also, don't assume time_t uses two's complement.
71984
71985 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
71986
71987         * MODULES.html.sh: New module wctype.
71988         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
71989         * lib/fnmatch.c: Don't bother to include <wchar.h> before
71990         <wctype.h>, since the new wctype module should fix this.
71991         * lib/quotearg.c: Include <wctype.h> unconditionally, since
71992         the wctype module should arrange for it.
71993         * lib/regex_internal.h: Likewise.
71994         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
71995         since the wctype module should handle this now.
71996         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
71997         * modules/fnmatch (Depends-on): Add wctype.
71998         * modules/quotearg (Depends-on): Likewise.
71999         * modules/regex (Depends-on): Likewise.
72000
72001 2006-12-19  Bruno Haible  <bruno@clisp.org>
72002
72003         * lib/strdup.h [C++]: Wrap definitions in extern "C".
72004         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
72005
72006 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72007
72008         * modules/savewd (Depends-on): Fix dependency on fcntl.
72009
72010 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
72011
72012         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
72013         conforms to C99, rather than relying on the user's environment
72014         setting of STDINT_H.
72015
72016 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
72017         and Eric Blake  <ebb9@byu.net>
72018
72019         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
72020         This is more consistent with the other defines here.
72021         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
72022         Port to z/OS.  Problem reported by Paul Gilmartin.
72023         Change local vars to use gl_ prefix rather than ac_.
72024         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
72025         with other defines.
72026         * modules/double-slash-root: New module.
72027         * modules/dirname (Files): Remove m4/double-slash-root.m4.
72028         (Depends-on): Add double-slash-root.
72029         * MODULES.html.sh (File system functions): Mention new module.
72030
72031 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
72032
72033         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
72034         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
72035         This is for the benefit of gzip, which doesn't do i18n.
72036
72037 2006-12-12  Jim Meyering  <jim@meyering.net>
72038
72039         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
72040         Reported by Andreas Schwab <schwab@suse.de>.
72041
72042 2006-12-12  Bruno Haible  <bruno@clisp.org>
72043
72044         Merge these changes.
72045         2006-09-05  Bruno Haible  <bruno@clisp.org>
72046         * lib/iconvme.c (iconv_string): No need to save and restore errno when
72047         iconv_alloc succeeded.
72048         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
72049         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
72050         test for " && dest " at the end - dest is always != NULL there. Call
72051         iconv with 4xNULL arguments initially, to reset the state. Call iconv
72052         with 2xNULL arguments, also to flush the state storage. Handle the
72053         IRIX iconv behaviour. Realloc the final result, to throw away unused
72054         memory.
72055
72056 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
72057
72058         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
72059         and fchmodat unconditionally, since glibc 2.4 has them.
72060         Problem reported by Arkadiusz Miskiewicz.
72061
72062 2006-12-10  Bruno Haible  <bruno@clisp.org>
72063
72064         * gnulib-tool (func_import): Show the include files only for those
72065         modules that are copied and specified.
72066         Reported by Karl Berry.
72067
72068 2006-12-08  Jim Meyering  <jim@meyering.net>
72069
72070         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
72071         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
72072
72073         * build-aux/announce-gen: Add two new options, both optional:
72074         --bootstrap-tools=TOOL_LIST
72075               a comma-separated list of tools, e.g.,
72076               autoconf,automake,bison,gnulib
72077         --gnulib-snapshot-date=DATE
72078               if gnulib is in the bootstrap tool list,
72079               then report this as the snapshot date.
72080               If not specified, use the current date/time.
72081               If you specify a date here, be sure it's UTC.
72082
72083 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72084
72085         * tests/test-argp-2.sh: Fix test to match actual output.
72086         (func_compare): Fix sed script to be portable.
72087
72088 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
72089
72090         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
72091         workaround for this case.  It is not autoconfigured now; offhand
72092         it's hard to see how to autoconfigure it.
72093
72094 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
72095
72096         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
72097         a directory that is about to be chowned.  Such a directory's
72098         initial file permissions should permit the owner only and this
72099         should not be changed until after the chown, since the group and
72100         other bits would be incorrect if they granted permission before
72101         the chown.
72102
72103         Fix porting problem for iswctype reported by Georg Schwarz in:
72104         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
72105         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
72106         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
72107         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
72108         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
72109
72110 2006-12-03  Jim Meyering  <jim@meyering.net>
72111
72112         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
72113         p->fts_statp may not yet be defined.
72114         (fts_read): Instead, set it in the caller, once p->fts_statp is
72115         sure to be defined, and corresponds to a top-level directory.
72116         This bug made du -x fail.  Here's the coreutils test case:
72117         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
72118         Reported by Mike Frysinger.
72119
72120 2006-12-01  Jim Meyering  <jim@meyering.net>
72121
72122         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
72123         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
72124         Reported by Simon Josefsson.
72125
72126 2006-11-30  Jim Meyering  <jim@meyering.net>
72127
72128         * m4/warning.m4: Use the all-permissive copyright notice
72129         recommended by RMS (rather than LGPL).
72130         * m4/vararrays.m4: Likewise.
72131         * m4/flexmember.m4: Likewise.
72132
72133 2006-11-29  Bruno Haible  <bruno@clisp.org>
72134
72135         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
72136         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
72137         using +=.
72138         Reported by Simon Josefsson <simon@josefsson.org>.
72139
72140 2006-11-28  James Youngman <jay@gnu.org>
72141
72142         * README: Advise users that they might find the bug-gnulib@gnu.org
72143         and autotools-announce@gnu.org mailing lists useful.
72144
72145 2006-11-28  Bruno Haible  <bruno@clisp.org>
72146
72147         * m4/ptrdiff_max.m4: Remove file.
72148
72149 2006-11-21  Bruno Haible  <bruno@clisp.org>
72150
72151         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
72152         _AC_COMPUTE_INT.
72153         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
72154         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
72155         _AC_COMPUTE_INT.
72156         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
72157         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
72158         _AC_COMPUTE_INT.
72159         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
72160
72161 2006-11-28  Jim Meyering  <jim@meyering.net>
72162
72163         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
72164         warning from "gcc -Wshadow" about shadowing the builtin.
72165
72166 2006-11-27  Bruno Haible  <bruno@clisp.org>
72167
72168         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
72169         _AC_COMPUTE_INT.
72170         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
72171
72172 2006-11-27  Bruno Haible  <bruno@clisp.org>
72173             Paul Eggert  <eggert@cs.ucla.edu>
72174
72175         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
72176
72177 2006-11-26  Bruno Haible  <bruno@clisp.org>
72178
72179         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
72180         noinst_LTLIBRARIES.
72181
72182 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
72183             Bruno Haible  <bruno@clisp.org>
72184
72185         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
72186         if compiling with "gcc -ansi".
72187
72188 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
72189
72190         Fix some incompatibilities with gcc -ansi -pedantic.
72191         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
72192         if compiling pedantically with GCC, unless it's C99 or later.
72193         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
72194         it mishandles gcc -ansi -pedantic as well.
72195         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
72196         if gcc -pedantic.
72197         * lib/regexec.c (check_node_accept_bytes): Don't use auto
72198         initializers for struct if -pedantic, unless it's C99 or later.
72199
72200 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
72201
72202         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
72203         Don't close an fd more than once. Identical atimes indicate
72204         success, not failure.
72205
72206 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
72207
72208         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
72209
72210 2006-11-23  Jim Meyering  <jim@meyering.net>
72211
72212         * build-aux/announce-gen: New file.  From coreutils.
72213
72214 2006-11-22  Jim Meyering  <jim@meyering.net>
72215
72216         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
72217         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
72218         (fts_read): Use a temporary to narrow the overused st_size member
72219         before using it in a switch statement.  Reported by Matthew Woehlke.
72220
72221         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
72222         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
72223
72224 2006-11-20  Bruno Haible  <bruno@clisp.org>
72225
72226         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
72227         changequote instead of pairs of brackets.
72228         Reported by Andreas Schwab <schwab@suse.de>.
72229
72230 2006-11-21  Jim Meyering  <jim@meyering.net>
72231
72232         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
72233         so as to remain compatible with older compilers.
72234         Patch from Michael Deutschmann.
72235
72236 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
72237
72238         * MODULES.html.sh (File system functions): Add openat.
72239
72240         * lib/openat.h (rpl_fstatat): New macro, if
72241         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
72242         (fstatat): Define to rpl_fstatat under the same conditions,
72243         unless COMPILING_FSTATAT.
72244         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
72245         seems to have the bug.
72246         * lib/fstatat.c: New file.
72247         * modules/openat (Files): Add it.
72248
72249 2006-11-20  Bruno Haible  <bruno@clisp.org>
72250
72251         * Makefile: New file.
72252
72253 2006-11-20  Jim Meyering  <jim@meyering.net>
72254
72255         The beginnings of syntax-related checks for gnulib.
72256         * lib/Makefile: New file.
72257         * lib/t-idcache: New script.  Ensure that the two halves of
72258         idcache.c stay in sync.
72259
72260         * lib/idcache.c: Adjust comments in user- and group- portions to
72261         be more accurate, and to be consistent with one another.
72262
72263 2006-11-20  Jim Meyering  <jim@meyering.net>
72264
72265         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
72266         continue using the flexible array member (thus, this module performs
72267         half as many malloc calls), with the addition that...
72268         (getgroup, getuser): Consistently record a non-match via an empty
72269         "name" string, and map an empty string match to a NULL return value.
72270         * modules/idcache (Depends-on): Re-add flexmember.
72271
72272         * lib/idcache.c (getuser): Remove all uses of the register keyword.
72273         (getuidbyname, getgroup, getgidbyname): Likewise.
72274
72275         Use cleaner syntax: NULL rather than 0.
72276         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
72277
72278 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
72279
72280         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
72281         It mishandled the case where the group was missing.
72282         Problem reported by Greg Schafer.
72283         * modules/idcache: Likewise.
72284
72285 2006-11-18  Jim Meyering  <jim@meyering.net>
72286
72287         * check-module (%exempt_header): Add exception for some
72288         conditionally-included headers.
72289
72290         * modules/i-ring (Depends-on): Add verify.
72291         (License): Change to LGPL.
72292
72293 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
72294
72295         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
72296         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
72297         and inttostr.h.  Use snprintf rather than uinttostr, so that
72298         LGPLed code doesn't depend on GPLed.
72299
72300 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
72301
72302         * modules/inline (License): Change from GPL to LGPL.
72303
72304 2006-11-17  Jim Meyering  <jim@meyering.net>
72305
72306         * modules/d-type (License): Switch to LGPL.
72307
72308 2006-11-15  Bruno Haible  <bruno@clisp.org>
72309
72310         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
72311
72312 2006-11-15  Eric Blake  <ebb9@byu.net>
72313
72314         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
72315         the module dependency.
72316
72317 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72318             Bruno Haible  <bruno@clisp.org>
72319
72320         * gnulib-tool (func_create_testdir): Add license consistency check.
72321
72322 2006-11-15  Eric Blake  <ebb9@byu.net>
72323
72324         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
72325         random "(cached)" in configure output.
72326
72327 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72328
72329         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
72330         test for conforming inttypes.h is both announced and cached.
72331
72332         * MODULES.html.sh (seen_modules, seen_files): New variables.
72333         (func_module): Rewrite to use a few less gnulib-tool and sed
72334         invocations.  Avoid a couple of quadratic algorithms for ...
72335         (missed_modules, missed_files): ... these, with ...
72336         (func_append, func_tmpdir): ... these new functions, from
72337         gnulib-tool.  Analogously, install traps for cleanup.
72338
72339         * tests/test-gc.c (main): Remove unused variables.
72340         * tests/test-read-file.c: Include stdlib.h, for 'free'.
72341
72342 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
72343
72344         * modules/inttostr (License): Change to LGPL.
72345
72346 2006-11-14  Eric Blake  <ebb9@byu.net>
72347
72348         * modules/tempname (License): Change to LGPL.
72349
72350 2006-11-14  Eric Blake  <ebb9@byu.net>
72351
72352         * doc/functions.texi (Function Portability): *printf functions on
72353         Cygwin now understand all POSIX size specifiers.
72354
72355 2006-11-14  Bruno Haible  <bruno@clisp.org>
72356
72357         * modules/c-ctype (License): Change to LGPL.
72358
72359 2006-11-12  Bruno Haible  <bruno@clisp.org>
72360
72361         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
72362         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
72363         for GNOME libraries, for which the include files are installed in
72364         subdirectories of $prefix/include.
72365
72366 2006-11-12  Bruno Haible  <bruno@clisp.org>
72367
72368         * m4/lib-link.m4: Require at least autoconf-2.54.
72369         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
72370         name to underscores for the --with option.
72371
72372 2006-11-13  Bruno Haible  <bruno@clisp.org>
72373
72374         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
72375         the tests directory.
72376         Reported by Ralf Wildenhues.
72377
72378 2006-11-13  Bruno Haible  <bruno@clisp.org>
72379
72380         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
72381         (func_emit_initmacro_end): Undo the override here.
72382         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
72383         Works around the famous automake error in coreutils.
72384
72385 2006-11-13  Eric Blake  <ebb9@byu.net>
72386
72387         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
72388         element, not its node.
72389
72390 2006-11-12  Bruno Haible  <bruno@clisp.org>
72391
72392         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
72393         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
72394
72395 2006-11-12  Bruno Haible  <bruno@clisp.org>
72396
72397         * gnulib-tool: New option --local-symlink.
72398         (func_usage): Document it.
72399         (lsymbolic): New variable.
72400         (func_import, func_create_testdir): If --symlink was not specified,
72401         test whether --local-symlink was specified and the file comes from
72402         the local_gnulib_dir.
72403
72404 2006-11-12  Bruno Haible  <bruno@clisp.org>
72405
72406         * gnulib-tool (func_ln): New function.
72407         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
72408
72409 2006-11-12  Bruno Haible  <bruno@clisp.org>
72410
72411         Finish support for source files in subdirectories.
72412         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
72413         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
72414         AUTOMAKE_OPTIONS.
72415         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
72416
72417 2006-11-12  Bruno Haible  <bruno@clisp.org>
72418
72419         * gnulib-tool (func_get_automake_snippet): Synthesize also an
72420         EXTRA_lib_SOURCES augmentation.
72421         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
72422
72423 2006-11-12  Jim Meyering  <jim@meyering.net>
72424
72425         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
72426         file descriptors.  This also averts a failure on systems with
72427         native openat support when a traversed directory lacks "x" access.
72428         * lib/fts_.h: Include "i-ring.h"
72429         (struct FTS) [fts_fd_ring]: New member.
72430         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
72431         (FCHDIR): Add parentheses.
72432         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
72433         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
72434         When descending, rather than simply closing the previous
72435         fts_cwd_fd value, push that file descriptor onto the ring.
72436         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
72437         (fts_open): Initialize the new fd_ring member.
72438         (fts_close): Clear the ring.
72439         (fts_safe_changedir): When possible, use our new fd_ring to skip
72440         the diropen and fstat and dev/ino comparison that would normally
72441         accompany a virtual `chdir ("..")'.
72442
72443         * modules/fts (Depends-on): Add i-ring.
72444         * modules/i-ring: New module.
72445         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
72446         * m4/i-ring.m4: New file.
72447
72448 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72449
72450         * gnulib-tool (func_create_testdir): Fix replacement of
72451         `build-aux' in configure.ac.  Run autotools in gltests
72452         subdirectory.
72453         (func_create_testdir, func_create_megatestdir, test): There is
72454         no need for '--force' in most autotool invocations in a new
72455         tree.  Actually fail the whole test if any of the tools, or the
72456         configure or make stages fail.
72457
72458         Sync from Automake.
72459         * build-aux/gnupload: Revert last change.  Add pointer to upload
72460         instructions of the GNU Maintenance Instructions.
72461         Suggestion by Karl Berry.
72462
72463 2006-11-10  Jim Meyering  <jim@meyering.net>
72464
72465         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
72466
72467 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
72468
72469         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
72470         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
72471         (bind_textdomain_codeset) [! ENABLE_NLS]:
72472         Evaluate all the arguments.  That way, callers get compatible behavior
72473         if the arguments have side effects.  Also, it avoids some GCC
72474         diagnostics in some cases; Joel E. Denny reported problems when Bison
72475         was configured with --enable-gcc-warnigs.
72476
72477 2006-11-10  Jim Meyering  <jim@meyering.net>
72478
72479         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
72480         relevant options in CFLAGS (like -O, -fno-inline) are taken into
72481         account.
72482
72483 2006-11-10  Jim Meyering  <jim@meyering.net>
72484
72485         * modules/inline: New file/module.
72486         * modules/xalloc (Files): Remove m4/inline.m4.
72487         (Depends-on): Add inline, instead.
72488         * modules/oset: Likewise.
72489         * modules/list: Likewise.
72490
72491 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
72492
72493         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
72494         Problem reported by Matthew Woehlke.
72495
72496 2006-11-09  Bruno Haible  <bruno@clisp.org>
72497
72498         * lib/tempname.c (gen_tempname): Remove variant that invokes
72499         __gen_tempname.
72500         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
72501         __gen_tempname.
72502
72503 2006-11-08  Bruno Haible  <bruno@clisp.org>
72504
72505         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
72506         to 'yes' instead of 'cross-compiling'.
72507
72508 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
72509
72510         * lib/quotearg.h (quotearg_free): New decl.
72511         * lib/quotearg.c (quotearg_free): New function.
72512         (slot0, nslots, slotvec0, slotvec):
72513         Now file-scope so that quotearg_free can get at them.
72514
72515 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72516
72517         Sync from Automake.
72518         * build-aux/gnupload: Add missing 'gnu' to example URL.
72519         Report by Karl Berry.
72520
72521 2006-11-08  Bruno Haible  <bruno@clisp.org>
72522
72523         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
72524         Suggested by Paul Eggert.
72525
72526 2006-11-08  Jim Meyering  <jim@meyering.net>
72527
72528         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
72529         It's already included if !_LIBC.
72530         (fts_safe_changedir): Add a comment.
72531
72532 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
72533
72534         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
72535         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
72536         Matthew Woehlke.
72537
72538         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
72539         definitions up, to avoid colliding with change below.
72540         (static_inline) [HAVE_INLINE]: New macro.
72541         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
72542         Provide extern decls when !HAVE_INLINE.  Do not define unless
72543         static_inline is defined, either by us or by xmalloc.c.  Use
72544         static_inline rather than static inline.
72545         (XCALLOC): Optimize sizeof(T) = 1 case.
72546         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
72547
72548 2006-11-07  Bruno Haible  <bruno@clisp.org>
72549
72550         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
72551         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
72552         AC_C_INLINE.
72553         * modules/xalloc (Files): Add m4/inline.m4.
72554
72555 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72556
72557         * README: Fix typo.
72558         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
72559         (Miscellanous Notes): ...from this.
72560
72561 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
72562
72563         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
72564         Mention that offsetof should be used instead of sizeof.
72565         From Bruno Haible.
72566
72567 2006-11-07  Bruno Haible  <bruno@clisp.org>
72568
72569         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
72570
72571 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
72572
72573         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
72574         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
72575         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
72576         (gl_tree_add_before, gl_tree_add_after):
72577         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
72578         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
72579         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
72580         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
72581         (gl_linked_add_after, gl_linked_add_at): Likewise.
72582         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
72583         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
72584         (gl_tree_add_before, gl_tree_add_after): Likewise.
72585         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
72586         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
72587         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
72588
72589 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72590
72591         * lib/gl_oset.h: Use C comment style, not C++ comment style.
72592
72593 2006-11-06  Bruno Haible  <bruno@clisp.org>
72594
72595         * m4/inline.m4: New file.
72596         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
72597         * modules/list (Files): Add m4/inline.m4.
72598         * modules/oset (Files): Likewise.
72599
72600 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
72601
72602         * lib/idcache.c: Include <stddef.h>, for offsetof.
72603         (struct userid.name): Change from char * to a flexible array member.
72604         All uses changed.
72605         * modules/idcache (Depends-on): Add flexmember.
72606
72607         * MODULES.html.sh (Core language properties): New module flexmember.
72608         * modules/flexmember, m4/flexmember.m4: New files.
72609
72610         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
72611         inline functions that are identical with the old xnmalloc_inline,
72612         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
72613         that we can avoid some unnecessary integer multiplications and
72614         divisions in the common case where the element size is known at
72615         compile time.
72616         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
72617         needed.
72618         (xnboundedmalloc): Remove.
72619         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
72620         arguments, for consistency with rest of this header.
72621         (xcharalloc): Rewrite using XNMALLOC.
72622         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
72623         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
72624         versions have been moved to lib/xalloc.h and renamed to be the
72625         non-*_inline versions.
72626         (xmalloc, xrealloc): Implement without reference to the xnmalloc
72627         and xnrealloc functions, since those functions are now inline and
72628         now call us.
72629         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
72630         renaming described above.
72631         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
72632         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
72633         captures the dependency in AC_C_INLINE.
72634
72635         New module canonicalize-lgpl, proposed by Charles Wilson in
72636         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
72637         with a few small changes afterwards.
72638         * MODULES.html.sh (File system functions): New module
72639         canonicalize-lgpl.
72640         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
72641         and canonicalize_file_name.
72642         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
72643         * modules/canonicalize-lgpl: New files.
72644
72645 2006-11-05  Bruno Haible  <bruno@clisp.org>
72646
72647         * gnulib-tool (func_import, func_create_testdir): Create directories
72648         also for files in subdirectories of lib/.
72649
72650 2006-11-05  Bruno Haible  <bruno@clisp.org>
72651
72652         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
72653         ANSI C compliant.
72654
72655 2006-11-03  Bruno Haible  <bruno@clisp.org>
72656
72657         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
72658         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
72659         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
72660         (xnboundedmalloc): New inline function.
72661         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
72662         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
72663         xmalloc.
72664         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
72665         xmalloc.
72666         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
72667         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
72668         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
72669         xmalloc.
72670         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
72671         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
72672         xmalloc.
72673         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
72674         gl_tree_add_after): Use XMALLOC instead of xmalloc.
72675         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
72676         xmalloc.
72677         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
72678         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
72679         gl_tree_add_after): Use XMALLOC instead of xmalloc.
72680         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
72681         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
72682         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
72683         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
72684
72685 2006-11-03  Bruno Haible  <bruno@clisp.org>
72686
72687         * lib/c-ctype.h [C++]: Define functions without name mangling.
72688         * lib/fwriteerror.h [C++]: Likewise.
72689         * lib/gcd.h [C++]: Likewise.
72690         * lib/linebreak.h [C++]: Likewise.
72691
72692 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
72693
72694         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
72695         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
72696         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
72697         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
72698         Check for functions and headers just once.
72699         Check for declaration of canonicalize_file_name.
72700         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
72701
72702 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
72703
72704         * gnulib-tool (func_import): Fix typo in actioncmd.
72705
72706 2006-11-02  Bruno Haible  <bruno@clisp.org>
72707
72708         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
72709         newline sequence in the Makefile.am snippet as a space, like "make"
72710         does.
72711         Reported by Roger Persson <perrog@gmail.com>.
72712
72713 2006-11-01  Bruno Haible  <bruno@clisp.org>
72714
72715         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
72716         already declared in <string.h>.
72717         * lib/strcase.h (strncasecmp): Don't declare it if yes.
72718
72719 2006-11-01  Bruno Haible  <bruno@clisp.org>
72720
72721         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
72722         * lib/strcase.h: Include <string.h>.
72723         (strcasecmp): Define to rpl_strcasecmp here.
72724
72725 2006-11-01  Bruno Haible  <bruno@clisp.org>
72726
72727         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
72728
72729 2006-11-01  Eric Blake  <ebb9@byu.net>
72730
72731         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
72732
72733         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
72734
72735 2006-10-29  Bruno Haible  <bruno@clisp.org>
72736
72737         Make it compile in C++ mode.
72738         * lib/full-write.c (full_rw): Add a cast.
72739
72740 2006-11-01  Bruno Haible  <bruno@clisp.org>
72741
72742         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
72743         be POSIX compliant.
72744         Reported by Roger Persson <perrog@gmail.com>.
72745
72746 2006-11-01  Eric Blake  <ebb9@byu.net>
72747
72748         * lib/getopt_.h: Fix comments.
72749
72750 2006-10-31  Eric Blake  <ebb9@byu.net>
72751
72752         * modules/tmpdir (Depends-on): Add sys_stat.
72753         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
72754         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
72755         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
72756         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
72757         tempname.
72758
72759 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
72760
72761         Avoid some C++ diagnostics reported by Bruno Haible.
72762         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
72763         xmalloc.
72764         (quotearg_alloc): Use xcharalloc rather than xmalloc.
72765         (struct slotvec): Move to top level.
72766         (quotearg_n_options): Rewrite to avoid xmalloc.
72767         * lib/xalloc.h (xcharalloc): New function.
72768         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
72769         [defined __cplusplus]: Add function template that provides result
72770         type propagation.  This part of the change is from Bruno Haible.
72771
72772 2006-10-29  Bruno Haible  <bruno@clisp.org>
72773
72774         Make it compile in C++ mode.
72775         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
72776         * lib/strnlen1.c (strnlen1): Cast memchr result.
72777         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
72778         * lib/clean-temp.c (string_equals, string_hash): Add casts.
72779         (create_temp_dir): Rename local variable 'template'.
72780         (compile_csharp_using_sscli): Add cast.
72781         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
72782         * lib/findprog.c (find_in_path): Likewise.
72783         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
72784         * lib/wait-process.c (register_slave_subprocess): Likewise.
72785
72786 2006-10-22  Bruno Haible  <bruno@clisp.org>
72787
72788         * modules/tsearch: New file.
72789         * lib/tsearch.h: New file.
72790         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
72791         * m4/tsearch.m4: New file.
72792         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
72793
72794 2006-10-29  Eric Blake  <ebb9@byu.net>
72795
72796         * lib/arcfour.c: Assume config.h.
72797         * lib/arctwo.c: Likewise.
72798         * lib/base64.c: Likewise.
72799         * lib/check-version.c: Likewise.
72800         * lib/crc.c: Likewise.
72801         * lib/des.c: Likewise.
72802         * lib/gc-gnulib.c: Likewise.
72803         * lib/gc-libgcrypt.c: Likewise.
72804         * lib/gc-pbkdf2-sha1.c: Likewise.
72805         * lib/getaddrinfo.c: Likewise.
72806         * lib/getdelim.c: Likewise.
72807         * lib/getline.c: Likewise.
72808         * lib/hmac-md5.c: Likewise.
72809         * lib/hmac-sha1.c: Likewise.
72810         * lib/iconvme.c: Likewise.
72811         * lib/md2.c: Likewise.
72812         * lib/md4.c: Likewise.
72813         * lib/memxor.c: Likewise.
72814         * lib/read-file.c: Likewise.
72815         * lib/readline.c: Likewise.
72816         * lib/rijndael-alg-fst.c: Likewise.
72817         * lib/rijndael-api-fst.c: Likewise.
72818         * lib/xgetdomainname.c: Likewise.
72819
72820 2006-10-28  Eric Blake  <ebb9@byu.net>
72821
72822         * lib/xstrndup.c: Assume config.h.
72823
72824 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
72825
72826         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
72827         stat-macros.h is now for our own macros, whereas stat_h is for
72828         macros in the <sys/stat.h> name space.
72829         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
72830         (STAT_MACROS_H): Remove.
72831         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
72832         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
72833         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
72834         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
72835         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
72836         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
72837         Move these macros to ...
72838         * lib/stat_.h: here.  Don't include stat-macros.h.
72839         * lib/canonicalize.c: Don't include stat-macros.h.
72840         * lib/chown.c: Likewise.
72841         * lib/euidaccess.c: Likewise.
72842         * lib/file-type.c: Likewise.
72843         * lib/filemode.c: Likewise.
72844         * lib/glob.c: Likewise.
72845         * lib/isapipe.c: Likewise.
72846         * lib/lchown.c: Likewise.
72847         * lib/lstat.c: Likewise.
72848         * lib/mkdir-p.c: Likewise.
72849         * lib/rmdir.c: Likewise.
72850         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
72851         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
72852         unless mkdir isn't declared, to speed up 'configure'.
72853         Always create sys/stat.h, since it's unlikely any real sys/stat.h
72854         would define all the S_* symbols.
72855         * modules/canonicalize (Depends-on):
72856         Depend on sys_stat, not stat-macros.
72857         * modules/chown: Likewise.
72858         * modules/euidaccess: Likewise.
72859         * modules/filemode: Likewise.
72860         * modules/file-type: Likewise.
72861         * modules/glob: Likewise.
72862         * modules/isapipe: Likewise.
72863         * modules/lchown: Likewise.
72864         * modules/lstat: Likewise.
72865         * modules/mkancesdirs: Likewise.
72866         * modules/rmdir: Likewise.
72867         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
72868         * modules/modechange: Likewise.
72869         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
72870         (configure.ac): Remove gl_STAT_MACROS.
72871         * modules/sys_stat (Depends-on): Remove stat-macros.
72872
72873 2006-10-27  Bruno Haible  <bruno@clisp.org>
72874
72875         * m4/signed.m4: Remove file.
72876         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
72877         invocation.
72878         * modules/vasnprintf (Files): Remove m4/signed.m4.
72879
72880 2006-10-27  Bruno Haible  <bruno@clisp.org>
72881
72882         Update to GNU gettext 0.16.
72883         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
72884         m4/inttypes-h.m4, m4/signed.m4.
72885         * m4/gettext.m4: Update to GNU gettext 0.16.
72886         * m4/intl.m4: New file, from GNU gettext.
72887         * m4/intldir.m4: New file, from GNU gettext.
72888         * config/srclist.txt: Update
72889
72890 2006-10-27  Eric Blake  <ebb9@byu.net>
72891
72892         * MODULES.html.sh: Document tempname.
72893         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
72894         dependencies.
72895         (Files): Move lib/tempname.c...
72896         * modules/tempname: ...to this new module.
72897         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
72898         (gl_PREREQ_TEMPNAME): Move...
72899         * m4/tempname.m4: ...to this new file.
72900         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
72901         * modules/sys_stat (Depends-on): Add stat-macros.
72902         * lib/stat_.h (includes): Pick up stat macros.
72903         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
72904         if stat macros are broken.
72905         * lib/tempname.c (includes): No need to include "stat-macros.h".
72906         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
72907         (direxists, __path_search) [!_LIBC]: Don't compile these in
72908         gnulib; the tmpdir module covers that.
72909         * lib/tempname.h: New file.
72910
72911 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
72912
72913         * COPYING: Explain how gnulib-tool converts licence headers.
72914         Almost all wording by Eric Blake.
72915
72916 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
72917
72918         * lib/mbchar.h (is_basic_table): Make read-only.
72919         * lib/mbchar.c (is_basic_table): Likewise.
72920         Reported by John Darrington.
72921
72922 2006-10-25  Bruno Haible  <bruno@clisp.org>
72923
72924         * lib/progname.h (set_program_name): Undefine before defining.
72925
72926 2006-10-25  Bruno Haible  <bruno@clisp.org>
72927
72928         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
72929         false for non-gcc C++ compilers.
72930         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
72931
72932 2006-10-24  Bruno Haible  <bruno@clisp.org>
72933
72934         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
72935         iconv implementations like Irix iconv.
72936
72937 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
72938
72939         * modules/vararrays: New file.
72940         * m4/vararrays.m4: New file, taken from diffutils.
72941         * MODULES.html.sh: New module vararrays.
72942
72943 2006-10-24  Karl Berry  <karl@gnu.org>
72944
72945         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
72946         Don't call GNU Unix.
72947
72948 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72949
72950         * users.txt: Add Libtool.
72951
72952         Sync from Libtool:
72953
72954         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
72955
72956         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
72957         to gnulib's policy of including config.h unconditionally.
72958
72959 2006-10-24  Bruno Haible  <bruno@clisp.org>
72960
72961         * modules/wcwidth (Files): Add m4/wint_t.m4.
72962         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
72963         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
72964
72965 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
72966
72967         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
72968         to pacify GCC with some -W flags enabled.  Problem reported by
72969         Bruno Haible.
72970
72971 2006-10-24  Jim Meyering  <jim@meyering.net>
72972
72973         * MODULES.html.sh: Remove uinttostr.  It's not a module.
72974         Reported by Karl Berry.
72975
72976 2006-10-23  Bruno Haible  <bruno@clisp.org>
72977
72978         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
72979
72980 2006-10-24  Bruno Haible  <bruno@clisp.org>
72981
72982         * lib/gl_list.h: Use C comment style, not C++ comment style.
72983
72984 2006-10-23  Eric Blake  <ebb9@byu.net>
72985
72986         * lib/getaddrinfo.c (includes): Add missing include.
72987
72988 2006-10-23  Bruno Haible  <bruno@clisp.org>
72989             Paul Eggert  <eggert@cs.ucla.edu>
72990
72991         Ability to rename obstack_free.
72992         * lib/obstack.h (__obstack_free): New macro. Declare instead of
72993         obstack_free.
72994         (obstack_free): Invoke the __obstack_free macro.
72995         * lib/obstack.c (obstack_free): Use __obstack_free macro.
72996
72997 2006-10-23  Bruno Haible  <bruno@clisp.org>
72998             Paul Eggert  <eggert@cs.ucla.edu>
72999
73000         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
73001         __argc, __argv from the declaration. (They are defined as macros on
73002         mingw.)
73003
73004 2006-10-22  Bruno Haible  <bruno@clisp.org>
73005
73006         * doc/gnulib-intro.texi: New file.
73007         * doc/gnulib.texi: Include it.
73008
73009 2006-10-21  Bruno Haible  <bruno@clisp.org>
73010
73011         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
73012         "Introduction", "Miscellanous Notes", "Particular Modules".
73013
73014 2006-10-21  Bruno Haible  <bruno@clisp.org>
73015
73016         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
73017         Change mostlyclean-local rule to avoid sh syntax error from bash
73018         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
73019
73020 2006-10-23  Jim Meyering  <jim@meyering.net>
73021
73022         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
73023         in place of snprintf.
73024
73025         * modules/inttostr (Files): Add lib/uinttostr.c.
73026         * lib/uinttostr.c (inttostr): New file/function.
73027         * lib/inttostr.h (uinttostr): Declare.
73028         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
73029         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
73030         Add uinttostr.
73031         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
73032
73033 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
73034
73035         * lib/canonicalize.c (ELOOP): Define if not already defined.
73036         Problem reported by Bruno Haible in
73037         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
73038
73039 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
73040
73041         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
73042         Problem reported by Perry Smith and Ville Laurikari.
73043
73044         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
73045         uses.
73046
73047 2006-10-19  Bruno Haible  <bruno@clisp.org>
73048
73049         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
73050         for mingw.
73051
73052 2006-10-19  Bruno Haible  <bruno@clisp.org>
73053
73054         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
73055         Needed for mingw.
73056
73057 2006-10-19  Bruno Haible  <bruno@clisp.org>
73058
73059         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
73060
73061 2006-10-19  Bruno Haible  <bruno@clisp.org>
73062
73063         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
73064         it.
73065
73066 2006-10-19  Bruno Haible  <bruno@clisp.org>
73067
73068         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
73069         invocation.
73070
73071 2006-10-19  Bruno Haible  <bruno@clisp.org>
73072
73073         * gnulib-tool (func_create_testdir): Don't include ftruncate and
73074         mountlist by default.
73075
73076 2006-10-16  Bruno Haible  <bruno@clisp.org>
73077
73078         * lib/c-strstr.c: Include c-strstr.h.
73079
73080 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
73081
73082         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
73083         in a slash.
73084
73085 2006-10-18  Bruno Haible  <bruno@clisp.org>
73086
73087         * lib/lock.h [C++]: Wrap definitions in extern "C".
73088
73089 2006-10-18  Bruno Haible  <bruno@clisp.org>
73090
73091         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
73092         gl_LIBOBJS list.
73093
73094 2006-10-18  Bruno Haible  <bruno@clisp.org>
73095
73096         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
73097
73098 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
73099
73100         * lib/xstrtol.h: Include gettext.h.
73101         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
73102         Problem reported by Eric Blake.
73103         * modules/xstrtol (Depends-on): Add gettext-h.
73104
73105 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
73106
73107         * lib/strftime.c (advance): New macro.
73108         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
73109         incomplete type, so you can't add 0 to it.  Problem and patch
73110         reported by Eelco Dolstra for dietlibc.
73111
73112 2006-10-18  Jim Meyering  <jim@meyering.net>
73113
73114         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
73115         type for a local, and rename it: s/up/user_proc/.
73116
73117 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
73118
73119         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
73120         READ_UTMP_USER_PROCESS.
73121         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
73122
73123 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
73124
73125         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
73126         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
73127
73128 2006-10-17  Eric Blake  <ebb9@byu.net>
73129
73130         * lib/sigprocmask.c (sigprocmask): Fix typo.
73131
73132         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
73133
73134         * modules/clean-temp (Makefile.am): Don't add to make output...
73135         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
73136         config.h.
73137
73138 2006-10-17  Bruno Haible  <bruno@clisp.org>
73139
73140         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
73141         differently if DEFAULT_TEXT_DOMAIN is set.
73142
73143 2006-10-16  Bruno Haible  <bruno@clisp.org>
73144
73145         * lib/clean-temp.c: Include fwriteerror.h.
73146
73147 2006-10-16  Bruno Haible  <bruno@clisp.org>
73148
73149         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
73150
73151 2006-10-16  Bruno Haible  <bruno@clisp.org>
73152
73153         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
73154         * lib/sigprocmask.h: Include <sys/types.h>.
73155         (sigset_t): Use the system's definition if present.
73156
73157 2006-10-17  Eric Blake  <ebb9@byu.net>
73158
73159         * lib/xvasprintf.c (includes): Assume config.h.
73160         * lib/xasprintf.c (includes): Likewise.
73161
73162 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
73163
73164         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
73165         at least as wide as intmax_t.
73166
73167 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
73168
73169         (Imported from Automake.)
73170         * build-aux/gnupload: Update to version 1.1 of directive file.
73171
73172 2006-10-16  Eric Blake  <ebb9@byu.net>
73173
73174         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
73175         match Automake 1.10a.
73176
73177 2006-10-14  Bruno Haible  <bruno@clisp.org>
73178
73179         * modules/sigprocmask: New file.
73180         * lib/sigprocmask.h: New file.
73181         * lib/sigprocmask.c: New file.
73182         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
73183         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
73184         request sigprocmask.o.
73185         (gl_PREREQ_SIGPROCMASK): New macro.
73186         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
73187         (Depends-on): Add sigprocmask.
73188         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
73189         gt_SIGNALBLOCKING. Test for 'raise' only once.
73190         * lib/fatal-signal.c: Include sigprocmask.h.
73191         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
73192         unblock_fatal_signals): Define always.
73193         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
73194         sigprocmask.
73195
73196 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
73197
73198         Sync from Automake.
73199         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
73200         which incorrectly sets the mode of an existing destination
73201         directory.  In some cases the unpatched install-sh could do the
73202         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
73203         system.  We hope this is rare in practice, but it's clearly worth
73204         fixing.  Problem reported by Alex Unleashed in
73205         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
73206         Also, don't bother to check for -m bugs unless we're using -m;
73207         suggested by Stepan Kasal.
73208
73209 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73210
73211         Sync from Automake.
73212         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
73213         `-c' flag, so they appear at the same position as in %FASTDEP%
73214         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
73215         which ignores unknown options only after the first non-option.
73216         Bug report against M4 by Nelson H. F. Beebe.
73217
73218 2006-10-13  Jim Meyering  <jim@meyering.net>
73219
73220         Fix a bug in yesterday's change.
73221         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
73222         p->fts_statp->st_dev would be used uninitialized.
73223         Ensures that we always call fts_stat on the very first entry.
73224         Miklos Szeredi reported that find -xdev stopped working.
73225
73226 2006-10-12  Bruno Haible  <bruno@clisp.org>
73227
73228         * gnulib-tool (func_get_automake_snippet): Append an automatically
73229         computed EXTRA_DIST augmentation.
73230         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
73231         * modules/alloca-opt (Makefile.am): Likewise.
73232         * modules/allocsa (Makefile.am): Likewise.
73233         * modules/arcfour (Makefile.am): Likewise.
73234         * modules/arctwo (Makefile.am): Likewise.
73235         * modules/argmatch (Makefile.am): Likewise.
73236         * modules/argz (Makefile.am): Likewise.
73237         * modules/atexit (Makefile.am): Likewise.
73238         * modules/backupfile (Makefile.am): Likewise.
73239         * modules/byteswap (Makefile.am): Likewise.
73240         * modules/c-strtod (Makefile.am): Likewise.
73241         * modules/c-strtold (Makefile.am): Likewise.
73242         * modules/calloc (Makefile.am): Likewise.
73243         * modules/canon-host (Makefile.am): Likewise.
73244         * modules/canonicalize (Makefile.am): Likewise.
73245         * modules/chdir-long (Makefile.am): Likewise.
73246         * modules/chdir-safer (Makefile.am): Likewise.
73247         * modules/check-version (Makefile.am): Likewise.
73248         * modules/chown (Makefile.am): Likewise.
73249         * modules/cloexec (Makefile.am): Likewise.
73250         * modules/close-stream (Makefile.am): Likewise.
73251         * modules/closeout (Makefile.am): Likewise.
73252         * modules/crc (Makefile.am): Likewise.
73253         * modules/csharpexec (Makefile.am): Likewise.
73254         * modules/cycle-check (Makefile.am): Likewise.
73255         * modules/des (Makefile.am): Likewise.
73256         * modules/dev-ino (Makefile.am): Likewise.
73257         * modules/dirfd (Makefile.am): Likewise.
73258         * modules/dirname (Makefile.am): Likewise.
73259         * modules/dup2 (Makefile.am): Likewise.
73260         * modules/eealloc (Makefile.am): Likewise.
73261         * modules/error (Makefile.am): Likewise.
73262         * modules/euidaccess (Makefile.am): Likewise.
73263         * modules/exclude (Makefile.am): Likewise.
73264         * modules/exitfail (Makefile.am): Likewise.
73265         * modules/fcntl-safer (Makefile.am): Likewise.
73266         * modules/fcntl (Makefile.am): Likewise.
73267         * modules/file-type (Makefile.am): Likewise.
73268         * modules/fileblocks (Makefile.am): Likewise.
73269         * modules/filemode (Makefile.am): Likewise.
73270         * modules/filenamecat (Makefile.am): Likewise.
73271         * modules/fnmatch (Makefile.am): Likewise.
73272         * modules/fopen-safer (Makefile.am): Likewise.
73273         * modules/fpending (Makefile.am): Likewise.
73274         * modules/fprintftime (Makefile.am): Likewise.
73275         * modules/free (Makefile.am): Likewise.
73276         * modules/fsusage (Makefile.am): Likewise.
73277         * modules/ftruncate (Makefile.am): Likewise.
73278         * modules/fts (Makefile.am): Likewise.
73279         * modules/gc-arcfour (Makefile.am): Likewise.
73280         * modules/gc-des (Makefile.am): Likewise.
73281         * modules/gc-hmac-md5 (Makefile.am): Likewise.
73282         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
73283         * modules/gc-md4 (Makefile.am): Likewise.
73284         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
73285         * modules/gc-sha1 (Makefile.am): Likewise.
73286         * modules/gc (Makefile.am): Likewise.
73287         * modules/getaddrinfo (Makefile.am): Likewise.
73288         * modules/getcwd (Makefile.am): Likewise.
73289         * modules/getdelim (Makefile.am): Likewise.
73290         * modules/getdomainname (Makefile.am): Likewise.
73291         * modules/getgroups (Makefile.am): Likewise.
73292         * modules/gethostname (Makefile.am): Likewise.
73293         * modules/gethrxtime (Makefile.am): Likewise.
73294         * modules/getline (Makefile.am): Likewise.
73295         * modules/getloadavg (Makefile.am): Likewise.
73296         * modules/getlogin_r (Makefile.am): Likewise.
73297         * modules/getndelim2 (Makefile.am): Likewise.
73298         * modules/getopt (Makefile.am): Likewise.
73299         * modules/getpagesize (Makefile.am): Likewise.
73300         * modules/getpass-gnu (Makefile.am): Likewise.
73301         * modules/getpass (Makefile.am): Likewise.
73302         * modules/getsubopt (Makefile.am): Likewise.
73303         * modules/gettime (Makefile.am): Likewise.
73304         * modules/gettimeofday (Makefile.am): Likewise.
73305         * modules/getugroups (Makefile.am): Likewise.
73306         * modules/getusershell (Makefile.am): Likewise.
73307         * modules/glob (Makefile.am): Likewise.
73308         * modules/group-member (Makefile.am): Likewise.
73309         * modules/hard-locale (Makefile.am): Likewise.
73310         * modules/hash (Makefile.am): Likewise.
73311         * modules/hmac-md5 (Makefile.am): Likewise.
73312         * modules/hmac-sha1 (Makefile.am): Likewise.
73313         * modules/human (Makefile.am): Likewise.
73314         * modules/idcache (Makefile.am): Likewise.
73315         * modules/imaxabs (Makefile.am): Likewise.
73316         * modules/imaxdiv (Makefile.am): Likewise.
73317         * modules/inet_ntop (Makefile.am): Likewise.
73318         * modules/inet_pton (Makefile.am): Likewise.
73319         * modules/intprops (Makefile.am): Likewise.
73320         * modules/inttostr (Makefile.am): Likewise.
73321         * modules/inttypes (Makefile.am): Likewise.
73322         * modules/isapipe (Makefile.am): Likewise.
73323         * modules/javaversion (Makefile.am): Likewise.
73324         * modules/lchmod (Makefile.am): Likewise.
73325         * modules/lchown (Makefile.am): Likewise.
73326         * modules/localcharset (Makefile.am): Likewise.
73327         * modules/long-options (Makefile.am): Likewise.
73328         * modules/lstat (Makefile.am): Likewise.
73329         * modules/malloc (Makefile.am): Likewise.
73330         * modules/mathl (Makefile.am): Likewise.
73331         * modules/mbchar (Makefile.am): Likewise.
73332         * modules/md2 (Makefile.am): Likewise.
73333         * modules/md4 (Makefile.am): Likewise.
73334         * modules/md5 (Makefile.am): Likewise.
73335         * modules/memcasecmp (Makefile.am): Likewise.
73336         * modules/memchr (Makefile.am): Likewise.
73337         * modules/memcmp (Makefile.am): Likewise.
73338         * modules/memcoll (Makefile.am): Likewise.
73339         * modules/memcpy (Makefile.am): Likewise.
73340         * modules/memmem (Makefile.am): Likewise.
73341         * modules/memmove (Makefile.am): Likewise.
73342         * modules/mempcpy (Makefile.am): Likewise.
73343         * modules/memrchr (Makefile.am): Likewise.
73344         * modules/memset (Makefile.am): Likewise.
73345         * modules/memxor (Makefile.am): Likewise.
73346         * modules/mkancesdirs (Makefile.am): Likewise.
73347         * modules/mkdir-p (Makefile.am): Likewise.
73348         * modules/mkdir (Makefile.am): Likewise.
73349         * modules/mkdtemp (Makefile.am): Likewise.
73350         * modules/mkstemp (Makefile.am): Likewise.
73351         * modules/mktime (Makefile.am): Likewise.
73352         * modules/modechange (Makefile.am): Likewise.
73353         * modules/mountlist (Makefile.am): Likewise.
73354         * modules/nanosleep (Makefile.am): Likewise.
73355         * modules/obstack (Makefile.am): Likewise.
73356         * modules/openat (Makefile.am): Likewise.
73357         * modules/pagealign_alloc (Makefile.am): Likewise.
73358         * modules/pathmax (Makefile.am): Likewise.
73359         * modules/physmem (Makefile.am): Likewise.
73360         * modules/poll (Makefile.am): Likewise.
73361         * modules/posixtm (Makefile.am): Likewise.
73362         * modules/posixver (Makefile.am): Likewise.
73363         * modules/putenv (Makefile.am): Likewise.
73364         * modules/quote (Makefile.am): Likewise.
73365         * modules/quotearg (Makefile.am): Likewise.
73366         * modules/raise (Makefile.am): Likewise.
73367         * modules/read-file (Makefile.am): Likewise.
73368         * modules/readline (Makefile.am): Likewise.
73369         * modules/readlink (Makefile.am): Likewise.
73370         * modules/readtokens (Makefile.am): Likewise.
73371         * modules/readutmp (Makefile.am): Likewise.
73372         * modules/realloc (Makefile.am): Likewise.
73373         * modules/regex (Makefile.am): Likewise.
73374         * modules/rename-dest-slash (Makefile.am): Likewise.
73375         * modules/rename (Makefile.am): Likewise.
73376         * modules/rijndael (Makefile.am): Likewise.
73377         * modules/rmdir (Makefile.am): Likewise.
73378         * modules/rpmatch (Makefile.am): Likewise.
73379         * modules/safe-read (Makefile.am): Likewise.
73380         * modules/safe-write (Makefile.am): Likewise.
73381         * modules/same-inode (Makefile.am): Likewise.
73382         * modules/same (Makefile.am): Likewise.
73383         * modules/save-cwd (Makefile.am): Likewise.
73384         * modules/savedir (Makefile.am): Likewise.
73385         * modules/setenv (Makefile.am): Likewise.
73386         * modules/settime (Makefile.am): Likewise.
73387         * modules/sha1 (Makefile.am): Likewise.
73388         * modules/sig2str (Makefile.am): Likewise.
73389         * modules/snprintf (Makefile.am): Likewise.
73390         * modules/stat-macros (Makefile.am): Likewise.
73391         * modules/stat-time (Makefile.am): Likewise.
73392         * modules/stdbool (Makefile.am): Likewise.
73393         * modules/stdint (Makefile.am): Likewise.
73394         * modules/stdlib-safer (Makefile.am): Likewise.
73395         * modules/stpcpy (Makefile.am): Likewise.
73396         * modules/stpncpy (Makefile.am): Likewise.
73397         * modules/strcase (Makefile.am): Likewise.
73398         * modules/strcasestr (Makefile.am): Likewise.
73399         * modules/strchrnul (Makefile.am): Likewise.
73400         * modules/strcspn (Makefile.am): Likewise.
73401         * modules/strdup (Makefile.am): Likewise.
73402         * modules/strerror (Makefile.am): Likewise.
73403         * modules/strftime (Makefile.am): Likewise.
73404         * modules/strndup (Makefile.am): Likewise.
73405         * modules/strnlen (Makefile.am): Likewise.
73406         * modules/strpbrk (Makefile.am): Likewise.
73407         * modules/strsep (Makefile.am): Likewise.
73408         * modules/strstr (Makefile.am): Likewise.
73409         * modules/strtod (Makefile.am): Likewise.
73410         * modules/strtoimax (Makefile.am): Likewise.
73411         * modules/strtok_r (Makefile.am): Likewise.
73412         * modules/strtol (Makefile.am): Likewise.
73413         * modules/strtoll (Makefile.am): Likewise.
73414         * modules/strtoul (Makefile.am): Likewise.
73415         * modules/strtoull (Makefile.am): Likewise.
73416         * modules/strtoumax (Makefile.am): Likewise.
73417         * modules/strverscmp (Makefile.am): Likewise.
73418         * modules/sys_socket (Makefile.am): Likewise.
73419         * modules/sys_stat (Makefile.am): Likewise.
73420         * modules/sysexits (Makefile.am): Likewise.
73421         * modules/time_r (Makefile.am): Likewise.
73422         * modules/timegm (Makefile.am): Likewise.
73423         * modules/timespec (Makefile.am): Likewise.
73424         * modules/tmpfile-safer (Makefile.am): Likewise.
73425         * modules/trim (Makefile.am): Likewise.
73426         * modules/unistd-safer (Makefile.am): Likewise.
73427         * modules/unlinkdir (Makefile.am): Likewise.
73428         * modules/unlocked-io (Makefile.am): Likewise.
73429         * modules/userspec (Makefile.am): Likewise.
73430         * modules/utime (Makefile.am): Likewise.
73431         * modules/utimecmp (Makefile.am): Likewise.
73432         * modules/utimens (Makefile.am): Likewise.
73433         * modules/vasnprintf (Makefile.am): Likewise.
73434         * modules/vasprintf (Makefile.am): Likewise.
73435         * modules/vsnprintf (Makefile.am): Likewise.
73436         * modules/xalloc (Makefile.am): Likewise.
73437         * modules/xgetcwd (Makefile.am): Likewise.
73438         * modules/xnanosleep (Makefile.am): Likewise.
73439         * modules/xreadlink (Makefile.am): Likewise.
73440         * modules/xstrtod (Makefile.am): Likewise.
73441         * modules/xstrtol (Makefile.am): Likewise.
73442         * modules/xstrtold (Makefile.am): Likewise.
73443         * modules/yesno (Makefile.am): Likewise.
73444         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
73445
73446 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
73447
73448         * modules/error (Makefile.am): Distribute files through
73449         EXTRA_DIST, not lib_SOURCES.
73450
73451 2006-10-12  Eric Blake  <ebb9@byu.net>
73452
73453         * modules/error (Makefile.am): Distribute files in /lib.
73454         * modules/obstack (Makefile.am): Likewise.
73455
73456 2006-10-12  Bruno Haible  <bruno@clisp.org>
73457
73458         * modules/acl (Makefile.am): Distribute all files in lib/ through
73459         EXTRA_DIST.
73460         * modules/arcfour (Makefile.am): Likewise.
73461         * modules/arctwo (Makefile.am): Likewise.
73462         * modules/argmatch (Makefile.am): Likewise.
73463         * modules/argz (Makefile.am): Likewise.
73464         * modules/atexit (Makefile.am): Likewise.
73465         * modules/backupfile (Makefile.am): Likewise.
73466         * modules/c-strtod (Makefile.am): Likewise.
73467         * modules/c-strtold (Makefile.am): Likewise.
73468         * modules/calloc (Makefile.am): Likewise.
73469         * modules/canon-host (Makefile.am): Likewise.
73470         * modules/canonicalize (Makefile.am): Likewise.
73471         * modules/chdir-long (Makefile.am): Likewise.
73472         * modules/chdir-safer (Makefile.am): Likewise.
73473         * modules/check-version (Makefile.am): Likewise.
73474         * modules/chown (Makefile.am): Likewise.
73475         * modules/cloexec (Makefile.am): Likewise.
73476         * modules/close-stream (Makefile.am): Likewise.
73477         * modules/closeout (Makefile.am): Likewise.
73478         * modules/crc (Makefile.am): Likewise.
73479         * modules/cycle-check (Makefile.am): Likewise.
73480         * modules/des (Makefile.am): Likewise.
73481         * modules/dirfd (Makefile.am): Likewise.
73482         * modules/dirname (Makefile.am): Likewise.
73483         * modules/dup2 (Makefile.am): Likewise.
73484         * modules/euidaccess (Makefile.am): Likewise.
73485         * modules/exclude (Makefile.am): Likewise.
73486         * modules/exitfail (Makefile.am): Likewise.
73487         * modules/fcntl-safer (Makefile.am): Likewise.
73488         * modules/file-type (Makefile.am): Likewise.
73489         * modules/fileblocks (Makefile.am): Likewise.
73490         * modules/filemode (Makefile.am): Likewise.
73491         * modules/filenamecat (Makefile.am): Likewise.
73492         * modules/fnmatch (Makefile.am): Likewise.
73493         * modules/fopen-safer (Makefile.am): Likewise.
73494         * modules/fpending (Makefile.am): Likewise.
73495         * modules/fprintftime (Makefile.am): Likewise.
73496         * modules/free (Makefile.am): Likewise.
73497         * modules/fsusage (Makefile.am): Likewise.
73498         * modules/ftruncate (Makefile.am): Likewise.
73499         * modules/fts (Makefile.am): Likewise.
73500         * modules/gc (Makefile.am): Likewise.
73501         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
73502         * modules/getaddrinfo (Makefile.am): Likewise.
73503         * modules/getcwd (Makefile.am): Likewise.
73504         * modules/getdelim (Makefile.am): Likewise.
73505         * modules/getdomainname (Makefile.am): Likewise.
73506         * modules/getgroups (Makefile.am): Likewise.
73507         * modules/gethostname (Makefile.am): Likewise.
73508         * modules/gethrxtime (Makefile.am): Likewise.
73509         * modules/getline (Makefile.am): Likewise.
73510         * modules/getloadavg (Makefile.am): Likewise.
73511         * modules/getlogin_r (Makefile.am): Likewise.
73512         * modules/getopt (Makefile.am): Likewise.
73513         * modules/getpass (Makefile.am): Likewise.
73514         * modules/getpass-gnu (Makefile.am): Likewise.
73515         * modules/getsubopt (Makefile.am): Likewise.
73516         * modules/gettime (Makefile.am): Likewise.
73517         * modules/gettimeofday (Makefile.am): Likewise.
73518         * modules/getugroups (Makefile.am): Likewise.
73519         * modules/getusershell (Makefile.am): Likewise.
73520         * modules/glob (Makefile.am): Likewise.
73521         * modules/group-member (Makefile.am): Likewise.
73522         * modules/hard-locale (Makefile.am): Likewise.
73523         * modules/hash (Makefile.am): Likewise.
73524         * modules/hmac-md5 (Makefile.am): Likewise.
73525         * modules/hmac-sha1 (Makefile.am): Likewise.
73526         * modules/human (Makefile.am): Likewise.
73527         * modules/idcache (Makefile.am): Likewise.
73528         * modules/imaxabs (Makefile.am): Likewise.
73529         * modules/imaxdiv (Makefile.am): Likewise.
73530         * modules/inet_ntop (Makefile.am): Likewise.
73531         * modules/inet_pton (Makefile.am): Likewise.
73532         * modules/inttostr (Makefile.am): Likewise.
73533         * modules/isapipe (Makefile.am): Likewise.
73534         * modules/lchown (Makefile.am): Likewise.
73535         * modules/long-options (Makefile.am): Likewise.
73536         * modules/lstat (Makefile.am): Likewise.
73537         * modules/malloc (Makefile.am): Likewise.
73538         * modules/mathl (Makefile.am): Likewise.
73539         * modules/mbchar (Makefile.am): Likewise.
73540         * modules/md2 (Makefile.am): Likewise.
73541         * modules/md4 (Makefile.am): Likewise.
73542         * modules/md5 (Makefile.am): Likewise.
73543         * modules/memcasecmp (Makefile.am): Likewise.
73544         * modules/memchr (Makefile.am): Likewise.
73545         * modules/memcmp (Makefile.am): Likewise.
73546         * modules/memcoll (Makefile.am): Likewise.
73547         * modules/memcpy (Makefile.am): Likewise.
73548         * modules/memmem (Makefile.am): Likewise.
73549         * modules/memmove (Makefile.am): Likewise.
73550         * modules/mempcpy (Makefile.am): Likewise.
73551         * modules/memrchr (Makefile.am): Likewise.
73552         * modules/memset (Makefile.am): Likewise.
73553         * modules/memxor (Makefile.am): Likewise.
73554         * modules/mkancesdirs (Makefile.am): Likewise.
73555         * modules/mkdir (Makefile.am): Likewise.
73556         * modules/mkdir-p (Makefile.am): Likewise.
73557         * modules/mkdtemp (Makefile.am): Likewise.
73558         * modules/mkstemp (Makefile.am): Likewise.
73559         * modules/mktime (Makefile.am): Likewise.
73560         * modules/modechange (Makefile.am): Likewise.
73561         * modules/mountlist (Makefile.am): Likewise.
73562         * modules/nanosleep (Makefile.am): Likewise.
73563         * modules/openat (Makefile.am): Likewise.
73564         * modules/pagealign_alloc (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 (Makefile.am): Likewise.
73581         * modules/rename-dest-slash (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 (Makefile.am): Likewise.
73588         * modules/save-cwd (Makefile.am): Likewise.
73589         * modules/savedir (Makefile.am): Likewise.
73590         * modules/setenv (Makefile.am): Likewise.
73591         * modules/settime (Makefile.am): Likewise.
73592         * modules/sha1 (Makefile.am): Likewise.
73593         * modules/sig2str (Makefile.am): Likewise.
73594         * modules/snprintf (Makefile.am): Likewise.
73595         * modules/stdlib-safer (Makefile.am): Likewise.
73596         * modules/stpcpy (Makefile.am): Likewise.
73597         * modules/stpncpy (Makefile.am): Likewise.
73598         * modules/strcase (Makefile.am): Likewise.
73599         * modules/strcasestr (Makefile.am): Likewise.
73600         * modules/strchrnul (Makefile.am): Likewise.
73601         * modules/strcspn (Makefile.am): Likewise.
73602         * modules/strdup (Makefile.am): Likewise.
73603         * modules/strerror (Makefile.am): Likewise.
73604         * modules/strftime (Makefile.am): Likewise.
73605         * modules/strndup (Makefile.am): Likewise.
73606         * modules/strnlen (Makefile.am): Likewise.
73607         * modules/strpbrk (Makefile.am): Likewise.
73608         * modules/strsep (Makefile.am): Likewise.
73609         * modules/strstr (Makefile.am): Likewise.
73610         * modules/strtod (Makefile.am): Likewise.
73611         * modules/strtoimax (Makefile.am): Likewise.
73612         * modules/strtok_r (Makefile.am): Likewise.
73613         * modules/strtol (Makefile.am): Likewise.
73614         * modules/strtoll (Makefile.am): Likewise.
73615         * modules/strtoul (Makefile.am): Likewise.
73616         * modules/strtoull (Makefile.am): Likewise.
73617         * modules/strtoumax (Makefile.am): Likewise.
73618         * modules/strverscmp (Makefile.am): Likewise.
73619         * modules/time_r (Makefile.am): Likewise.
73620         * modules/timegm (Makefile.am): Likewise.
73621         * modules/tmpfile-safer (Makefile.am): Likewise.
73622         * modules/unistd-safer (Makefile.am): Likewise.
73623         * modules/unlinkdir (Makefile.am): Likewise.
73624         * modules/userspec (Makefile.am): Likewise.
73625         * modules/utime (Makefile.am): Likewise.
73626         * modules/utimecmp (Makefile.am): Likewise.
73627         * modules/utimens (Makefile.am): Likewise.
73628         * modules/vasnprintf (Makefile.am): Likewise.
73629         * modules/vasprintf (Makefile.am): Likewise.
73630         * modules/vsnprintf (Makefile.am): Likewise.
73631         * modules/xalloc (Makefile.am): Likewise.
73632         * modules/xgetcwd (Makefile.am): Likewise.
73633         * modules/xnanosleep (Makefile.am): Likewise.
73634         * modules/xreadlink (Makefile.am): Likewise.
73635         * modules/xstrtod (Makefile.am): Likewise.
73636         * modules/xstrtol (Makefile.am): Likewise.
73637         * modules/xstrtold (Makefile.am): Likewise.
73638         * modules/yesno (Makefile.am): Likewise.
73639
73640 2006-10-12  Jim Meyering  <jim@meyering.net>
73641
73642         * m4/getloadavg.m4: Revert the change below.
73643
73644         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
73645         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
73646         fail with a symlink, which is what coreutils' ./bootstrap now
73647         creates by default.
73648
73649 2006-10-12  Bruno Haible  <bruno@clisp.org>
73650
73651         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
73652         mingw.
73653         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
73654         MSVC and mingw explicitly.
73655
73656 2006-10-11  Simon Josefsson  <jas@extundo.com>
73657             Bruno Haible  <bruno@clisp.org>
73658
73659         Add support for multiple gnulib-tool invocations in the scope of a
73660         single configure.ac file.
73661         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
73662         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
73663         with the same contents as the _LIBADD variable.
73664         (func_emit_initmacro_start, func_emit_initmacro_end,
73665         func_emit_initmacro_done): New functions.
73666         (func_import, func_create_testdir): Invoke them. Allow the identifiers
73667         gl_LIBOBJS and gl_LTLIBOBJS.
73668
73669 2006-10-11  Bruno Haible  <bruno@clisp.org>
73670
73671         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
73672         (func_create_testdir): Don't create po/Makefile.am, don't invoke
73673         autoreconf. Instead, invoke autopoint explicitly but move back the
73674         *.m4 files from gnulib.
73675
73676 2006-10-11  Bruno Haible  <bruno@clisp.org>
73677
73678         * gnulib-tool (func_usage): Make module names after --create-testdir
73679         optional.
73680         (func_create_testdir): If no module was specified, use nearly all
73681         modules.
73682
73683 2006-10-12  Jim Meyering  <jim@meyering.net>
73684
73685         Big performance improvement for fts-based tools that use FTS_NOSTAT.
73686         Avoid spurious inode-mismatch problems on non-POSIX file systems.
73687         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
73688         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
73689         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
73690         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
73691         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
73692         (fts_set_stat_required): New function.
73693         (fts_open): Defer the calls to fts_stat, if possible or requested.
73694         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
73695         into fts_stat itself.
73696         (fts_read): Perform any required (deferred) fts_stat call.
73697         (fts_build): Likewise, for the directory we're about to open and read.
73698         In the readdir loop, carefully decide whether each entry will require
73699         an eventual call to fts_stat, using dirent.d_type info if available.
73700         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
73701         a command line argument into this function.  Update all callers.
73702         Map a return value of FTS_DOT to FTS_D for a command line argument.
73703         * modules/fts (Depends-on): Add d-type.  Alphabetize.
73704         Thanks to Miklos Szeredi for his tenacity and for the initial
73705         bug report about "find" failing on a FUSE-based file system.
73706
73707         * lib/fts.c (fts_open): Use consistent indentation.
73708
73709 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
73710
73711         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
73712         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
73713         reported by Jim Meyering.  All uses of cache variables renamed
73714         to match Autoconf's.
73715         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
73716         the other one.
73717
73718         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
73719         Fix misspelling in diagnostic.
73720
73721 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
73722
73723         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
73724         defined.  Problem reported by Matthew Woehlke.
73725
73726         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
73727         Add support for Tandem NonStop R series.
73728         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
73729         Use new macro.
73730
73731         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
73732         (has_trailing_slash): Omit size arg; all callers changed.
73733         Omit 'inline', since it doesn't help performance and we'd
73734         need to configure it.
73735         Don't count //, ///, etc. as having a trailing slash.
73736         As a side effect, this removes a C99ism reported by Matthew Woehlke.
73737         (rpl_rename_dest_slash): On failure, use rename's errno rather
73738         than (in some cases) an incorrect or junk errno.
73739         Simplify code by removing need to compute length; this does
73740         cause it to make two passes instead of one over the file name,
73741         but it's worth it.
73742
73743         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
73744         change, since Autoconf's version may no longer be appropriate now
73745         that we are using CVS Autoconf's version.  Add support for Tandem.
73746
73747 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
73748             Bruno Haible  <bruno@clisp.org>
73749
73750         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
73751         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
73752         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
73753         gl_AC_TYPE_LONG_LONG.
73754
73755         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
73756         instead of HAVE_LONG_LONG.
73757         * lib/printf-args.c (printf_fetchargs): Likewise.
73758         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
73759         * lib/vasnprintf.c (VASNPRINTF): Likewise.
73760         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
73761         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
73762         gl_AC_TYPE_LONG_LONG.
73763
73764 2006-10-11  Bruno Haible  <bruno@clisp.org>
73765
73766         * m4/longlong.m4: Add comments.
73767         * m4/ulonglong.m4: Likewise.
73768
73769 2006-10-10  Bruno Haible  <bruno@clisp.org>
73770
73771         Make it possible to #define stpcpy, strdup to aliases.
73772         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
73773         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
73774
73775 2006-10-10  Bruno Haible  <bruno@clisp.org>
73776
73777         Make it possible to #define gcd to an alias.
73778         * lib/gcd.c: Include config.h.
73779
73780 2006-10-10  Bruno Haible  <bruno@clisp.org>
73781
73782         Make it possible to #define c_isascii to an alias.
73783         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
73784         defined. Undefine the macros before defining them, to avoid gcc
73785         warnings.
73786         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
73787         define NO_C_CTYPE_MACROS early.
73788
73789 2006-10-10  Bruno Haible  <bruno@clisp.org>
73790
73791         Make it possible to #define set_program_name to an alias.
73792         * lib/progname.c: Don't undefine set_program_name; instead, undefine
73793         ENABLE_RELOCATABLE early.
73794
73795 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
73796
73797         Port to Tandem NSK OSS, which has 64-bit signed int but at most
73798         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
73799         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
73800         More generally, don't assume that 64-bit signed int is available
73801         if unsigned int is, and vice versa.
73802         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
73803         unsigned symbols, not on their signed counterparts.
73804         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
73805         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
73806         (UINT64_C, UINTMAX_C):
73807         Likewise.
73808         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
73809         unsigned counterparts.
73810         (Have_long_long, Unsigned): New macros.
73811         (Int): Renamed from INT.
73812         (strtoimax): Use the new macros.
73813         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
73814         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
73815         * modules/inttypes (inttypes.h): Substitute
73816         HAVE_UNSIGNED_LONG_LONG_INT.
73817         * modules/stdint (stdint.h): Likewise.
73818         (Files): Add m4/ulonglong.m4.
73819
73820 2006-10-10  Bruno Haible  <bruno@clisp.org>
73821
73822         Fix a gcc -Wshadow warning.
73823         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
73824         to 'bucket'.
73825         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
73826         gl_linked_indexof_from_to): Likewise.
73827         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
73828         Likewise.
73829         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
73830         Likewise.
73831         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
73832         Reported by Eric Blake.
73833
73834 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
73835
73836         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
73837         for NetBSD.  Problem reported by Bruno Haible.
73838
73839 2006-10-09  Jim Meyering  <jim@meyering.net>
73840
73841         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
73842         Patch from Bruno Haible.
73843
73844 2006-10-09  Jim Meyering  <jim@meyering.net>
73845
73846         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
73847         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
73848         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
73849
73850 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
73851
73852         Don't include <config.h> twice; this doesn't work in some cases,
73853         e.g., when config.h has "#define intmax_t long long int" and
73854         we include <config.h>, <inttypes.h>, <config.h> in that order.
73855         Problem reported by Matthew Woehlke in:
73856         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
73857         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
73858         * lib/fts-cycle.c: Don't include config.h.
73859         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
73860         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
73861         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
73862         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
73863         inttypes.h.
73864         * lib/xstrtoumax.c: Likewise.
73865         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
73866         __strtol and the like, so that this module is more like its siblings.
73867         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
73868         Remove; no longer needed now that we assume gnulib inttypes.h.
73869
73870 2006-10-08  Bruno Haible  <bruno@clisp.org>
73871
73872         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
73873         option.
73874
73875 2006-10-07  Jim Meyering  <jim@meyering.net>
73876
73877         * modules/inttypes (inttypes.h): Revert what seems to have been
73878         an inadvertent part of today's change: use "|", not "/" in the
73879         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
73880
73881 2006-10-07  Bruno Haible  <bruno@clisp.org>
73882
73883         * modules/sublist: New file.
73884
73885 2006-10-07  Bruno Haible  <bruno@clisp.org>
73886
73887         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
73888         * modules/argz (argz.h): Likewise.
73889         * modules/arpa_inet (arpa/inet.h): Likewise.
73890         * modules/byteswap (byteswap.h): Likewise.
73891         * modules/configmake (configmake.h): Likewise.
73892         * modules/fcntl (fcntl.h): Likewise.
73893         * modules/fnmatch (fnmatch.h): Likewise.
73894         * modules/getopt (getopt.h): Likewise.
73895         * modules/glob (glob.h): Likewise.
73896         * modules/inttypes (inttypes.h): Likewise.
73897         * modules/netinet_in (netinet/in.h): Likewise.
73898         * modules/poll (poll.h): Likewise.
73899         * modules/stdbool (stdbool.h): Likewise.
73900         * modules/stdint (stdint.h): Likewise.
73901         * modules/sys_select (sys/select.h): Likewise.
73902         * modules/sys_socket (sys/socket.h): Likewise.
73903         * modules/sys_stat (sys/stat.h): Likewise.
73904         * modules/sysexits (sysexits.h): Likewise.
73905         * modules/unistd (unistd.h): Likewise.
73906         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
73907         Add a "DO NOT EDIT" comment to the generated file.
73908         (func_import): Likewise for gnulib-comp.m4.
73909
73910 2006-10-07  Bruno Haible  <bruno@clisp.org>
73911
73912         * lib/gl_sublist.h: New file.
73913         * lib/gl_sublist.c: New file.
73914
73915 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
73916
73917         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
73918         name (relative to the original working directory) and the file
73919         name component (relative to the temporary working directory).  All
73920         callers changed.
73921         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
73922         * lib/mkdir-p.c (make_dir_parents): Likewise.
73923         * lib/mkdir-p.h (make_dir_parents): Likewise.
73924
73925 2006-10-06  Eric Blake  <ebb9@byu.net>
73926
73927         Define several macros for use by the clean-temp module.
73928         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
73929         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
73930         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
73931
73932         * lib/clean-temp.h (close_stream_temp): New declaration.
73933         * lib/clean-temp.c (includes): Pull in headers according to what
73934         other modules are in use.
73935         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
73936
73937 2006-10-06  Bruno Haible  <bruno@clisp.org>
73938
73939         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
73940         instead of fopen, fwriteerror.
73941
73942 2006-10-06  Bruno Haible  <bruno@clisp.org>
73943
73944         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
73945         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
73946         int.
73947         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
73948         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
73949         Return an error indicator.
73950         Suggested by Eric Blake.
73951
73952 2006-10-06  Bruno Haible  <bruno@clisp.org>
73953
73954         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
73955         Reported by Eric Blake.
73956
73957 2006-10-06  Bruno Haible  <bruno@clisp.org>
73958
73959         * modules/closeout (Description): Mention stderr too.
73960
73961 2006-10-06  Bruno Haible  <bruno@clisp.org>
73962         and Paul Eggert  <eggert@cs.ucla.edu>
73963
73964         * lib/closeout.c (close_stdout): Also close stderr.
73965         * lib/closeout.h: Update comment.
73966
73967 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
73968
73969         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
73970         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
73971         * lib/dirchownmod.c: Include lchown.h.
73972         * lib/lchown.c: Don't include files that lchown.h now includes.
73973         Don't declare chown, since lchown.h now does that.
73974         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
73975         (lchown): Define to rpl_chown if lchown is declared but
73976         does not exist.  Declare using a prototype if lchown is not
73977         declared.  Add a copyright notice.
73978         * lib/mkstemp.h: Include <unistd.h>.
73979         * lib/openat.c: Include lchown.h.
73980
73981         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
73982         we now test for that separately.
73983         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
73984         rather than O_NOFOLLOW, when testing whether it's possible to
73985         avoid a race condition reliably.
73986         * lib/savewd.c (savewd_chdir): Likewise.
73987
73988         Remove macros that are no longer needed now that stdint.h is
73989         reliable.
73990         * lib/fsusage.c (UINTMAX_MAX): Remove.
73991         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
73992         * lib/utimecmp.c (SIZE_MAX): Remove.
73993
73994         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
73995
73996         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
73997         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
73998         O_NOATIME works.
73999
74000 2006-10-05  Bruno Haible  <bruno@clisp.org>
74001
74002         * lib/gl_list.h (gl_sortedlist_search_from_to,
74003         gl_sortedlist_indexof_from_to): New declarations.
74004         (gl_list_implementation): New fields sortedlist_search_from_to,
74005         sortedlist_indexof_from_to.
74006         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
74007         inline functions.
74008         * lib/gl_list.c (gl_sortedlist_search_from_to,
74009         gl_sortedlist_indexof_from_to): New functions.
74010         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
74011         function.
74012         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
74013         (gl_array_sortedlist_search_from_to): New function.
74014         (gl_array_list_implementation): Update.
74015         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
74016         function.
74017         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
74018         (gl_carray_sortedlist_search_from_to): New function.
74019         (gl_carray_list_implementation): Update.
74020         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
74021         gl_linked_sortedlist_indexof_from_to): New functions.
74022         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
74023         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
74024         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
74025         gl_tree_sortedlist_indexof_from_to): New functions.
74026         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
74027         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
74028         Update.
74029         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
74030         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
74031         Update.
74032
74033 2006-10-05  Bruno Haible  <bruno@clisp.org>
74034
74035         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
74036         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
74037         (struct gl_list_implementation): Add fields search_from_to,
74038         indexof_from_to. Remove fields search, indexof.
74039         (gl_list_search): Use the search_from_to method.
74040         (gl_list_search_from, gl_list_search_from_to): New functions.
74041         (gl_list_indexof): Use the indexof_from_to method.
74042         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
74043         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
74044         (gl_list_search_from, gl_list_search_from_to): New functions.
74045         (gl_list_indexof): Use the indexof_from_to method.
74046         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
74047         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
74048         gl_array_indexof. Add start_index, end_index arguments.
74049         (gl_array_search_from_to): Renamed from gl_array_search. Add
74050         start_index, end_index arguments.
74051         (gl_array_remove, gl_array_list_implementation): Update.
74052         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
74053         gl_carray_indexof. Add start_index, end_index arguments.
74054         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
74055         start_index, end_index arguments.
74056         (gl_carray_remove, gl_carray_list_implementation): Update.
74057         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
74058         gl_linked_search. Add start_index, end_index arguments.
74059         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
74060         start_index, end_index arguments.
74061         (gl_linked_remove): Update.
74062         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
74063         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
74064         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
74065         field to 'size_t'.
74066         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
74067         gl_tree_search. Add start_index, end_index arguments.
74068         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
74069         start_index, end_index arguments.
74070         (gl_tree_remove): Update.
74071         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
74072         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
74073         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
74074         function.
74075         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
74076         gl_tree_search. Add start_index, end_index arguments.
74077         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
74078         start_index, end_index arguments.
74079         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
74080         Update.
74081         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
74082
74083 2006-10-05  Bruno Haible  <bruno@clisp.org>
74084
74085         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
74086
74087         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
74088         fwriteerror_temp): New declarations.
74089         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
74090         (descriptors): New variable.
74091         (cleanup): First, close the descriptors.
74092         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
74093         fclose_temp, fwriteerror_temp): New functions.
74094
74095 2006-10-04  Jim Meyering  <jim@meyering.net>
74096
74097         * lib/fts.c (fts_open): Tiny comment change.
74098
74099 2006-10-04  Bruno Haible  <bruno@clisp.org>
74100
74101         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
74102         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
74103         gl_LOCK_BODY.
74104         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
74105         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
74106         gl_LOCK_EARLY_BODY.
74107         (gl_LOCK): Require gl_LOCK_BODY.
74108
74109 2006-10-04  Bruno Haible  <bruno@clisp.org>
74110
74111         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
74112         (gl_oset_search_atleast): New declaration.
74113         (struct gl_oset_implementation): Add field 'search_atleast'.
74114         (gl_oset_search_atleast): New inline function.
74115         * lib/gl_oset.c (gl_oset_search_atleast): New function.
74116         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
74117         (gl_array_oset_implementation): Update.
74118         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
74119         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
74120         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
74121
74122 2006-10-04  Bruno Haible  <bruno@clisp.org>
74123
74124         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
74125
74126 2006-10-03  Bruno Haible  <bruno@clisp.org>
74127
74128         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
74129         from gl_avltreehash_list_implementation.
74130
74131 2006-10-03  Bruno Haible  <bruno@clisp.org>
74132
74133         * lib/gl_oset.c (gl_oset_add): Fix return type.
74134
74135 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
74136
74137         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
74138
74139 2006-10-02  Eric Blake  <ebb9@byu.net>
74140
74141         * modules/strnlen (Depends-on): Add extensions.
74142
74143 2006-10-02  Eric Blake  <ebb9@byu.net>
74144
74145         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
74146         definition in 2.60+.
74147
74148 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
74149
74150         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
74151         checks.
74152
74153 2006-10-02  Bruno Haible  <bruno@clisp.org>
74154
74155         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
74156         to the AUTOMAKE_OPTIONS.
74157         Reported by Jim Meyering.
74158
74159 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
74160
74161         Work around bug in Solaris 10 /proc file system:
74162         /proc/self/fd/NNN/.. isn't the parent directory of
74163         the directory whose file descriptor is NNN.  This needs to
74164         be worked around at run time, not compile time, since a
74165         program might be built on Solaris 8, where things work, and
74166         run on Solaris 10.
74167         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
74168         to use the following interface instead:
74169         (OPENAT_BUFFER_SIZE): New macro.
74170         (openat_proc_name): New function.
74171         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
74172         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
74173         Likewise.
74174         * lib/openat-proc.c: New file.
74175         * modules/openat (Files): Add lib/openat-proc.c.
74176         (Depends-on): Add same-inode, stdbool.
74177         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
74178
74179 2006-09-29  Bruno Haible  <bruno@clisp.org>
74180
74181         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
74182         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
74183         argument. Set stdout_closed before testing for ferror, not after.
74184         (fwriteerror, fwriteerror_no_ebadf): New functions.
74185
74186 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74187
74188         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
74189
74190 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
74191
74192         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
74193         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
74194
74195 2006-09-28  Jim Meyering  <jim@meyering.net>
74196
74197         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
74198         Include <unistd.h>.
74199
74200 2006-09-28  Bruno Haible  <bruno@clisp.org>
74201
74202         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
74203         * modules/linkedhash-list (Depends-on): Likewise.
74204         * modules/rbtreehash-list (Depends-on): Likewise.
74205
74206 2006-09-28  Bruno Haible  <bruno@clisp.org>
74207
74208         * lib/strndup.h: Simplify the redefinition of strndup.
74209         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
74210         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
74211
74212 2006-09-28  Bruno Haible  <bruno@clisp.org>
74213
74214         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
74215         * lib/gl_linkedhash_list.c: Likewise.
74216         * lib/gl_rbtreehash_list.c: Likewise.
74217
74218 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
74219
74220         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
74221         getaddrinfo.
74222
74223         * lib/__fpending.h: Don't include <stdio_ext.h> unless
74224         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
74225         it causes <stdio_ext.h> to cause a compile-time error.
74226         Problem reported by Nelson H. F. Beebe.
74227         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
74228         of HAVE_DECL___PENDING.
74229
74230         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
74231         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
74232         declaration.
74233
74234 2006-09-27  Jim Meyering  <jim@meyering.net>
74235
74236         This file could end up with a definition for a function
74237         named __strndup, rather than rpl_strndup on a system with
74238         incomplete weak_alias support.
74239         * lib/strndup.c (strndup): Rename from __strndup.
74240         Remove #defines that used to map __strndup to strndup.
74241         Don't use K&R prototypes.
74242         Remove LIBC-related code, since this file is not sync'd with glibc.
74243         * lib/strndup.h: Revamp, accordingly.
74244         * m4/strndup.m4: Modernize.
74245
74246 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
74247
74248         * modules/savewd (Depends-on): Add 'raise'.
74249         * lib/savewd.c: Include <signal.h>, for 'raise'.
74250
74251 2006-09-26  Jim Meyering  <jim@meyering.net>
74252
74253         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
74254         when we detect Darwin 8.7.0's acl_get_file bug.
74255         Rearrange to perform the new (below) run-test while $LIBS
74256         contains any acl-related library.  Set USE_ACL at the end.
74257         (gl_ACL_GET_FILE): New function.
74258
74259 2006-09-26  Eric Blake  <ebb9@byu.net>
74260
74261         * lib/verror.c: Include <config.h> unconditionally.
74262
74263 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
74264
74265         * modules/clock-time (Maintainer): Add self.
74266         * modules/getlogin_r (Depends-on): Add extensions.
74267
74268 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74269
74270         * modules/clock-time: New module.
74271         * modules/nanosleep (Depends-on): Add clock-time.
74272         * modules/gethrxtime (Depends-on): Likewise.
74273         * modules/gettime (Depends-on): Likewise.
74274         * modules/settime (Depends-on): Likewise.
74275
74276         * modules/fts-lgpl: Depend on openat.
74277         * modules/mkancesdirs: Depend on savewd.
74278         * modules/mkdir-p: Likewise.
74279
74280 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74281
74282         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
74283
74284         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
74285         `gl_have_arbitrary_file_name_length_limit' to
74286         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
74287         actually works between configure runs.
74288
74289 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74290             Bruno Haible  <bruno@clisp.org>
74291
74292         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
74293
74294 2006-09-25  Jim Meyering  <jim@meyering.net>
74295
74296         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
74297         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
74298
74299 2006-09-25  Eric Blake  <ebb9@byu.net>
74300
74301         * gnulib-tool (func_import, func_create_testdir): Fix typos in
74302         exec's in 2006-09-18 patch when shuffling fds.
74303
74304 2006-09-25  Bruno Haible  <bruno@clisp.org>
74305
74306         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
74307         Reported by Jim Meyering.
74308
74309 2006-09-24  Jim Meyering  <jim@meyering.net>
74310
74311         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
74312         compare a pointer against a literal "0".  That caused failures with
74313         at least HP-UX's hpcc.
74314
74315 2006-09-22  Simon Josefsson  <jas@extundo.com>
74316
74317         * modules/gc-sha1:
74318         * modules/gc-md4:
74319         * modules/gc-hmac-sha1:
74320         * modules/gc-hmac-md5:
74321         * modules/gc-des:
74322         * modules/gc-arcfour: Distribute more files.
74323
74324 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74325
74326         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
74327         (gl_linked_iterator_from_to): Initialize struct completely.
74328         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
74329         (gl_tree_iterator_from_to): Likewise
74330         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
74331         * lib/gl_array_list.c [lint] (gl_array_iterator)
74332         (gl_array_iterator_from_to): Likewise.
74333         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
74334         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
74335         (gl_carray_iterator_from_to): Likewise.
74336
74337         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
74338         * lib/md4.c (md4_process_block): Remove unused variable.
74339         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
74340         parentheses for clarity.
74341
74342 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74343
74344         * modules/bison-i18n (Depends-on): Add gettext.
74345
74346 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74347
74348         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
74349         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
74350         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
74351         also add missing comma that caused broken test.
74352         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
74353         stdlib.h, for `abort'.
74354         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
74355         variables.
74356         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
74357         include unistd.h if present, for `rmdir'.
74358         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
74359         variables.
74360         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
74361         in the process include standard headers for prototypes.
74362         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
74363         gets declared on GNU/Linux.
74364         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
74365         unistd.h, for `rmdir'.
74366         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
74367
74368         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
74369         always true.
74370         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
74371
74372         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
74373
74374 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74375
74376         * gnulib-tool (func_version): Create output all at once.  This
74377         may help avoid triggering unnecessary SIGPIPEs, and at any
74378         rate it doesn't hurt.
74379
74380 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74381             Bruno Haible  <bruno@clisp.org>
74382
74383         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
74384         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
74385         * m4/signed.m4 (bh_C_SIGNED): Likewise.
74386
74387         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
74388         (gl_FUNC_VASPRINTF): Invoke it.
74389
74390 2006-09-22  Bruno Haible  <bruno@clisp.org>
74391
74392         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
74393         getloadavg.c as first argument.
74394
74395 2006-09-22  Bruno Haible  <bruno@clisp.org>
74396
74397         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
74398         at the beginning of the gl_INIT macro.
74399         * modules/getloadavg (configure.ac): Pass $gl_source_base to
74400         gl_GETLOADAVG.
74401
74402 2006-09-22  Bruno Haible  <bruno@clisp.org>
74403
74404         * gnulib-tool (func_create_megatestdir): Don't include the config-h
74405         module.
74406         Suggested by Ralf Wildenhues.
74407
74408 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
74409
74410         Import this patch from libc:
74411
74412         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
74413
74414         * lib/regex_internal.c (re_string_reconstruct): Handle
74415         offset < pstr->valid_raw_len && pstr->offsets_needed case.
74416         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
74417         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
74418         re_string_context_at.
74419
74420         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
74421         now requires it.
74422         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
74423         gl_REGEX now does it for us.
74424         (gl_REGEX): Add test taken from
74425         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
74426
74427         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
74428         Check that large offsets work.  Modernize Autoconf usages.
74429         Prefer "yes" to mean a good thing rather than a bad.
74430         Don't put "#define mkstemp" in config.h, as this might interfere
74431         with standard system headers that "#define mkstemp mkstemp64".
74432
74433         * modules/mkstemp (Depends-on): Add extensions, so that
74434         mkstemp is visible on some platforms.
74435         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
74436         (Include): Change to "mkstemp.h" from <stdlib.h>.
74437         (Files): Add mkstemp.h.
74438
74439         * lib/mkstemp.h: New file, since some standard headers
74440         #define mkstemp.
74441         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
74442         Include "mkstemp.h".
74443         Make the _LIBC code resemble glibc original more,
74444         e.g., use K&R style.
74445         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
74446         (mkstemp): Remove, since mkstemp.h does this for us.
74447         * lib/stdlib--.h: Include mkstemp.h.
74448
74449         Import this patch from libc:
74450
74451         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
74452
74453         * lib/tempname.c (__gen_tempname): Change attempts_min
74454         into a macro.  Use preprocessor to decide how to initialize
74455         attempts [Coverity CID 67].
74456
74457 2006-09-20  Bruno Haible  <bruno@clisp.org>
74458
74459         * lib/mkdtemp.c: Import from libc.
74460         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
74461                 * sysdeps/posix/tempname.c (__gen_tempname): Change
74462                 attempts_min into a macro.  Use preprocessor to decide how to
74463                 initialize attempts [Coverity CID 67].
74464         2001-11-27  Paul Eggert  <eggert@twinsun.com>
74465                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
74466                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
74467
74468 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74469
74470         * gnulib-tool (func_exit): New function, to allow to pass the
74471         exit status portably through the trap.  Use everywhere.
74472         (--help, --version): Signal a write error.
74473         (trap): catch SIGPIPE, for write errors.
74474         Exit at the end of the trap, with the correct exit status.
74475
74476 2006-09-19  Karl Berry  <karl@gnu.org>
74477
74478         * doc/gnulib.texi: note about the license texinfo files.
74479
74480 2006-09-19  Eric Blake  <ebb9@byu.net>
74481
74482         * gnulib-tool: Avoid space-tab.
74483
74484 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
74485
74486         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
74487         that prevented coreutils 6.1 from building.  Problem reported
74488         by Petter Reinholdtsen.
74489
74490 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
74491
74492         * gnulib-tool (avoidlist): Fix typo that broke options like
74493         --avoid=lock that are used by coreutils bootstrap.
74494
74495 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
74496
74497         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
74498         more systematically.
74499
74500 2006-09-18  Jim Meyering  <jim@meyering.net>
74501
74502         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
74503
74504 2006-09-18  Bruno Haible  <bruno@clisp.org>
74505
74506         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
74507
74508 2006-09-18  Bruno Haible  <bruno@clisp.org>
74509
74510         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
74511         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
74512         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
74513         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
74514         * m4/gettext.m4: Require autoconf >= 2.52.
74515         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
74516         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
74517         of gl_cv_header_inttypes_h.
74518
74519 2006-09-18  Bruno Haible  <bruno@clisp.org>
74520
74521         * lib/javaversion.c: Include configmake.h.
74522
74523 2006-09-18  Bruno Haible  <bruno@clisp.org>
74524
74525         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
74526         avoid that the while loops be executed in a subshell.
74527
74528 2006-09-18  Bruno Haible  <bruno@clisp.org>
74529
74530         * MODULES.html.sh (func_module): Break long lines.
74531         Suggested by Bruce Korb <bkorb@gnu.org>.
74532
74533 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74534
74535         Speed up by a factor of 1.12.
74536         * gnulib-tool (nl): New variable.
74537         (func_import): Rewrite include directive extraction to only read each
74538         directive once.
74539
74540 2006-09-17  Bruno Haible  <bruno@clisp.org>
74541
74542         * modules/javaversion (Makefile.am): Remove DEFS setting.
74543         (Depends-on): Add configmake, for PKGDATADIR definition.
74544
74545 2006-09-17  Bruno Haible  <bruno@clisp.org>
74546
74547         * gnulib-tool (func_create_testdir): Rewrite all files at once.
74548
74549 2006-09-17  Bruno Haible  <bruno@clisp.org>
74550
74551         * gnulib-tool (func_append): New function, stolen from libtool.m4.
74552         (func_modules_transitive_closure, func_modules_add_dummy,
74553         func_modules_to_filelist, func_import, func_create_testdir,
74554         func_create_megatestdir, ...): Use it wherever possible.
74555         Suggested by Ralf Wildenhues.
74556
74557 2006-09-16  Karl Berry  <karl@gnu.org>
74558
74559         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
74560         to avoid sectioning errors.
74561         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
74562         [ifinfo]: blank line after @center-ed titles.
74563         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
74564         Spell FSF address consistently with others.
74565         (These changes approved by rms.)
74566
74567 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74568
74569         Speed up by a factor of 1.61.
74570         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
74571         already checked module names again.
74572
74573 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74574
74575         Speed up by a factor of 1.13.
74576         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
74577         for new_files, and the input to func_add_or_update.
74578
74579 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74580
74581         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
74582         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
74583
74584 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
74585
74586         * modules/mkancesdirs (Depends-on): Add fcntl.
74587         * modules/savewd: New file.
74588         * MODULES.html.sh (File system functions): Add savewd.
74589
74590         * modules/configmake (Makefile.am): Add support for the
74591         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
74592
74593 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
74594
74595         * m4/savewd.m4: New file.
74596
74597 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
74598
74599         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
74600         (dirchownmod): New arg FD.  All callers changed.
74601         Use FD rather than opening the directory ourself, as opening is
74602         now the caller's responsibility.
74603         * lib/dirchownmod.h: Likewise.
74604         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
74605         hosts that require <sys/types.h> before <sys/stat.h>.  Include
74606         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
74607         (test_dir): Remove.
74608         (mkancesdirs): Return length of prefix of FILE that has already
74609         been made, or -2 if there is a child doing the work.  Redo
74610         algorithm so that it is O(N) rather than O(N**2).  Optimize away
74611         ".", and treat ".." specially since it might stray back into
74612         already-created areas.  Use a subprocess if necessary.  New arg
74613         WD; all users changed.  MAKE_DIR function should now return 1
74614         if it creates a directory that is not readable.  Return -2 if
74615         a child process is spun off.
74616         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
74617         Adjust signature to match code.
74618         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
74619         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
74620         all users changed.
74621         * lib/savewd.c, lib/savewd.h: New files.
74622
74623 2006-09-15  Jim Meyering  <jim@meyering.net>
74624
74625         * modules/rename-dest-slash: New module.
74626         * MODULES.html.sh (posix_compat): Add it here.
74627
74628         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
74629
74630 2006-09-15  Jim Meyering  <jim@meyering.net>
74631
74632         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
74633         file.
74634
74635         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
74636
74637 2006-09-15  Jim Meyering  <jim@meyering.net>
74638
74639         * lib/rename-dest-slash.c (has_trailing_slash): Use
74640         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
74641         (rpl_rename_dest_slash): Perform the cheaper trailing slash
74642         test before testing whether SRC is a directory.
74643         Suggestions from Bruno Haible.
74644
74645         Avoid a warning about an unused variable.
74646         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
74647         into the #ifdef block where it's used.
74648
74649         * lib/rename-dest-slash.c: New file.
74650
74651 2006-09-14  Bruno Haible  <bruno@clisp.org>
74652
74653         * lib/allocsa.c: Include <config.h> unconditionally.
74654         * lib/asnprintf.c: Likewise.
74655         * lib/asprintf.c: Likewise.
74656         * lib/c-strcasecmp.c: Likewise.
74657         * lib/c-strcasestr.c: Likewise.
74658         * lib/c-strncasecmp.c: Likewise.
74659         * lib/c-strstr.c: Likewise.
74660         * lib/classpath.c: Likewise.
74661         * lib/clean-temp.c: Likewise.
74662         * lib/concatpath.c: Likewise.
74663         * lib/copy-file.c: Likewise.
74664         * lib/csharpcomp.c: Likewise.
74665         * lib/csharpexec.c: Likewise.
74666         * lib/execute.c: Likewise.
74667         * lib/fatal-signal.c: Likewise.
74668         * lib/findprog.c: Likewise.
74669         * lib/fwriteerror.c: Likewise.
74670         * lib/gl_array_list.c: Likewise.
74671         * lib/gl_array_oset.c: Likewise.
74672         * lib/gl_avltree_list.c: Likewise.
74673         * lib/gl_avltree_oset.c: Likewise.
74674         * lib/gl_avltreehash_list.c: Likewise.
74675         * lib/gl_carray_list.c: Likewise.
74676         * lib/gl_linked_list.c: Likewise.
74677         * lib/gl_linkedhash_list.c: Likewise.
74678         * lib/gl_list.c: Likewise.
74679         * lib/gl_oset.c: Likewise.
74680         * lib/gl_rbtree_list.c: Likewise.
74681         * lib/gl_rbtree_oset.c: Likewise.
74682         * lib/gl_rbtreehash_list.c: Likewise.
74683         * lib/imaxabs.c: Likewise.
74684         * lib/imaxdiv.c: Likewise.
74685         * lib/javacomp.c: Likewise.
74686         * lib/javaexec.c: Likewise.
74687         * lib/javaversion.c: Likewise.
74688         * lib/linebreak.c: Likewise.
74689         * lib/localcharset.c: Likewise.
74690         * lib/lock.c: Likewise.
74691         * lib/mbchar.c: Likewise.
74692         * lib/mbswidth.c: Likewise.
74693         * lib/mkdtemp.c: Likewise.
74694         * lib/pipe.c: Likewise.
74695         * lib/printf-args.c: Likewise.
74696         * lib/printf-parse.c: Likewise.
74697         * lib/progname.c: Likewise.
74698         * lib/progreloc.c: Likewise.
74699         * lib/readlink.c: Likewise.
74700         * lib/sh-quote.c: Likewise.
74701         * lib/stpcpy.c: Likewise.
74702         * lib/stpncpy.c: Likewise.
74703         * lib/strcasecmp.c: Likewise.
74704         * lib/strcasestr.c: Likewise.
74705         * lib/strcspn.c: Likewise.
74706         * lib/striconv.c: Likewise.
74707         * lib/strncasecmp.c: Likewise.
74708         * lib/strnlen1.c: Likewise.
74709         * lib/strstr.c: Likewise.
74710         * lib/strtok_r.c: Likewise.
74711         * lib/tls.c: Likewise.
74712         * lib/tmpdir.c: Likewise.
74713         * lib/unicodeio.c: Likewise.
74714         * lib/unsetenv.c: Likewise.
74715         * lib/vasnprintf.c: Likewise.
74716         * lib/vasprintf.c: Likewise.
74717         * lib/wait-process.c: Likewise.
74718         * lib/xallocsa.c: Likewise.
74719         * lib/xsetenv.c: Likewise.
74720         * lib/xstriconv.c: Likewise.
74721
74722 2006-09-13  Simon Josefsson  <jas@extundo.com>
74723
74724         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
74725         that internally, suggested by Ralf Wildenhues
74726         <Ralf.Wildenhues@gmx.de>.
74727
74728 2006-09-13  Simon Josefsson  <jas@extundo.com>
74729
74730         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
74731         @LIBOBJS@.
74732         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
74733
74734 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
74735
74736         * lib/_fpending.c: Include <config.h> unconditionally, since we no
74737         longer worry about uses that don't define HAVE_CONFIG_H.
74738         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
74739         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
74740         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
74741         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
74742         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
74743         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
74744         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
74745         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
74746         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
74747         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
74748         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
74749         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
74750         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
74751         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
74752         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
74753         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
74754         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
74755         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
74756         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
74757         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
74758         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
74759         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
74760         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
74761         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
74762         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
74763         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
74764         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
74765         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
74766         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
74767         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
74768         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
74769         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
74770         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
74771         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
74772         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
74773         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
74774         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
74775         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
74776         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
74777         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
74778         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
74779         Likewise.
74780
74781 2006-09-13  Eric Blake  <ebb9@byu.net>
74782
74783         * lib/getopt.c: Fix typo in last commit.
74784
74785 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
74786
74787         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
74788         dgettext.
74789
74790 2006-09-12  Jim Meyering  <jim@meyering.net>
74791
74792         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
74793         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
74794         Reported by Nelson H. F. Beebe.
74795
74796 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
74797
74798         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
74799         program_invocation_name and program_invocation_short_name are
74800         initialized.
74801         * lib/argp-namefrob.h: Move declarations of program_invocation_name
74802         and program_invocation_short_name to argp.h, so they are visible
74803         to user programs.
74804         * lib/argp.h: Likewise
74805
74806 2006-09-10  Bruno Haible  <bruno@clisp.org>
74807
74808         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
74809         m4/inttypes_h.m4, m4/uintmax_t.m4.
74810
74811 2006-09-10  Bruno Haible  <bruno@clisp.org>
74812
74813         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
74814         gl_AC_TYPE_UINTMAX_T.
74815
74816 2006-09-10  Bruno Haible  <bruno@clisp.org>
74817
74818         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
74819
74820 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
74821
74822         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
74823         convention.  Text proposed by Bruno Haible.
74824         (struct argp_option): Document the use of N_() wrappers.
74825
74826         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
74827         '\v', and translate the two parts separately, instead of feeding
74828         the whole string to gettext.  This allows to exclude
74829         '\v' from the strings visible to the translator by writing doc
74830         strings as N_("..") "\v" N_("..").
74831
74832 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
74833
74834         * config/srclist.txt: Undo latest change; the bug was fixed.
74835
74836 2006-09-09  Bruno Haible  <bruno@clisp.org>
74837
74838         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
74839         assignments if building a library without libtool.
74840         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
74841         in func_emit_lib_Makefile_am.
74842         (func_import): When building a static library libfoo.a, arrange to
74843         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
74844         (func_create_testdir): Likewise.
74845         * modules/gc (configure.ac, Makefile.am): If building statically,
74846         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
74847         * modules/iconvme (configure.ac, Makefile.am): Likewise.
74848         * modules/striconv (configure.ac, Makefile.am): Likewise.
74849         Based on a suggestion by Ralf Wildenhues.
74850
74851 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74852
74853         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
74854         Check for unistd.h too, since Autoconf doesn't assume POSIX.
74855         Also:
74856
74857         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74858         Add year_2050_test to catch glibc bug 2821
74859         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
74860
74861         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
74862         Prefer #ifdef to #if.
74863
74864         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
74865         Return from 'main' instead of calling 'exit'.
74866
74867 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74868
74869         * lib/mktime.c (guess_time_tm): Fix bug where mktime
74870         returned the maximum time_t value rather than (time_t) -1.
74871         Problem originally reported by William Bardwell
74872         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
74873
74874         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
74875         Moved to here ...
74876         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
74877         ... from here.
74878
74879 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74880
74881         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
74882         2821 is fixed.
74883
74884 2006-09-08  Jim Meyering  <jim@meyering.net>
74885
74886         Don't make generated files read-only.  That would bother too many
74887         people.  However, do retain the ability to work when targets are
74888         read-only: remove the destination and temporary files before writing
74889         them (when generated via sed or echo), or by using the -f option for
74890         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
74891         * modules/alloca-opt, modules/argz, modules/arpa_inet:
74892         * modules/byteswap, modules/configmake, modules/fcntl:
74893         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
74894         * modules/localcharset, modules/netinet_in, modules/poll:
74895         * modules/stdbool, modules/stdint, modules/sys_select:
74896         * modules/sys_socket, modules/sys_stat, modules/sysexits:
74897
74898 2006-09-08  Jim Meyering  <jim@meyering.net>
74899
74900         Avoid new build failure on FreeBSD 6.0.
74901         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
74902         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
74903         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
74904
74905 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74906
74907         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
74908
74909 2006-09-07  Jim Meyering  <jim@meyering.net>
74910
74911         Fix global typo in last change: use chmod u-w, not chmod u-x.
74912         Spotted by Paul Eggert and Bruce Korb.
74913         * modules/alloca-opt, modules/argz, modules/arpa_inet:
74914         * modules/byteswap, modules/configmake, modules/fcntl:
74915         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
74916         * modules/localcharset, modules/netinet_in, modules/poll:
74917         * modules/stdbool, modules/stdint, modules/sys_select:
74918         * modules/sys_socket, modules/sys_stat, modules/sysexits:
74919
74920 2006-09-06  Jim Meyering  <jim@meyering.net>
74921
74922         Make generated files be read-only.
74923         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
74924         Ensure that each generated file is now read-only.
74925         * modules/argz: Likewise.
74926         * modules/arpa_inet: Likewise.
74927         * modules/byteswap: Likewise.
74928         * modules/configmake: Likewise.
74929         * modules/fcntl: Likewise.
74930         * modules/fnmatch: Likewise.
74931         * modules/getopt: Likewise.
74932         * modules/glob: Likewise.
74933         * modules/inttypes: Likewise.
74934         * modules/netinet_in: Likewise.
74935         * modules/poll: Likewise.
74936         * modules/stdbool: Likewise.
74937         * modules/stdint: Likewise.
74938         * modules/sys_select: Likewise.
74939         * modules/sys_socket: Likewise.
74940         * modules/sys_stat: Likewise.
74941         * modules/sysexits: Likewise.
74942         * modules/localcharset: Same as above, but continue using temporary
74943         file named "t-$@" (why different?) rather than the "$@-t" used
74944         everywhere else.
74945
74946         * modules/sysexits (Makefile.am): Replace literal occurrences
74947         of "sysexit.h" more readable, and more consistent, "$@".
74948
74949 2006-09-06  Bruno Haible  <bruno@clisp.org>
74950
74951         * modules/striconv: New file.
74952         * modules/xstriconv: New file.
74953         * MODULES.html.sh (Internationalization functions): Add striconv,
74954         xstriconv.
74955
74956 2006-09-06  Bruno Haible  <bruno@clisp.org>
74957
74958         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
74959         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
74960         not using libtool correctly.
74961
74962 2006-09-06  Bruno Haible  <bruno@clisp.org>
74963
74964         * lib/striconv.h: New file.
74965         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
74966         iconvstring.c.
74967         * lib/xstriconv.h: New file.
74968         * lib/xstriconv.c: New file.
74969
74970 2006-09-06  Bruno Haible  <bruno@clisp.org>
74971
74972         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
74973         lib_..._LDFLAGS.
74974
74975 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74976
74977         * lib/argz_.h: Sync from Libtool.
74978
74979         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
74980                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
74981
74982         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
74983
74984 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
74985
74986         * modules/trim: New file.
74987
74988 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
74989
74990         * lib/trim.h: New file.
74991         * lib/trim.c: New file.
74992
74993 2006-09-05  Bruno Haible  <bruno@clisp.org>
74994
74995         * MODULES.html.sh (String handling): Add trim.
74996
74997 2006-09-04  Karl Berry  <karl@gnu.org>
74998
74999         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
75000         until next release.
75001
75002 2006-09-03  Bruno Haible  <bruno@clisp.org>
75003
75004         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
75005         correctly.
75006
75007 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
75008
75009         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
75010         not gl_GETLOADAVG.  Omit unneeded semicolons.
75011         Problems reported by Ralf Wildenhues in
75012         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
75013         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
75014         at the end, which is the usual gnulib style.
75015
75016         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
75017         of doing all the work ourselves.
75018         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
75019         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
75020
75021 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
75022
75023         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
75024         Problem reported by Ralf Wildenhues in
75025         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
75026
75027         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
75028         HAVE_STRUCT_STATFS_F_FSTYPENAME.
75029
75030 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
75031
75032         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
75033         yesterday's patch by changing test -n to test -z.
75034
75035 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
75036
75037         * modules/getloadavg (Files): Add m4/getloadavg.m4.
75038         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
75039         the former is now obsolescent.
75040
75041         * modules/chdir-long (Depends-on): Add fcntl.
75042
75043 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
75044
75045         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
75046         obsolescent, and programs should use gnulib instead.
75047         * m4/getloadavg.m4: New file, with contents taken from Autoconf
75048         but with prefixes changed.
75049
75050 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
75051
75052         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
75053         or stdbool.h, because they might not exist while configuring.
75054
75055         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
75056         Don't include unistd.h or limits.h; not needed, since chdir-long.h
75057         does that for us.
75058         (O_DIRECTORY): Remove.
75059
75060 2006-08-31  Eric Blake  <ebb9@byu.net>
75061
75062         * gnulib-tool: Don't let emacs change spaces to TAB.
75063
75064 2006-08-31  Bruno Haible  <bruno@clisp.org>
75065
75066         * gnulib-tool: When calling func_import more than once, do it in a
75067         subshell.
75068         Reported by Eric Blake <ebb9@byu.net>.
75069
75070 2006-08-31  Bruno Haible  <bruno@clisp.org>
75071
75072         * gnulib-tool (nl): Remove variable.
75073         (sed_transform_lib_file): Use more robust test for config-h module.
75074         (func_import): Fix typo in 2006-08-25 patch.
75075
75076 2006-08-31  Bruno Haible  <bruno@clisp.org>
75077
75078         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
75079         specified, augment Makefile.am variables instead of assigning them.
75080
75081 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
75082
75083         Work around a bug in both the Linux and SunOS 64-bit kernels:
75084         nanosleep mishandles sleeps for longer than 2**31 seconds.
75085         Problem reported by Frank v Waveren in
75086         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
75087         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
75088         Check for nanosleep bug.
75089         (LIB_NANOSLEEP): Append clock_gettime library if needed.
75090
75091 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
75092
75093         Work around a bug in both the Linux and SunOS 64-bit kernels:
75094         nanosleep mishandles sleeps for longer than 2**31 seconds.
75095         Problem reported by Frank v Waveren in
75096         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
75097         * lib/nanosleep.c (BILLION): New constant.
75098         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
75099         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
75100         implementation.
75101
75102 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
75103
75104         * modules/nanosleep (Depends-on): Add gettime.
75105
75106 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
75107         and Simon Josefsson  <jas@extundo.com>
75108         and Oskar Liljeblad  <oskar@osk.mine.nu>
75109
75110         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
75111         * gnulib-tool (func_import): New license type 'unmodifiable license
75112         text'.
75113         * modules/fdl: Use it.  Longer description.
75114         * module/gpl, module/lgpl: New files.
75115
75116 2006-08-30  Jim Meyering  <jim@meyering.net>
75117
75118         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
75119         shadowing the parameter.
75120
75121 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75122
75123         Sync from Libtool:
75124
75125         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75126
75127         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
75128         sharing with gnulib.  Report by Eric Blake.
75129
75130 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
75131
75132         * modules/isapipe: New file.
75133         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
75134
75135 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
75136
75137         * modules/configmake (Makefile.am): Add a comment, and omit
75138         the CONFIGMAKE_ prefix from generated macro names.  Suggested
75139         by Bruno Haible.
75140
75141 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
75142
75143         * m4/isapipe.m4: New file.
75144
75145 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
75146
75147         * lib/isapipe.c, lib/isapipe.h: New files.
75148
75149 2006-08-29  Jim Meyering  <jim@meyering.net>
75150
75151         * modules/configmake (Makefile.am): Make configmake.h depend on
75152         Makefile.  Otherwise, a stale configmake.h could hang around.
75153
75154 2006-08-29  Eric Blake  <ebb9@byu.net>
75155
75156         * lib/error.c (error_at_line, print_errno_message): Match libc, after
75157         resolution of upstream bug 3044.
75158
75159 2006-08-29  Bruno Haible  <bruno@clisp.org>
75160
75161         * modules/localcharset (Depends-on): Add configmake.
75162         (Makefile.am): Remove setting of LIBDIR through DEFS.
75163
75164 2006-08-29  Bruno Haible  <bruno@clisp.org>
75165
75166         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
75167         defined.
75168
75169 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
75170
75171         * modules/fcntl: New file.
75172         * modules/chdir-safer (Depends-on): Add fcntl.
75173         * modules/fts: Likewise.
75174         * modules/mkdir-p: Likewise.
75175
75176         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
75177         This undoes the most recent change, since we're now addressing the
75178         problem in a different way.
75179
75180         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
75181         into output, since the output might be called Makefile.am even
75182         if $makefile_name is something different.
75183         (func_import): Use $makefile_am rather than
75184         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
75185         empty.
75186
75187         * modules/inttypes (Files): Add m4/inttypes-h.m4.
75188
75189 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
75190
75191         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
75192         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
75193         recent change to stdint.m4, since we're now addressing the problem in a
75194         different way.
75195
75196 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
75197
75198         * m4/fcntl_h.m4: New file.
75199
75200 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
75201
75202         * lib/fcntl_.h: New file.
75203         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
75204         the fcntl module.
75205         * lib/dirchownmod.c: Likewise.
75206         * lib/fts.c: Likewise.
75207
75208         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
75209         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
75210         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
75211         just before including <inttypes.h>, to avoid circular inclusion.
75212
75213 2006-08-28  Jim Meyering  <jim@meyering.net>
75214
75215         * doc/visibility.texi: Actually read and correct the grammar of the
75216         sentence affected by yesterday's change.
75217
75218 2006-08-28  Eric Blake  <ebb9@byu.net>
75219
75220         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
75221         needs wrapper.
75222
75223 2006-08-28  Eric Blake  <ebb9@byu.net>
75224
75225         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
75226
75227 2006-08-28  Eric Blake  <ebb9@byu.net>
75228
75229         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
75230
75231 2006-08-28  Bruno Haible  <bruno@clisp.org>
75232
75233         * modules/c-strstr: New file, from GNU gettext.
75234         * MODULES.html.sh (String handling): Add c-strstr.
75235
75236 2006-08-28  Bruno Haible  <bruno@clisp.org>
75237
75238         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
75239         macros.
75240         Reported by Eric Blake.
75241
75242 2006-08-28  Bruno Haible  <bruno@clisp.org>
75243
75244         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
75245         (VASNPRINTF): Return a string of length > INT_MAX without failing.
75246         * lib/vasprintf.c: Include errno.h, limits.h.
75247         (EOVERFLOW): New fallback definition.
75248         (vasprintf): Test here whether the string length is > INT_MAX.
75249         * lib/vsnprintf.c: Include errno.h, limits.h.
75250         (EOVERFLOW): New fallback definition.
75251         (vsnprintf): Fix bug when generated string was too long for the buffer.
75252         Test here whether the string length is > INT_MAX.
75253
75254 2006-08-28  Bruno Haible  <bruno@clisp.org>
75255
75256         * lib/inttypes_.h (SCNX*): Remove definitions.
75257         Reported by Eric Blake.
75258
75259 2006-08-28  Bruno Haible  <bruno@clisp.org>
75260
75261         * lib/c-strstr.h: New file, from GNU gettext.
75262         * lib/c-strstr.c: New file, from GNU gettext.
75263
75264 2006-08-28  Bruno Haible  <bruno@clisp.org>
75265
75266         * gnulib-tool: Reorder some statements.
75267
75268 2006-08-28  Bruno Haible  <bruno@clisp.org>
75269
75270         * gnulib-tool: New option --makefile-name.
75271         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
75272         $makefile_name.
75273         (func_import): Write $makefile_name to the cache file, and read it from
75274         there unless explicitly specified. Use $makefile_name as file name
75275         instead of Makefile.am. Adjust the recommendations accordingly.
75276
75277 2006-08-28  Bruno Haible  <bruno@clisp.org>
75278
75279         * gnulib-tool (func_verify_module): Check against misapplying patch.
75280
75281 2006-08-28  Bruno Haible  <bruno@clisp.org>
75282
75283         * gnulib-tool (func_relativize, func_relconcat): New functions.
75284         Give an error if --local-dir is given with --update.
75285         Remove trailing slashes from $local_gnulib_dir.
75286         (func_import): Store the relativized $local_gnulib_dir in
75287         gnulib-cache.m4, and read it from there if not specified explicitly.
75288
75289 2006-08-28  Bruno Haible  <bruno@clisp.org>
75290
75291         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
75292         is the current directory. Respect also $local_gnulib_dir.
75293
75294 2006-08-28  Bruno Haible  <bruno@clisp.org>
75295             Simon Josefsson  <jas@extundo.com>
75296
75297         BeOS portability.
75298         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
75299
75300 2006-08-27  Jim Meyering  <jim@meyering.net>
75301
75302         * doc/visibility.texi: Remove duplicate word: "pointer".
75303
75304 2006-08-26  Bruno Haible  <bruno@clisp.org>
75305
75306         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
75307         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
75308         (Makefile.am): Create inttypes.h from inttypes_.h.
75309         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
75310
75311         * modules/imaxabs: New file.
75312
75313         * modules/imaxdiv: New file.
75314
75315 2006-08-26  Bruno Haible  <bruno@clisp.org>
75316
75317         * m4/inttypes.m4: New file.
75318         * m4/_inttypes_h.m4: Remove file.
75319         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
75320         PRI_MACROS_BROKEN.
75321         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
75322
75323         * m4/imaxabs.m4: New file.
75324
75325         * m4/imaxdiv.m4: New file.
75326
75327 2006-08-26  Bruno Haible  <bruno@clisp.org>
75328
75329         * lib/inttypes_.h: New file.
75330         * lib/inttypes.h: Remove file.
75331         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
75332
75333         * lib/imaxabs.c: New file.
75334
75335         * lib/imaxdiv.c: New file.
75336
75337 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
75338
75339         New config-h module, so that "make" output needn't be cluttered
75340         by -DHAVE_CONFIG_H.
75341         * MODULES.html.sh (Support for building libraries and executables):
75342         Add config-h.
75343         * modules/config-h: New file.
75344         * gnulib-tool (nl, sed_transform_lib_file): New vars.
75345         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
75346         the config-h module is used.
75347
75348         New configmake module, so that "make" output needn't be cluttered
75349         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
75350         * MODULES.html.sh (Support for building libraries and executables):
75351         Add configmake.
75352         * modules/configmake: New file.
75353
75354 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
75355
75356         * m4/config-h.m4: New file.
75357
75358 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
75359
75360         * config/srclist.txt: Add elisp-comp.
75361
75362 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
75363
75364         * MODULES.html.sh (Support for building libraries and executables):
75365         Add elisp-comp.
75366         * build-aux/elisp-comp: New file.
75367         * modules/elisp-comp: New file.
75368
75369 2006-08-24  Bruno Haible  <bruno@clisp.org>
75370
75371         * gnulib-tool (func_create_testdir): Use non-default values of
75372         sourcebase and m4base.
75373
75374 2006-08-24  Bruno Haible  <bruno@clisp.org>
75375
75376         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
75377         HTML structure.
75378
75379 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
75380
75381         * modules/openat (Depends-on): Add lchown.
75382
75383 2006-08-23  Bruno Haible  <bruno@clisp.org>
75384
75385         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
75386         of gl_LOCK_EARLY instead of gl_LOCK.
75387
75388 2006-08-23  Bruno Haible  <bruno@clisp.org>
75389
75390         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
75391         on OSF/1 to no.
75392         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
75393
75394 2006-08-23  Bruno Haible  <bruno@clisp.org>
75395
75396         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
75397         as unusable.
75398
75399         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
75400         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
75401         (gl_LOCK): New macro.
75402
75403 2006-08-22  Simon Josefsson  <jas@extundo.com>
75404
75405         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
75406         to md5 module.
75407
75408 2006-08-22  Simon Josefsson  <jas@extundo.com>
75409
75410         * MODULES.html.sh: Add "Support for maintaining and release
75411         projects".
75412
75413         * build-aux/gnupload: New file, from coreutils.
75414
75415 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
75416
75417         Avoid the need for AC_LIBSOURCES in m4 macros.
75418         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
75419         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
75420         * modules/check-version (EXTRA_DIST): Add check-version.h.
75421         * modules/crc (EXTRA_DIST): Add crc.h.
75422         * modules/des (EXTRA_DIST): Add des.h.
75423         * modules/gc (EXTRA_DIST): Add gc.h.
75424         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
75425         * modules/getline (EXTRA_DIST): Add getline.h.
75426         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
75427         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
75428         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
75429         * modules/md2 (EXTRA_DIST): Add md2.h.
75430         * modules/md4 (EXTRA_DIST): Add md4.h.
75431         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
75432         * modules/read-file (EXTRA_DIST): Add read-file.h.
75433         * modules/readline (EXTRA_DIST): Add readline.h.
75434         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
75435         rijndael-api-fst.h.
75436
75437 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
75438
75439         * m4/rijndael.m4 (gl_ARCFOUR):
75440         * m4/arctwo.m4 (gl_ARCTWO):
75441         * m4/check-version.m4 (gl_CHECK_VERSION):
75442         * m4/crc.m4 (gl_CRC):
75443         * m4/des.m4 (gl_DES):
75444         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
75445         * m4/gc.m4 (gl_GC):
75446         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
75447         * m4/getline.m4 (gl_FUNC_GETLINE):
75448         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
75449         * m4/hmac-md5.m4 (gl_HMAC_MD5):
75450         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
75451         * m4/md2.m4 (gl_MD2):
75452         * m4/md4.m4 (gl_MD4):
75453         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
75454         * m4/read-file.m4 (gl_FUNC_READ_FILE):
75455         * m4/readline.m4 (gl_FUNC_READLINE):
75456         * m4/rijndael.m4 (gl_RIJNDAEL):
75457         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
75458         to get the necessary .h files and whatnot.
75459
75460 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
75461
75462         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
75463         gnulib rather than the other way around.
75464         * config/srclistvars.sh (COREUTILS): Remove.
75465
75466 2006-08-22  Jim Meyering  <jim@meyering.net>
75467
75468         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
75469
75470         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
75471
75472 2006-08-22  Eric Blake  <ebb9@byu.net>
75473
75474         * modules/regexprops-generic: New file.
75475         * MODULES.html.sh (Support for building documentation): List it.
75476
75477 2006-08-22  Eric Blake  <ebb9@byu.net>
75478
75479         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
75480         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
75481         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
75482         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
75483
75484 2006-08-22  Bruno Haible  <bruno@clisp.org>
75485
75486         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
75487         and lib_LTLIBRARIES like the other lib_* variables.
75488
75489 2006-08-22  Bruno Haible  <bruno@clisp.org>
75490
75491         * build-aux/x-to-1.in: New file, from GNU gettext.
75492
75493 2006-08-22  Bruno Haible  <bruno@clisp.org>
75494
75495         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
75496         <utmpx.h> exists.
75497
75498 2006-08-22  Bruno Haible  <bruno@clisp.org>
75499
75500         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
75501         <utmpx.h> exists.
75502
75503 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
75504
75505         BeOS portability.
75506         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
75507         exist.
75508         Problem reported by Bruno Haible.
75509
75510 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
75511
75512         Avoid the need for AC_LIBSOURCES in m4 macros.
75513         * modules/acl (EXTRA_DIST): Add acl.h.
75514         * modules/argmatch (Files): Add m4/argmatch.m4.
75515         (configure.ac): Add gl_ARGMATCH.
75516         (EXTRA_DIST): Renamed from lib_SOURCES, for
75517         consistency with the other modules.  Remove argmatch.c.
75518         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
75519         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
75520         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
75521         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
75522         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
75523         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
75524         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
75525         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
75526         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
75527         * modules/closeout (EXTRA_DIST): Add closeout.h.
75528         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
75529         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
75530         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
75531         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
75532         dirname.h; remove basename.c and stripslash.c.
75533         * modules/exclude (EXTRA_DIST): Add exclude.h.
75534         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
75535         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
75536         * modules/file-type (EXTRA_DIST): Add file-type.h.
75537         * modules/filemode (EXTRA_DIST): Add filemode.h.
75538         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
75539         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
75540         * modules/fpending (EXTRA_DIST): Add __fpending.h.
75541         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
75542         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
75543         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
75544         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
75545         * modules/getdate (EXTRA_DIST): Add getdate.c.
75546         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
75547         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
75548         * modules/getpass (EXTRA_DIST): Add getpass.h.
75549         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
75550         * modules/group-member (EXTRA_DIST): Add group-member.h.
75551         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
75552         * modules/hash (EXTRA_DIST): Add hash.h.
75553         * modules/human (EXTRA_DIST): Add human.h.
75554         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
75555         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
75556         * modules/lchown (EXTRA_DIST): Add lchown.h.
75557         * modules/long-options (EXTRA_DIST): Add long-options.h.
75558         * modules/lstat (EXTRA_DIST): Add lstat.h.
75559         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
75560         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
75561         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
75562         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
75563         * modules/memxor (EXTRA_DIST): Add memxor.h.
75564         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
75565         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
75566         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
75567         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
75568         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
75569         * modules/physmem (EXTRA_DIST): Add physmem.h.
75570         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
75571         * modules/posixver (EXTRA_DIST): Add posixver.h.
75572         * modules/quote (EXTRA_DIST): Add quote.h.
75573         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
75574         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
75575         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
75576         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
75577         regex_internal.h regexec.c.
75578         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
75579         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
75580         * modules/same (EXTRA_DIST): Add same.h.
75581         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
75582         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
75583         * modules/savedir (EXTRA_DIST): Add savedir.h.
75584         * modules/sha1 (EXTRA_DIST): Add sha1.h.
75585         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
75586         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
75587         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
75588         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
75589         * modules/strdup (EXTRA_DIST): Add strdup.h.
75590         * modules/strftime (EXTRA_DIST): Add strftime.h.
75591         * modules/strndup (EXTRA_DIST): Add strndup.h.
75592         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
75593         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
75594         * modules/time_r (EXTRA_DIST): Add time_r.h.
75595         * modules/timespec (EXTRA_DIST): Add timespec.h.
75596         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
75597         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
75598         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
75599         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
75600         * modules/userspec (EXTRA_DIST): Add userspec.h.
75601         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
75602         * modules/utimens (EXTRA_DIST): Add utimens.h.
75603         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
75604         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
75605         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
75606         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
75607         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
75608         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
75609         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
75610         * modules/yesno (EXTRA_DIST): Add yesno.h.
75611
75612 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
75613
75614         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
75615
75616         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
75617         * m4/dev-ino.m4, same-inode.m4: Remove.
75618
75619         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
75620         * m4/acl.m4 (AC_FUNC_ACL):
75621         * m4/backupfile.m4 (gl_BACKUPFILE):
75622         * m4/c-strtod.m4 (gl_C99_STRTOLD):
75623         * m4/canon-host.m4 (gl_CANON_HOST):
75624         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
75625         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
75626         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
75627         * m4/cloexec.m4 (gl_CLOEXEC):
75628         * m4/close-stream.m4 (gl_CLOSE_STREAM):
75629         * m4/closeout.m4 (gl_CLOSEOUT):
75630         * m4/dirfd.m4 (gl_FUNC_DIRFD):
75631         * m4/dirname.m4 (gl_DIRNAME):
75632         * m4/exclude.m4 (gl_EXCLUDE):
75633         * m4/exitfail.m4 (gl_EXITFAIL):
75634         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
75635         * m4/file-type.m4 (gl_FILE_TYPE):
75636         * m4/filemode.m4 (gl_FILEMODE):
75637         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
75638         * m4/fpending.m4 (gl_FUNC_FPENDING):
75639         * m4/fprintftime.m4 (gl_FPRINTFTIME):
75640         * m4/fts.m4 (gl_FUNC_FTS):
75641         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
75642         * m4/getdate.m4 (gl_GETDATE):
75643         * m4/gethrxtime.m4 (gl_GETHRXTIME):
75644         * m4/getpagesize.m4 (gl_GETPAGESIZE):
75645         * m4/getpass.m4 (gl_FUNC_GETPASS):
75646         * m4/gettime.m4 (gl_GETTIME):
75647         * m4/getugroups.m4 (gl_GETUGROUPS):
75648         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
75649         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
75650         * m4/hard-locale.m4 (gl_HARD_LOCALE):
75651         * m4/hash.m4 (gl_HASH):
75652         * m4/idcache.m4 (gl_IDCACHE):
75653         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
75654         * m4/lchown.m4 (gl_FUNC_LCHOWN):
75655         * m4/long-options.m4 (gl_LONG_OPTIONS):
75656         * m4/lstat.m4 (gl_FUNC_LSTAT):
75657         * m4/md5.m4 (gl_MD5):
75658         * m4/memcasecmp.m4 (gl_MEMCASECMP):
75659         * m4/memcoll.m4 (gl_MEMCOLL):
75660         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
75661         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
75662         * m4/memxor.m4 (gl_MEMXOR):
75663         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
75664         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
75665         * m4/modechange.m4 (gl_MODECHANGE):
75666         * m4/mountlist.m4 (gl_MOUNTLIST):
75667         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
75668         * m4/openat.m4 (gl_FUNC_OPENAT):
75669         * m4/pathmax.m4 (gl_PATHMAX):
75670         * m4/physmem.m4 (gl_PHYSMEM):
75671         * m4/posixtm.m4 (gl_POSIXTM):
75672         * m4/posixver.m4 (gl_POSIXVER):
75673         * m4/quote.m4 (gl_QUOTE):
75674         * m4/quotearg.m4 (gl_QUOTEARG):
75675         * m4/readtokens.m4 (gl_READTOKENS):
75676         * m4/readutmp.m4 (gl_READUTMP):
75677         * m4/regex.m4 (gl_REGEX):
75678         * m4/safe-read.m4 (gl_SAFE_READ):
75679         * m4/safe-write.m4 (gl_SAFE_WRITE):
75680         * m4/same.m4 (gl_SAME):
75681         * m4/save-cwd.m4 (gl_SAVE_CWD):
75682         * m4/savedir.m4 (gl_SAVEDIR):
75683         * m4/settime.m4 (gl_SETTIME):
75684         * m4/sha1.m4 (gl_SHA1):
75685         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
75686         * m4/stat-macros.m4 (gl_STAT_MACROS):
75687         * m4/stat-time.m4 (gl_STAT_TIME):
75688         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
75689         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
75690         * m4/strdup.m4 (gl_FUNC_STRDUP):
75691         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
75692         * m4/strndup.m4 (gl_FUNC_STRNDUP):
75693         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
75694         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
75695         * m4/time_r.m4 (gl_TIME_R):
75696         * m4/timespec.m4 (gl_TIMESPEC):
75697         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
75698         * m4/unlinkdir.m4 (gl_UNLINKDIR):
75699         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
75700         * m4/userspec.m4 (gl_USERSPEC):
75701         * m4/utimecmp.m4 (gl_UTIMECMP):
75702         * m4/utimens.m4 (gl_UTIMENS):
75703         * m4/xalloc.m4 (gl_XALLOC):
75704         * m4/xgetcwd.m4 (gl_XGETCWD):
75705         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
75706         * m4/xreadlink.m4 (gl_XREADLINK):
75707         * m4/xstrtod.m4 (gl_XSTRTOD):
75708         * m4/yesno.m4 (gl_YESNO):
75709         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
75710         to get the necessary .h files and whatnot.
75711
75712 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
75713             Bruno Haible  <bruno@clisp.org>
75714
75715         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
75716         /bin/sh understanding of '!' conditional negation.
75717
75718 2006-08-21  Jim Meyering  <jim@meyering.net>
75719
75720         * modules/openat (Depends-on): Really alphabetize.
75721
75722         * modules/acl (Depends-on): Add error and quote.
75723
75724         * check-module (find_included_lib_files): Add at-func.c to the
75725         ok-to-include-more-than-once white list.
75726
75727         * modules/openat (Depends-on): Add lstat.  Alphabetize.
75728
75729 2006-08-21  Bruno Haible  <bruno@clisp.org>
75730
75731         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
75732         Emit a pkgdata_DATA variable only if some snippets add contents to it.
75733         Reported by Martin Lambers <marlam@marlam.de>.
75734
75735 2006-08-21  Bruno Haible  <bruno@clisp.org>
75736
75737         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
75738         specify an installation location, don't emit a noinst_LIBRARIES or
75739         noinst_LTLIBRARIES assignment.
75740
75741 2006-08-21  Bruno Haible  <bruno@clisp.org>
75742
75743         BeOS portability.
75744         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
75745         BeOS has mbrtowc() but no <wctype.h>.
75746
75747 2006-08-21  Bruno Haible  <bruno@clisp.org>
75748
75749         BeOS portability.
75750         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
75751         exist.
75752
75753 2006-08-21  Bruno Haible  <bruno@clisp.org>
75754
75755         BeOS portability.
75756         * lib/mbchar.h: Include <wctype.h> only if it exists.
75757
75758 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75759
75760         Remove files that are no longer needed by their respective modules.
75761         * m4/obstack.m4: Remove.
75762         * m4/strerror_r.m4: Remove.
75763         * m4/uint32_t.m4: Remove.
75764         * m4/uintptr_t.m4: Remove.
75765         * m4/ullong_max.m4: Remove.
75766         * m4/xstrtoimax.m4: Remove.
75767         * m4/xstrtoumax.m4: Remove.
75768
75769         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
75770         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
75771         dependencies now capture this.
75772
75773         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
75774         Do not use AC_LIBSOURCES, since gnulib modules now do this.
75775         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
75776         * m4/human.m4 (gl_HUMAN): Likewise.
75777         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
75778         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
75779
75780         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
75781
75782         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
75783         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
75784         stdint.
75785         * m4/human.m4 (gl_HUMAN): Likewise.
75786         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
75787         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
75788         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
75789         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
75790         * m4/xstrtol (gl_XSTRTOL): Likewise.
75791
75792         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
75793         AC_TYPE_LONG_LONG_INT.
75794         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
75795         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
75796         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
75797         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
75798
75799         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
75800         on stdbool.
75801
75802         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
75803         (gl_PREREQ_XSTRTOUL): Remove.
75804
75805         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
75806
75807         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
75808         mode.
75809
75810 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75811
75812         Add and change modules to make it easier for coreutils to use
75813         gnulib-tool.
75814         * modules/backupfile (Files): Remove m4/d-ino.m4.
75815         (Depends-on): Add d-ino.
75816         * modules/cycle-check (Depends-on): Add stdint.
75817         (lib_SOURCES): Add cycle-check.h.
75818         * modules/d-ino: New module.
75819         * modules/d-type: New module.
75820         * modules/error (Files): Remove m4/strerror_r.m4.
75821         * modules/filemode (Files): Add m4/st_dm_mode.m4.
75822         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
75823         m4/inttypes_h.m4, m4/uintmax_t.m4.
75824         (Depends-on): Add stdint.
75825         (lib_SOURCES): Add fsusage.h.
75826         * modules/getcwd (Files): Remove d-ino.m4.
75827         (Depends-on): Add d-ino.
75828         * modules/getndelim2 (Depends-on): Add stdint.
75829         * modules/glob (Files): Remove m4/d-type.m4.
75830         (Depends-on): Add d-type.
75831         * modules/host-os: New module.
75832         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
75833         m4/inttypes_h.m4, m4/uintmax_t.m4.
75834         * Depends-on: Add stdint.
75835         (lib_SOURCES): Add human.h.
75836         * modules/inttostr (Files): Remove m4/intmax_t.m4,
75837         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
75838         m4/uintmax_t.m4, m4/ulonglong.m4.
75839         (Depends-on): Add stdint.
75840         (EXTRA_DIST): Add inttostr.h.
75841         * modules/lchmod: New module.
75842         * modules/link-follow: New module.
75843         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
75844         (Depends-on): Add lchmod.
75845         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
75846         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
75847         (Depends-on): Add stdint.
75848         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
75849         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
75850         (Depends-on): Add stdint.
75851         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
75852         * modules/perl: New module.
75853         * modules/regex (Depends-on): Add stdint.
75854         * modules/rmdir-errno: New module.
75855         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
75856         m4/intmax_t.m4.
75857         (Depends-on): Add stdint.
75858         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
75859         m4/uintmax_t.m4.
75860         (Depends-on): Add stdint.
75861         * modules/unlink-busy: New module.
75862         * modules/utimecmp (Depends-on): Add stdint.
75863         * modules/uptime: New module.
75864         * modules/winsz-ioctl: New module.
75865         * modules/winsz-termios: New module.
75866         * modules/xnanosleep (Depends-on): Add nanosleep.
75867         * modules/ullong_max: Remove.
75868         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
75869         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
75870         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
75871         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
75872         (Depends-on): Add inttypes.
75873         (lib_SOURCES): Add xstrtol.h.
75874         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
75875         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
75876         * MODULES.html.sh: Move 'assert' into the assert section.
75877         Move 'dummy' into the linking section.
75878         Remove ullong_max.
75879         Add section for compatibility checks for POSIX:2001 functions,
75880         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
75881         winsz-ioctl, and winsz-termios into it.
75882         Add lchmod.
75883         Add top-level Misc section and put host-os, perl, and uptime
75884         into it.
75885
75886 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75887
75888         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
75889         now assume the stdint module.  Do not include inttypes.h.
75890         * lib/fsusage.h: Likewise.
75891         * lib/getndelim2.c: Likewise.
75892         * lib/human.h: Likewise.
75893         * lib/inttostr.h: Likewise.
75894         * lib/obstack.c: Likewise.
75895         * lib/regex_internal.h: Likewise.
75896         * lib/tempname.c: Likewise.
75897         * lib/utimecmp.c: Likewise.
75898         * lib/xstrtol.h: Likewise.
75899
75900         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
75901
75902         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
75903         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
75904         * lib/xtime.h: Likewise.
75905
75906 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
75907
75908         * modules/openat (Files): Add lib/fchmodat.c.
75909         Fixes problem reported by Jay Youngman.
75910
75911 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
75912
75913         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
75914         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
75915
75916 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
75917             Bruno Haible  <bruno@clisp.org>
75918
75919         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
75920         and is a script that invokes bison. Tighten the code. Add comments.
75921
75922 2006-08-18  Jim Meyering  <jim@meyering.net>
75923
75924         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
75925         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
75926         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
75927         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
75928
75929 2006-08-18  Bruno Haible  <bruno@clisp.org>
75930
75931         * modules/bison-i18n: New file.
75932         * MODULES.html.sh (Internationalization functions): Add it.
75933
75934 2006-08-18  Bruno Haible  <bruno@clisp.org>
75935
75936         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
75937         sys/statvfs.h. When getmntinfo was found, check its declaration and
75938         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
75939
75940 2006-08-18  Bruno Haible  <bruno@clisp.org>
75941
75942         * m4/bison-i18n.m4: New file, from bison.
75943
75944 2006-08-18  Bruno Haible  <bruno@clisp.org>
75945
75946         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
75947         (ME_DUMMY): Treat "kernfs" as a dummy.
75948         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
75949
75950 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
75951
75952         Update from coreutils.
75953
75954         2006-08-15  Jim Meyering  <jim@meyering.net>
75955
75956         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
75957
75958         2006-01-17  Jim Meyering  <jim@meyering.net>
75959
75960         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
75961
75962         2006-01-11  Jim Meyering  <jim@meyering.net>
75963
75964         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
75965         Check for the lchmod function.
75966
75967 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
75968
75969         Update from coreutils.
75970
75971         * lib/__fpending.h: Add copyright notice.
75972         * lib/fprintftime.h: Likewise.
75973         * lib/savedir.c: Use (C) in copyright notice.
75974         * lib/savedir.h: Likewise.
75975
75976         2006-08-15  Jim Meyering  <jim@meyering.net>
75977
75978         * lib/at-func.c: New file, with the logic of all emulated at-functions.
75979         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
75980         in support of the EXPECTED_ERRNO macro.
75981         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
75982         definitions.  Instead, define the appropriate symbols and include
75983         "at-func.c".
75984         * lib/mkdirat.c (mkdirat): Likewise.
75985         * lib/fchmodat.c (fchmodat): Likewise.
75986         (ENOSYS): Remove definition.
75987         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
75988         it.  Don't include "unistd--.h" -- it wasn't ever used.
75989
75990         2006-01-17  Jim Meyering  <jim@meyering.net>
75991
75992         Rewrite fts.c not to change the current working directory,
75993         by using openat, fstatat, fdopendir, etc..
75994
75995         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
75996         (HAVE_OPENAT_SUPPORT): Define.
75997         [_LIBC] (fchdir): Don't undef or define; no longer used.
75998         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
75999         Now, this `function' always succeeds, and consumes its file descriptor
76000         parameter -- so callers must not close such FDs.  Update callers.
76001         (diropen_fd, opendirat, cwd_advance_fd): New functions.
76002         (diropen): Add parameter, SP.  Adjust all callers.
76003         Implement using diropen_fd, rather than open.
76004         (fts_open): Initialize new member, fts_cwd_fd.
76005         Remove fts_rft-setting code.
76006         (fts_close): Close fts_cwd_fd, if necessary.
76007         (__opendir2): Define in terms of opendir or opendirat,
76008         depending on whether the FST_NOCHDIR flag is set.
76009         (fts_build): Since fts_safe_changedir consumes its FD, and since
76010         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
76011         and close the dup'd file descriptor upon failure.
76012         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
76013         (fts_safe_changedir): Tweak semantics to reflect that this function
76014         now calls cwd_advance_fd and hence consumes its FD argument.
76015         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
76016         [struct FTS] (fts_rft): Remove now-unused member.
76017         [struct FTS] (fts_cycle.state): Improve comment.
76018
76019         * lib/openat.c (openat_needs_fchdir): New function.
76020         * lib/openat.h (openat_needs_fchdir): Declare it.
76021
76022 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
76023
76024         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
76025         Problem and fix reported by Pádraig Brady in
76026         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
76027
76028 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
76029
76030         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
76031
76032 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
76033
76034         * lib/memcoll.c (memcoll): Optimize for the common case where the
76035         arguments are bytewise equal.
76036
76037 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
76038
76039         * doc/regexprops-generic.texi: Add a copyright notice.
76040
76041 2006-08-15  Bruno Haible  <bruno@clisp.org>
76042
76043         * modules/tmpdir (License): Change to LGPL.
76044
76045 2006-08-15  Bruno Haible  <bruno@clisp.org>
76046
76047         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
76048         module.
76049
76050 2006-08-14  Simon Josefsson  <jas@extundo.com>
76051
76052         * config/srclist.txt: Add gnupload.
76053
76054 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
76055
76056         Change copyright notice from LGPL 2 to GPL 2, since that's the
76057         standard form used in the gnulib repository.
76058         * tests/test-lock.c: Likewise.
76059         * tests/test-stdint.c: Likewise.
76060         * tests/test-tls.c: Likewise.
76061
76062         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
76063         prelude-manager.  User shorter URLs for GNU projects, without '?'.
76064         Add copyright notice.
76065
76066         * check-module: Add copyright notice.  Output a copyright
76067         notice if "--version" is specified.
76068         * modules/COPYING: New file.
76069         * tests/test-getaddrinfo.c: Add copyright notice.
76070         * tests/test-verify.c: Likewise.
76071
76072 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
76073
76074         Change copyright notice from LGPL 2 to GPL 2, since that's the
76075         standard form used in the gnulib repository.
76076         * lib/lock.c: LGPL -> GPL.
76077         * lib/lock.h: Likewise.
76078         * lib/strnlen1.c: Likewise.
76079         * lib/strnlen1.h: Likewise.
76080         * lib/tls.c: Likewise.
76081         * lib/tls.h: Likewise.
76082         * lib/tmpdir.c: Likewise.
76083
76084         * lib/TODO: Remove; this belongs only in coreutils.
76085
76086 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
76087
76088         Add copyright notices to long-enough files that lack them, since
76089         otherwise the files aren't clearly free.  Use the same notice that
76090         getdate.texi already uses.
76091         * doc/alloca-opt.texi: Add copyright notice.
76092         * doc/alloca.texi: Likewise.
76093         * doc/ctime.texi: Likewise.
76094         * doc/functions.texi: Likewise.
76095         * doc/gcd.texi: Likewise.
76096         * doc/gnulib-tool.texi: Likewise.
76097         * doc/inet_ntoa.texi: Likewise.
76098         * doc/visibility.texi: Likewise.
76099
76100         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
76101         * doc/quote.texi: Add copyright notice.
76102
76103         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
76104         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
76105         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
76106         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
76107         is now obsolete, and give a pointer to the Sun list.
76108         Add copyright notice.
76109
76110 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
76111
76112         * config/srclistvars.sh: Add copyright notice.
76113
76114 2006-08-14  Eric Blake  <ebb9@byu.net>
76115
76116         Import the following change from libc:
76117
76118         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
76119
76120         Upstream bug 2997.
76121         * lib/misc/error.c: Add space between program name and message if file
76122         name is missing.
76123
76124 2006-08-12  Karl Berry  <karl@gnu.org>
76125
76126         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
76127         remove, these originate in gnulib now.
76128
76129 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76130
76131         * doc/Makefile (standards.info standards.html standards.dvi):
76132         Also depend on make-stds.texi.
76133
76134 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
76135
76136         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
76137         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
76138
76139         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
76140         in wchar_t.  Problem reported by Eric Blake.
76141
76142         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
76143         LEN is smaller than SIZE.  Suggested by Bruno Haible.
76144         Also, help the compiler to keep LEN in a register.
76145
76146 2006-08-11  Eric Blake  <ebb9@byu.net>
76147
76148         * users.txt: Sort.  Add tar.
76149
76150 2006-08-11  Bruno Haible  <bruno@clisp.org>
76151
76152         * users.txt: New file.
76153
76154 2006-08-11  Bruno Haible  <bruno@clisp.org>
76155
76156         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
76157         before <wchar.h>. Needed for OSF/1 and BSD/OS.
76158
76159 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
76160
76161         * modules/snprintf (Depends-on): Remove minmax.
76162         (Maintainer): Add self and Bruno.
76163
76164 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
76165
76166         * lib/.cppi-disable: Add snprintf.h, socket_.h.
76167         * lib/snprintf.c: Include <errno.h> and <limits.h>.
76168         (EOVERFLOW): Define if the system does not.
76169         Do not include "minmax.h"; it wasn't used.
76170         (snprintf): Don't assume size_t promotes to an unsigned type.
76171         Fix bug when generated string was too long for the buffer: the
76172         buffer's contents are supposed to be the initial prefix of the
76173         output.  Don't assume vasnprintf returns EOVERFLOW if the size
76174         exceeds INT_MAX; do the check ourselves.
76175
76176         Import the following changes from libc:
76177
76178         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
76179
76180         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
76181         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
76182         set wc to the byte which couldn't be converted.
76183         (re_string_reconstruct): Don't clear valid_raw_len before calling
76184         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
76185         tip_context using re_string_context_at.
76186
76187         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
76188
76189         * lib/posix/regex.h: g++ still cannot handled [restrict].
76190
76191         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
76192
76193         * lib/posix/regex.h: Remove special handling for VMS.
76194
76195 2006-08-10  Jim Meyering  <jim@meyering.net>
76196
76197         * modules/same-inode: New module.
76198         * modules/dev-ino: New module.
76199         * modules/cycle-check: Depend on these modules, rather than simply
76200         including their .h files.
76201         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
76202         required via m4/cycle-check.m4.
76203         * modules/same: Depend on new same-inode module, rather than
76204         including same-inode.h.
76205         * modules/chdir-safer: New file.
76206
76207         * modules/chown (Depends-on): Add stat-macros.
76208
76209 2006-08-10  Jim Meyering  <jim@meyering.net>
76210
76211         * m4/cycle-check.m4: New file.
76212         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
76213         * m4/dev-ino.m4, m4/same-inode.m4: New files.
76214
76215 2006-08-10  Eric Blake  <ebb9@byu.net>
76216
76217         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
76218         in from original proposal.
76219
76220 2006-08-10  Eric Blake  <ebb9@byu.net>
76221         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
76222
76223         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
76224         namespace.
76225
76226 2006-08-10  Bruno Haible  <bruno@clisp.org>
76227
76228         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
76229         as well.
76230
76231 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
76232
76233         Sync from coreutils.
76234
76235         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
76236
76237         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
76238         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
76239
76240 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
76241
76242         * modules/restrict: Remove; no longer needed now that we assume
76243         Autoconf 2.59 or later.
76244         * MODULES.html.sh: Remove 'restrict'.
76245         * modules/argp (Depends-on): Remove 'restrict'.
76246         * modules/base64 (Depends-on): Likewise.
76247         * modules/gc (Depends-on): Likewise.
76248         * modules/getaddrinfo (Depends-on): Likewise.
76249         * modules/glob (Depends-on): Likewise.
76250         * modules/inet_ntop (Depends-on): Likewise.
76251         * modules/inet_pton (Depends-on): Likewise.
76252         * modules/memxor (Depends-on): Likewise.
76253         * modules/regex (Depends-on): Likewise.
76254         * modules/strtok_r (Depends-on): Likewise.
76255         * modules/time_r (Depends-on): Likewise.
76256
76257 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
76258
76259         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
76260         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
76261         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
76262         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
76263         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
76264         * m4/memxor.m4 (gl_MEMXOR): Likewise.
76265         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
76266         gl_C_RESTRICT replaced by AC_C_RESTRICT.
76267
76268         Merge from coreutils.
76269         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
76270         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
76271         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
76272         * m4/time_r.m4 (gl_TIME_R): Likewise.
76273
76274 2006-08-09  Karl Berry  <karl@gnu.org>
76275
76276         * config/srclist.txt: no more gettext-tools, per Bruno.
76277
76278 2006-08-08  Eric Blake  <ebb9@byu.net>
76279
76280         * modules/verror: New module.
76281         * MODULES.html.sh: Document it.
76282
76283 2006-08-08  Eric Blake  <ebb9@byu.net>
76284
76285         * lib/verror.h, lib/verror.c: New files.
76286
76287 2006-08-08  Eric Blake  <ebb9@byu.net>
76288
76289         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
76290         verror_at_line output complies with GNU Coding Standards even when
76291         file is NULL.
76292
76293 2006-08-07  Bruno Haible  <bruno@clisp.org>
76294
76295         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
76296         versions of AIX.
76297         Reported by Ralf Wildenhues.
76298
76299 2006-08-07  Bruno Haible  <bruno@clisp.org>
76300
76301         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
76302         in an AC_DEFUN. Needed so that the autoconf snippets can use
76303         AC_REQUIRE.
76304
76305 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76306
76307         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
76308         Initialize pkgdata_DATA.
76309         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
76310         overriding it.
76311
76312 2006-08-06  Eric Blake  <ebb9@byu.net>
76313
76314         * lib/error.h: Fold in some upstream changes from glibc.
76315         * lib/error.c: Likewise.
76316
76317 2006-08-04  Bruno Haible  <bruno@clisp.org>
76318
76319         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
76320         Make the mostlyclean-local rule depend on mostlyclean-generic.
76321         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
76322
76323 2006-07-31  Bruno Haible  <bruno@clisp.org>
76324
76325         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
76326         <stdlib.h>, <string.h>.
76327
76328 2006-07-30  Bruno Haible  <bruno@clisp.org>
76329
76330         * modules/readlink (License): Change to LGPL.
76331
76332 2006-07-30  Bruno Haible  <bruno@clisp.org>
76333
76334         * modules/javaversion (Makefile.am): Distribute javaversion.java and
76335         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
76336         set PKGDATADIR to point to it.
76337
76338 2006-07-30  Bruno Haible  <bruno@clisp.org>
76339
76340         * modules/csharpexec (configure.ac): Comment out macro invocation.
76341         * modules/javaexec (configure.ac): Likewise.
76342         * modules/javacomp-script (configure.ac): Likewise.
76343
76344         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
76345
76346 2006-07-30  Bruno Haible  <bruno@clisp.org>
76347
76348         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
76349         linked-list.
76350
76351 2006-07-30  Bruno Haible  <bruno@clisp.org>
76352
76353         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
76354
76355 2006-07-30  Bruno Haible  <bruno@clisp.org>
76356
76357         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
76358         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
76359         get removed.
76360
76361 2006-07-29  Bruno Haible  <bruno@clisp.org>
76362
76363         Make it possible for gnulib-tool to work with locally modified or
76364         augmented gnulib repositories.
76365         * gnulib-tool (func_usage): Document --local-dir option.
76366         (local_gnulib_dir): New variable.
76367         Handle --local-dir option.
76368         (func_lookup_file): New function.
76369         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
76370         (func_get_description, func_get_filelist, func_get_description,
76371         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
76372         func_get_automake_snippet, func_get_include_directive,
76373         func_get_license, func_get_maintainer): Use func_lookup_file.
76374         (func_import, func_create_testdir): Use func_lookup_file.
76375
76376 2006-07-29  Bruno Haible  <bruno@clisp.org>
76377
76378         * modules/setenv (Depends-on): Add unistd.
76379
76380 2006-07-29  Bruno Haible  <bruno@clisp.org>
76381
76382         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
76383
76384 2006-07-29  Bruno Haible  <bruno@clisp.org>
76385
76386         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
76387
76388 2006-07-29  Bruno Haible  <bruno@clisp.org>
76389
76390         * gnulib-tool (import, update): If there is no Makefile.am, look at
76391         aclocal.m4, instead of bailing out.
76392
76393 2006-07-29  Bruno Haible  <bruno@clisp.org>
76394
76395         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
76396         Categorize the options by when they are useful.
76397
76398 2006-07-29  Bruno Haible  <bruno@clisp.org>
76399
76400         * gnulib-tool (func_usage): Document option --no-libtool.
76401         Handle option --no-libtool.
76402         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
76403         for changed semantics of $libtool variable.
76404         (func_import): Likewise. If libtool is not used, show this through
76405         an option --no-libtool.
76406         (func_create_testdir): Update.
76407
76408 2006-07-29  Bruno Haible  <bruno@clisp.org>
76409
76410         * gnulib-tool (func_import): Extend error message about missing
76411         --doc-base.
76412
76413 2006-07-29  Bruno Haible  <bruno@clisp.org>
76414
76415         * gnulib-tool (func_import): Don't create the $docbase directory if
76416         there is no file to store there.
76417
76418 2006-07-29  Bruno Haible  <bruno@clisp.org>
76419
76420         * gnulib-tool (autoconf_minversion): If a --dir option is given and
76421         relevant, look for configure.ac there, not in the current directory.
76422         Also use a simple search for AC_PREREQ, not "autoconf --trace".
76423
76424 2006-07-29  Bruno Haible  <bruno@clisp.org>
76425
76426         * gnulib-tool (SORT): New variable.
76427         (func_usage): Undocument --assume-autoconf option.
76428         Remove --assume-autoconf option handling.
76429         (autoconf_minversion): Determine from the contents of configure.ac.
76430         (func_import): Remove autoconf_minversion handling.
76431         Suggested by Eric Blake.
76432
76433 2006-07-29  Bruno Haible  <bruno@clisp.org>
76434
76435         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
76436
76437 2006-07-29  Bruno Haible  <bruno@clisp.org>
76438
76439         * config/srclist.txt (*setenv.[ch]): Remove rules.
76440
76441 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76442
76443         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
76444
76445 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76446
76447         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
76448         arpa/inet.h.
76449
76450 2006-07-28  Simon Josefsson  <jas@extundo.com>
76451
76452         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
76453         * modules/inet_pton (Depends-on): Likewise.
76454
76455 2006-07-28  Simon Josefsson  <jas@extundo.com>
76456
76457         * m4/netinet_in_h.m4: New file.
76458
76459 2006-07-28  Simon Josefsson  <jas@extundo.com>
76460
76461         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
76462         #include's.
76463
76464 2006-07-28  Simon Josefsson  <jas@extundo.com>
76465
76466         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
76467         #include's.
76468
76469 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
76470
76471         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
76472         setgid on directories only if they set these bits.
76473         * lib/modechange.h: Remove obsolete comment about masks.
76474
76475 2006-07-28  Eric Blake  <ebb9@byu.net>
76476
76477         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
76478         macro expansion.
76479
76480 2006-07-28  Bruno Haible  <bruno@clisp.org>
76481
76482         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
76483
76484 2006-07-28  Bruno Haible  <bruno@clisp.org>
76485
76486         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
76487
76488 2006-07-28  Bruno Haible  <bruno@clisp.org>
76489
76490         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
76491         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
76492         Define fallbacks.
76493         Avoids link error on FreeBSD 4.x.
76494         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
76495
76496         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
76497         encoding.
76498         * lib/mbswidth.c (iswcntrl): Likewise.
76499
76500 2006-07-27  Bruno Haible  <bruno@clisp.org>
76501
76502         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
76503         test.
76504
76505 2006-07-27  Bruno Haible  <bruno@clisp.org>
76506
76507         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
76508         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
76509         defined.
76510
76511 2006-07-26  Eric Blake  <ebb9@byu.net>
76512
76513         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
76514
76515 2006-07-26  Eric Blake  <ebb9@byu.net>
76516
76517         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
76518         like mingw that lack mkstemp.
76519         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
76520         avoid compilation warning on mingw.
76521
76522 2006-07-26  Bruno Haible  <bruno@clisp.org>
76523
76524         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
76525         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
76526         INT_FAST*_MIN, INTPTR_MIN.
76527
76528 2006-07-25  Bruno Haible  <bruno@clisp.org>
76529
76530         * modules/version-etc (Depends-on): Add stdarg.
76531
76532 2006-07-25  Bruno Haible  <bruno@clisp.org>
76533
76534         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
76535         complex commands.
76536
76537 2006-07-25  Bruno Haible  <bruno@clisp.org>
76538
76539         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
76540         defined in <stdarg.h> or config.h.
76541
76542 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
76543
76544         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
76545         (gl_STDIO_SAFER): Remove.
76546
76547 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
76548
76549         * MODULES.html.sh (File stream based Input/Output):
76550         Add fopen-safer, tmpfile-safer; remove stdio-safer.
76551         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
76552         * modules/fopen-safer, modules/tmpfile-safer: New files.
76553         * modules/stdio-safer: Remove.
76554
76555 2006-07-24  Bruno Haible  <bruno@clisp.org>
76556
76557         * modules/tmpdir: New file.
76558         * MODULES.html.sh (File system functions): Add it.
76559
76560 2006-07-24  Bruno Haible  <bruno@clisp.org>
76561
76562         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
76563         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
76564
76565 2006-07-24  Bruno Haible  <bruno@clisp.org>
76566
76567         * modules/clean-temp: New file.
76568
76569 2006-07-24  Bruno Haible  <bruno@clisp.org>
76570
76571         * m4/tmpdir.m4: New file, from GNU gettext.
76572
76573 2006-07-24  Bruno Haible  <bruno@clisp.org>
76574
76575         * lib/tmpdir.h: New file, from GNU gettext.
76576         * lib/tmpdir.c: New file, from GNU gettext.
76577
76578 2006-07-24  Bruno Haible  <bruno@clisp.org>
76579
76580         * lib/clean-temp.h: New file, from GNU gettext.
76581         * lib/clean-temp.c: New file, from GNU gettext.
76582
76583 2006-07-23  Eric Blake  <ebb9@byu.net>
76584
76585         * modules/stdio-safer (Files): Add tmpfile-safer.c.
76586         (Depends-on): Add binary-io.
76587
76588 2006-07-23  Eric Blake  <ebb9@byu.net>
76589
76590         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
76591
76592 2006-07-23  Eric Blake  <ebb9@byu.net>
76593
76594         * lib/tmpfile-safer.c: New file.
76595         * lib/stdio-safer.h (fopen_safer): Add prototype.
76596         * lib/stdio--.h (tmpfile): Make safer.
76597
76598 2006-07-23  Bruno Haible  <bruno@clisp.org>
76599
76600         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
76601         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
76602         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
76603         gl_linked_remove_at): Use it.
76604
76605 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76606         and Simon Josefsson <jas@extundo.com>
76607
76608         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
76609
76610         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
76611
76612 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
76613
76614         * modules/close-stream: New file.
76615         * modules/closeout (Description): Make it clear that it exits
76616         with a diagnostic on error.
76617         (Depends-on): Add close-stream.  Remove fpending, stdbool.
76618         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
76619
76620 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
76621
76622         * m4/close-stream.m4: New file.
76623
76624 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
76625
76626         * lib/close-stream.c, lib/close-stream.h: New files.
76627
76628 2006-07-22  Bruno Haible  <bruno@clisp.org>
76629
76630         Merge from GNU gettext 0.15.
76631
76632         2006-05-01  Bruno Haible  <bruno@clisp.org>
76633
76634                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
76635
76636         2006-07-22  Bruno Haible  <bruno@clisp.org>
76637
76638                 * modules/javaversion: New file.
76639                 * MODULES.html.sh (Java): Add javaversion.
76640
76641         2006-03-12  Bruno Haible  <bruno@clisp.org>
76642
76643                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
76644
76645         2005-12-04  Bruno Haible  <bruno@clisp.org>
76646
76647                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
76648                 (untested).
76649
76650         2006-06-21  Bruno Haible  <bruno@clisp.org>
76651
76652                 Avoid warnings from recent versions of mcs.
76653                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
76654                 -o, -L, -r any more. Use options documented since mcs-1.0
76655                 instead. Similarly for -g.
76656
76657         2005-12-04  Bruno Haible  <bruno@clisp.org>
76658
76659                 * build-aux/csharpcomp.sh.in: Suffix for resources is
76660                 .resources, not .resource.
76661
76662         2005-07-09  Bruno Haible  <bruno@clisp.org>
76663
76664                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
76665                 add a .dll suffix.
76666                 Reported by Mark Junker <mjscod@gmx.de>.
76667
76668         2006-07-22  Bruno Haible  <bruno@clisp.org>
76669
76670                 * modules/gettext: Upgrade to gettext-0.15.
76671                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
76672                 m4/visibility.m4.
76673                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
76674
76675 2006-07-22  Bruno Haible  <bruno@clisp.org>
76676
76677         Merge from GNU gettext 0.15.
76678
76679         2006-03-25  Bruno Haible  <bruno@clisp.org>
76680
76681                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
76682
76683         2006-07-21  Bruno Haible  <bruno@clisp.org>
76684
76685                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
76686                 "1.1".
76687
76688         2006-05-09  Bruno Haible  <bruno@clisp.org>
76689
76690                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
76691                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
76692                 for the conftestver execution.
76693
76694         2006-05-01  Bruno Haible  <bruno@clisp.org>
76695
76696                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
76697                 optional target-version argument. Verify that the compiler
76698                 groks source of the specified source-version, or add -source
76699                 option as necessary. Verify that the compiler produces
76700                 bytecode in the specified target-version, or add -target and
76701                 -source options as necessary. Make the result of the test
76702                 available as variable CONF_JAVAC. Also log error output in
76703                 config.log.
76704
76705         2006-03-11  Bruno Haible  <bruno@clisp.org>
76706
76707                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
76708
76709         2006-05-09  Bruno Haible  <bruno@clisp.org>
76710
76711                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
76712                 CLASSPATH_SEPARATOR to a semicolon.
76713
76714         2006-03-12  Bruno Haible  <bruno@clisp.org>
76715
76716                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
76717                 available as variable CONF_JAVA, for subsequent autoconf
76718                 tests. Also log error output in config.log.
76719
76720         2006-07-19  Bruno Haible  <bruno@clisp.org>
76721
76722                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
76723                 that getline works on glibc2 systems. Needed to avoid trouble
76724                 in relocatable.c.
76725                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
76726
76727         2005-12-04  Bruno Haible  <bruno@clisp.org>
76728
76729                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
76730                 launcher (untested).
76731
76732         2005-12-04  Bruno Haible  <bruno@clisp.org>
76733
76734                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
76735
76736         2006-07-22  Bruno Haible  <bruno@clisp.org>
76737
76738                 * gettext.m4: Update from GNU gettext-0.15.
76739                 * nls.m4: Likewise.
76740                 * po.m4: Likewise.
76741                 * inttypes-pri.m4: Likewise.
76742                 * inttypes-h.m4: Renamed from inttypes.m4.
76743                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
76744
76745 2006-07-22  Bruno Haible  <bruno@clisp.org>
76746
76747         Merge from GNU gettext 0.15.
76748
76749         2005-07-05  Bruno Haible  <bruno@clisp.org>
76750
76751                 * printf-args.c (printf_fetchargs): Work around broken
76752                 definition of wint_t on mingw.
76753
76754         2005-02-12  Bruno Haible  <bruno@clisp.org>
76755
76756                 * xallocsa.h: Add extern "C" for C++.
76757
76758         2006-05-17  Bruno Haible  <bruno@clisp.org>
76759
76760                 Cygwin portability.
76761                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
76762
76763         2006-04-30  Bruno Haible  <bruno@clisp.org>
76764
76765                 * progreloc.c: Include <mach-o/dyld.h> if available.
76766                 (find_executable): Use _NSGetExecutablePath when possible.
76767
76768         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
76769
76770                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
76771                 function.
76772
76773         2005-12-29  Bruno Haible  <bruno@clisp.org>
76774
76775                 * progreloc.c (set_program_name_and_installdir): Fix
76776                 compilation error.
76777
76778         2005-12-04  Bruno Haible  <bruno@clisp.org>
76779
76780                 Cygwin portability.
76781                 * progreloc.c: Include <windows.h> also on Cygwin.
76782                 (find_executable): Add support for Cygwin.
76783                 (set_program_name_and_installdir): Handle also platforms with
76784                 nonempty EXEEXT.
76785
76786         2006-07-11  Bruno Haible  <bruno@clisp.org>
76787
76788                 * javacomp.c: Fix a comment.
76789                 Reported by Jim Meyering.
76790
76791         2006-04-30  Bruno Haible  <bruno@clisp.org>
76792
76793                 * javacomp.h (compile_java_class): Add source_version,
76794                 target_version arguments.
76795                 * javacomp.c: Rewritten to choose only a compiler that
76796                 respects the specified source_version and target_version.
76797
76798         2006-06-27  Bruno Haible  <bruno@clisp.org>
76799
76800                 Assume correct S_ISDIR macro.
76801                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
76802
76803         2006-07-22  Bruno Haible  <bruno@clisp.org>
76804
76805                 * javaversion.h: New file, from GNU gettext.
76806                 * javaversion.c: New file, from GNU gettext.
76807                 * javaversion.java: New file, from GNU gettext.
76808                 * javaversion.class: New file, from GNU gettext.
76809
76810         2006-05-17  Bruno Haible  <bruno@clisp.org>
76811
76812                 Cygwin portability.
76813                 * javaexec.c (execute_java_class): Test for jview program
76814                 also on Cygwin.
76815
76816         2006-04-09  Bruno Haible  <bruno@clisp.org>
76817
76818                 * fatal-signal.c: Don't include string.h.
76819                 (at_fatal_signal): Use a copying loop instead of memcpy.
76820
76821         2005-12-04  Bruno Haible  <bruno@clisp.org>
76822
76823                 * csharpexec.c: Add support for 'clix' launcher (untested).
76824                 (execute_csharp_using_sscli): New function.
76825                 (execute_csharp_program): Call it.
76826
76827         2006-06-21  Bruno Haible  <bruno@clisp.org>
76828
76829                 Avoid warnings from recent versions of mcs.
76830                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
76831                 -o, -L, -r any more. Use options documented since mcs-1.0
76832                 instead. Similarly for -g.
76833
76834         2005-07-09  Bruno Haible  <bruno@clisp.org>
76835
76836                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
76837                 add a .dll suffix.
76838                 Reported by Mark Junker <mjscod@gmx.de>.
76839
76840         2006-06-17  Bruno Haible  <bruno@clisp.org>
76841
76842                 * config.charset: Update for NetBSD 3.0.
76843
76844         2006-05-17  Bruno Haible  <bruno@clisp.org>
76845
76846                 Cygwin portability.
76847                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
76848
76849         2006-05-16  Bruno Haible  <bruno@clisp.org>
76850
76851                 * localcharset.c [CYGWIN]: Include <windows.h>.
76852                 (get_charset_aliases): For Cygwin, return the same CPxxx
76853                 aliases list as under WIN32.
76854                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
76855                 the environment variables. Fall back to GetACP().
76856
76857         2006-04-05  Bruno Haible  <bruno@clisp.org>
76858
76859                 * config.charset: Update Juan Manuel Guerrero's address.
76860
76861         2005-02-12  Bruno Haible  <bruno@clisp.org>
76862
76863                 * allocsa.h: Add extern "C" for C++.
76864
76865         2005-02-10  Bruno Haible  <bruno@clisp.org>
76866
76867                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
76868                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
76869
76870         2006-07-22  Bruno Haible  <bruno@clisp.org>
76871
76872                 * gettext.h: Update to GNU gettext-0.15.
76873
76874 2006-07-22  Bruno Haible  <bruno@clisp.org>
76875
76876         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
76877         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
76878         lib-prefix.m4, longdouble.m4, ssize_t.m4.
76879
76880 2006-07-21  Eric Blake  <ebb9@byu.net>
76881
76882         * modules/stdlib-safer: New file.
76883         * MODULES.html.sh (File stream based Input/Output): Add
76884         stdlib-safer.
76885
76886 2006-07-21  Eric Blake  <ebb9@byu.net>
76887
76888         * lib/stdlib-safer.h: New file from coreutils, required by
76889         stdlib--.h.
76890
76891 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
76892
76893         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
76894
76895 2006-07-20  Bruno Haible  <bruno@clisp.org>
76896
76897         * gnulib-tool: Recognize new option --assume-autoconf.
76898         (autoconf_minversion): New variable.
76899         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
76900
76901 2006-07-20  Bruno Haible  <bruno@clisp.org>
76902
76903         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
76904
76905 2006-07-19  Derek R. Price  <derek@ximbiot.com>
76906
76907         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
76908         Reindent and repaginate.
76909
76910 2006-07-19  Derek Price  <derek@ximbiot.com>
76911
76912         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
76913         Correct grammar.
76914
76915 2006-07-17  Bruno Haible  <bruno@clisp.org>
76916
76917         * modules/list: New file.
76918         * modules/array-list: New file.
76919         * modules/carray-list, modules/carray-list-tests: New files.
76920         * modules/linked-list, modules/linked-list-tests: New files.
76921         * modules/avltree-list, modules/avltree-list-tests: New files.
76922         * modules/rbtree-list, modules/rbtree-list-tests: New files.
76923         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
76924         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
76925         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
76926         * modules/oset: New file.
76927         * modules/array-oset: New file.
76928         * modules/avltree-oset, modules/avltree-oset-tests: New files.
76929         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
76930         * tests/test-carray_list.c: New file.
76931         * tests/test-linked_list.c: New file.
76932         * tests/test-avltree_list.c: New file.
76933         * tests/test-rbtree_list.c: New file.
76934         * tests/test-linkedhash_list.c: New file.
76935         * tests/test-avltreehash_list.c: New file.
76936         * tests/test-rbtreehash_list.c: New file.
76937         * tests/test-avltree_oset.c: New file.
76938         * tests/test-rbtree_oset.c: New file.
76939         * MODULES.html.sh (Container data structures): New section.
76940
76941 2006-07-17  Bruno Haible  <bruno@clisp.org>
76942
76943         * m4/gl_list.m4: New file.
76944
76945 2006-07-17  Bruno Haible  <bruno@clisp.org>
76946
76947         * lib/gl_list.h: New file.
76948         * lib/gl_list.c: New file.
76949         * lib/gl_array_list.h: New file.
76950         * lib/gl_array_list.c: New file.
76951         * lib/gl_carray_list.h: New file.
76952         * lib/gl_carray_list.c: New file.
76953         * lib/gl_linked_list.h: New file.
76954         * lib/gl_linked_list.c: New file.
76955         * lib/gl_anylinked_list1.h: New file.
76956         * lib/gl_anylinked_list2.h: New file.
76957         * lib/gl_avltree_list.h: New file.
76958         * lib/gl_avltree_list.c: New file.
76959         * lib/gl_anyavltree_list1.h: New file.
76960         * lib/gl_anyavltree_list2.h: New file.
76961         * lib/gl_rbtree_list.h: New file.
76962         * lib/gl_rbtree_list.c: New file.
76963         * lib/gl_anyrbtree_list1.h: New file.
76964         * lib/gl_anyrbtree_list2.h: New file.
76965         * lib/gl_anytree_list1.h: New file.
76966         * lib/gl_anytree_list2.h: New file.
76967         * lib/gl_linkedhash_list.h: New file.
76968         * lib/gl_linkedhash_list.c: New file.
76969         * lib/gl_anyhash_list1.h: New file.
76970         * lib/gl_anyhash_list2.h: New file.
76971         * lib/gl_avltreehash_list.h: New file.
76972         * lib/gl_avltreehash_list.c: New file.
76973         * lib/gl_rbtreehash_list.h: New file.
76974         * lib/gl_rbtreehash_list.c: New file.
76975         * lib/gl_anytreehash_list1.h: New file.
76976         * lib/gl_anytreehash_list2.h: New file.
76977
76978         * lib/gl_oset.h: New file.
76979         * lib/gl_oset.c: New file.
76980         * lib/gl_array_oset.h: New file.
76981         * lib/gl_array_oset.c: New file.
76982         * lib/gl_avltree_oset.h: New file.
76983         * lib/gl_avltree_oset.c: New file.
76984         * lib/gl_rbtree_oset.h: New file.
76985         * lib/gl_rbtree_oset.c: New file.
76986         * lib/gl_anytree_oset.h: New file.
76987
76988 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
76989
76990         * m4/mkancesdirs.m4: New file.
76991         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
76992         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
76993         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
76994         it.
76995
76996 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
76997
76998         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
76999         * lib/mkancesdirs.h: New files.
77000         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
77001         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
77002         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
77003         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
77004         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
77005         callers changed.  Revamp internals significantly, by not
77006         attempting to create directories that are temporarily more
77007         permissive than the final results.  Do not attempt to use
77008         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
77009         This removes some race conditions, fixes some bugs, and simplifies
77010         things.  Use new dirchownmod function to do owner and mode changes.
77011         * lib/mkdir-p.h: Likewise.
77012         * lib/modechange.c (octal_to_mode): New function.
77013         (struct mode_change): New member mentioned.
77014         (make_node_op_equals): New arg mentioned.  All callers changed.
77015         (mode_compile): Keep track of which mode bits the user has explicitly
77016         mentioned.
77017         (mode_adjust): New arg DIR, so that we implement the X op correctly.
77018         New arg PMODE_BITS, to keep track of which mode bits the user
77019         mentioned; it treats S_ISUID and S_ISGID speciall.
77020         All callers changed.
77021         * lib/modechange.h: Likewise.
77022
77023 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
77024
77025         * MODULES.html.sh: Add mkancestors.
77026         * modules/mkancesdirs: New module.
77027         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
77028         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
77029         The chdir-safer and afs files are now orphans; I'll remove them
77030         unless someone speaks up.
77031         Add lib/dirchownmod.c, lib/dirchownmod.h.
77032         (Depends-on): Remove alloca, chown, save-cwd, dirname.
77033         Add lchown, mkancesdirs.
77034         (Maintainer): Add self.
77035
77036 2006-07-15  Karl Berry  <karl@gnu.org>
77037
77038         * gnulib-tool: help message wording/arrangement.
77039
77040 2006-07-14  Simon Josefsson  <jas@extundo.com>
77041
77042         * doc/gnulib.texi (Libtool and Windows): New section.
77043
77044 2006-07-12  Simon Josefsson  <jas@extundo.com>
77045
77046         * modules/gendocs (License): Fix license, approved by Karl.
77047
77048 2006-07-12  Eric Blake  <ebb9@byu.net>
77049
77050         * MODULES.html.sh: Add gendocs.
77051
77052 2006-07-11  Eric Blake  <ebb9@byu.net>
77053
77054         * modules/fdl: New module, to install doc/fdl.texi.
77055         * MODULES.html.sh: Add new section for documentation modules.
77056         * gnulib-tool: Avoid space-tab.
77057         (--doc-base): New option, to manage files from doc.
77058
77059 2006-07-11  Eric Blake  <ebb9@byu.net>
77060
77061         * m4/absolute-header.m4: Fix comments to match recent change.
77062
77063 2006-07-11  Eric Blake  <ebb9@byu.net>
77064
77065         * gnulib-tool: List --doc-base before --tests-base.
77066
77067 2006-07-11  Derek R. Price  <derek@ximbiot.com>
77068
77069         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
77070
77071 2006-07-11  Bruno Haible  <bruno@clisp.org>
77072
77073         * README: Mention where to put documentation.
77074
77075 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77076
77077         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
77078
77079 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
77080
77081         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
77082         to stdint.m4.
77083
77084 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
77085
77086         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
77087         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
77088         "no/such/file/stdint.h" when there is no such file, so that
77089         the resulting C code can be parsed by dodgy compilers.
77090         Problems reported by Bob Proulx.
77091
77092 2006-07-10  Derek R. Price  <derek@ximbiot.com>
77093
77094         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
77095         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
77096         macros into the GNU _D_EXACT_NAMLEN.
77097         * lib/savedir.c:  Likewise.
77098         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
77099
77100 2006-07-10  Derek R. Price  <derek@ximbiot.com>
77101         and Paul Eggert  <eggert@cs.ucla.edu>
77102
77103         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
77104         * m4/savedir.m4:
77105         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
77106         macros into the GNU _D_EXACT_NAMLEN.
77107
77108 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
77109
77110         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
77111         around the absolute name, to work around a problem with the HP-UX
77112         11.23 native C compiler, reported by Bob Proulx.
77113
77114 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
77115
77116         * doc/maintain.texi, make-stds.texi: Sync from
77117         <http://savannah.gnu.org/projects/gnustandards>.
77118
77119 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
77120
77121         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
77122
77123 2006-07-09  Jim Meyering  <jim@meyering.net>
77124
77125         * m4/glob.m4: Remove a doubled word in a comment.
77126
77127 2006-07-09  Jim Meyering  <jim@meyering.net>
77128
77129         * lib/argp-pv.c: Remove a doubled word in a comment.
77130         * lib/check-version.c (check_version): Likewise.
77131         * lib/javacomp.c (compile_java_class): Likewise.
77132
77133 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
77134
77135         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
77136         for the benefit of people using Autoconf 2.60.  If you want to
77137         support older Autoconf versions you can copy m4/onceonly_2_57.m4
77138         (or m4/onceonly.m4, if pre-2.57) manually.
77139
77140 2006-07-08  Jim Meyering  <jim@meyering.net>
77141
77142         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
77143         comment.
77144         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
77145         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
77146         comment.
77147
77148 2006-07-08  Jim Meyering  <jim@meyering.net>
77149
77150         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
77151
77152 2006-07-07  Simon Josefsson  <jas@extundo.com>
77153
77154         * tests/test-crc.c: Change expected crc value, the test vector
77155         were probably computed using the old broken crc.c?
77156
77157 2006-07-06  Simon Josefsson  <jas@extundo.com>
77158
77159         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
77160         now the canonical place for the M4 file).
77161
77162         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
77163         from the sys_socket dependency now.
77164
77165         * modules/inet_pton (Files): Ditto.
77166
77167         * modules/inet_ntop (Files): Ditto.
77168
77169 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
77170
77171         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
77172         not gl_PREREQ_GETUSERSHELL.
77173
77174 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77175
77176         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
77177         with only one argument, for Autoconf 2.60.
77178         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
77179         expand to nothing, so add a shell command to avoid syntax error.
77180         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
77181
77182 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77183
77184         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
77185
77186 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
77187
77188         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
77189         no longer needed.  Check for isblank decl.
77190         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
77191         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
77192         of existence.
77193
77194 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
77195
77196         * lib/getloadavg.c: Use __VMS, not VMS.
77197         * lib/getopt.c: Likewise.
77198         * lib/getpagesize.h: Likewise.
77199         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
77200         and probably does not work.
77201
77202 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
77203
77204         * lib/.cppi-disable: Add wcwidth.
77205         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
77206         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
77207         (ISGRAPH): Remove.  All uses changed to isgraph.
77208         (FOLD) [!defined _LIBC]: Remove special case.
77209         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
77210         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
77211         HAVE_ISBLANK.
77212         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
77213         case.
77214
77215 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
77216
77217         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
77218         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
77219         brackets.  Other minor changes to suppress some compiler
77220         warnings.
77221
77222 2006-07-06  Derek R. Price  <derek@ximbiot.com>
77223         and Paul Eggert  <eggert@cs.ucla.edu>
77224
77225         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
77226         of invoking obsolescent AC_HEADER_DIRENT macro.
77227         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
77228         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
77229         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
77230         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
77231         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
77232         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
77233         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
77234         * m4/readdir.m4: Remove; no longer needed.
77235
77236 2006-07-06  Derek R. Price  <derek@ximbiot.com>
77237         and Paul Eggert  <eggert@cs.ucla.edu>
77238
77239         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
77240         Don't worry about this obsolete case any more.
77241         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
77242         directories.
77243         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
77244         worry about this obsolete case any more.
77245         * lib/fts.c: Likewise.
77246         * lib/getcwd.c: Likewise.
77247         * lib/glob.h: Likewise.
77248         * lib/savedir.c: Likewise.
77249
77250 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
77251
77252         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
77253         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
77254         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
77255         needed.
77256         All uses removed.
77257         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
77258         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
77259         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
77260         needed.
77261         * m4/getdate.m4 (gl_GETDATE): Likewise.
77262         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
77263         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
77264         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
77265         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
77266         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
77267         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
77268         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
77269         needed.
77270
77271 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
77272
77273         * lib/memcasecmp.c: Include <limits.h>.
77274         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
77275         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
77276         Don't assume isdigit succeeds only on '0' through '9'.
77277
77278 2006-07-05  Eric Blake  <ebb9@byu.net>
77279
77280         * modules/getaddrinfo (Depends-on): Add snprintf.
77281
77282 2006-07-05  Eric Blake  <ebb9@byu.net>
77283
77284         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
77285         to avoid 'header present but could not be compiled' on cygwin.
77286
77287 2006-07-05  Eric Blake  <ebb9@byu.net>
77288
77289         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
77290         missing from netdb.h.
77291         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
77292
77293 2006-07-05  Derek R. Price  <derek@ximbiot.com>
77294
77295         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
77296         no longer needed.
77297         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
77298         * m4/getdate.m4 (gl_GETDATE): Likewise.
77299         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
77300         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
77301         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
77302         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
77303         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
77304
77305 2006-07-05  Derek R. Price  <derek@ximbiot.com>
77306
77307         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
77308         All uses of is_space replaced by isspace.
77309         * lib/exit.h: Don't talk about STDC_HEADERS.
77310         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
77311         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
77312         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
77313         replaced by isprint etc.
77314         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
77315         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
77316         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
77317         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
77318         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
77319         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
77320
77321 2006-07-05  Bruno Haible  <bruno@clisp.org>
77322
77323         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
77324         the function exists, before testing against AIX.
77325         Reported by Martin Lambers <marlam@marlam.de>.
77326
77327 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
77328
77329         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
77330         From Mark D. Baushke.
77331
77332 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
77333
77334         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
77335         to the absolute name, not just one, to bypass Sun C 5.8's
77336         "warning: #include of /usr/include/... may be non-portable".
77337
77338 2006-07-04  Eric Blake  <ebb9@byu.net>
77339
77340         * modules/dirname-tests: New test module.
77341         * tests/test-dirname.c: New file, replacing dirname.c
77342         TEST_DIRNAME section that was recently deleted.
77343
77344 2006-07-04  Bruno Haible  <bruno@clisp.org>
77345
77346         Assume ANSI C header files and <ctype.h> functions.
77347         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
77348         (mbsnwidth): Use isprint, iscntrl instead.
77349
77350 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
77351
77352         Merge from coreutils.
77353         * MODULES.html.sh: Add xstrtold.
77354         * modules/xstrtold: New file.
77355         * modules/cycle-check (Files): Add lib/same-inode.h.
77356         * modules/dirname (Files): Add m4/double-slash-root.m4.
77357         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
77358         * modules/mkdir-p (Files): Add lib/same-inode.h.
77359         * modules/same (Files): Add lib/same-inode.h.
77360
77361 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
77362
77363         * m4/absolute-header.m4: Renamed from full-header-path.m4.
77364         This is to keep the terminology clean; POSIX talks about
77365         "absolute pathnames", not "full pathnames", but the GNU
77366         Coding Standards say to use "path" for something else;
77367         so use "absolute" to keep both sides happy.
77368         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
77369         Set gl_absolute_header, not gl_full_header_path.
77370         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
77371         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
77372         All uses changed.
77373
77374         Merge from coreutils.
77375
77376         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
77377
77378         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
77379         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
77380         want to require the building of c-strtod.o.
77381         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
77382         needs -lm directly.
77383         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
77384
77385         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
77386
77387         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
77388         --as-needed option if available.  Problem reported by Albert Chin in
77389         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
77390         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
77391         cc merely issues a bunch of annoying warnings for --as-needed
77392         (this problem was reported by Bob Proulx).  Also, try linking with
77393         -lm to detect a bug in binutils 2.16 (this problem was reported
77394         by Ralf Wildenhues).
77395
77396         2006-06-18  Jim Meyering  <jim@meyering.net>
77397
77398         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
77399         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
77400         macro.
77401         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
77402         also check for glibc-2.4's abort-inducing bug.
77403
77404         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
77405         Low-probability clean-up should be to use rmdir to get rid of
77406         the just-created directory, not unlink.
77407
77408         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
77409         configure fail, and request a bug report to inform us about it.
77410         Add a comment that, barring reports to the contrary, in 2007 we'll
77411         assume ftruncate is universally available.
77412
77413         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
77414
77415         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
77416
77417         2006-03-12  Jim Meyering  <jim@meyering.net>
77418
77419         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
77420         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
77421         * m4/same.m4 (gl_SAME): Likewise.
77422         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
77423
77424         2006-03-11  Eric Blake  <ebb9@byu.net>
77425
77426         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
77427         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
77428         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
77429         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
77430
77431 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
77432
77433         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
77434         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
77435         reported by Mark D. Baushke, one in
77436         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
77437
77438         Merge from coreutils.
77439
77440         * lib/.cppi-disable: Add stdint_.h.
77441         * lib/.cvsignore: Add stdint.h.
77442
77443         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
77444
77445         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
77446         both double and long double versions.
77447         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
77448         * lib/xstrtold.c: New file.
77449         * lib/xstrtod.h (xstrtold): New decl.
77450
77451         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
77452
77453         * lib/filemode.c (setst): Remove.
77454         (strmode): Rewrite to avoid setst.  This makes the code shorter,
77455         (arguably) clearer, and the generated code is a bit smaller on my
77456         Debian GNU/Linux stable x86 host.
77457
77458         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
77459
77460         * lib/filemode.c: Include "filemode.h" first, to test the interface.
77461         Assume that filemode.h includes sys/types.h and sys/stat.h.
77462         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
77463         (ftypelet): Reorder to put common cases first, for efficiency.
77464         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
77465         to do 'M'.
77466         (strmode): Renamed from mode_string, and now stores 12 bytes instead
77467         of 10, for compatibility with FreeBSD.  All callers changed.
77468         (filemodestring): Now stores 12 bytes instead of 10, and sets file
77469         types that can't be deduced solely from st_mode.  First arg is now a
77470         const pointer.
77471         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
77472         (strmode): Renamed from mode_string.
77473         (filemodestring): New decl.
77474         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
77475         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
77476         needed.
77477         (S_ISPORT, S_ISWHT): New macros, if not already defined.
77478
77479         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
77480
77481         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
77482         fsusage.h now does that.  Include fsusage.h first, to test interface.
77483         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
77484         at most one method (the old code could have generated decls that
77485         didn't conform to C89, not that this was ever exercised).
77486         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
77487
77488         2006-03-19  Jim Meyering  <jim@meyering.net>
77489
77490         Work even in a chroot where d_ino values for entries in "/"
77491         don't match the stat.st_ino values for the same names.
77492         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
77493         number, iterate through all entries again, using lstat instead.
77494         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
77495         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
77496
77497         * lib/getcwd.c (__getcwd): Clarify a comment.
77498         Use memcpy in place of a call to strcpy.
77499
77500         2006-03-12  Jim Meyering  <jim@meyering.net>
77501
77502         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
77503         matches that of the current directory (which we're about to chdir ".."
77504         out of), then save the dev-ino of the parent, instead.
77505
77506         * lib/same-inode.h (SAME_INODE): New file/macro.
77507         * lib/chdir-safer.c (SAME_INODE): Remove definition.
77508         Include "same-inode.h", instead.
77509         * lib/same.c: Likewise.
77510         * lib/cycle-check.h: Include "same-inode.h".
77511         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
77512         * lib/cycle-check.c (SAME_INODE): Remove definition.
77513         * lib/root-dev-ino.h: Include "same-inode.h".
77514
77515         2006-03-11  Eric Blake  <ebb9@byu.net>
77516
77517         * lib/same.c (same_name): s/base_name/last_component/
77518         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
77519         * lib/filenamecat.c (file_name_concat): Likewise.
77520
77521         2006-03-11  Eric Blake  <ebb9@byu.net>,
77522                     Paul Eggert  <eggert@cs.ucla.edu>
77523
77524         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
77525         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
77526         drive prefix.
77527         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
77528         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
77529         (last_component): New method.
77530         * lib/dirname.c (dir_len): Determine when drive letters need a
77531         subsequent slash.  Preserve // when it is special.
77532         (dir_name): Don't append dot when drive letter is absolute.
77533         [TEST_DIRNAME]: Move into a full-blown gnulib test.
77534         * lib/basename.c (base_name): New semantics - malloc the result.
77535         Preserve // when it is special.  Preserve relative files that look
77536         like drive letters.
77537         (base_len): Preserve // when it is special.
77538         (last_component): New method, similar to old base_name semantics.
77539         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
77540         base_name.  Strip redundant slashes from ///.
77541
77542 2006-07-03  Jim Meyering  <jim@meyering.net>
77543
77544         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
77545         macro is used before the first cycle_check call.
77546
77547 2006-07-03  Eric Blake  <ebb9@byu.net>
77548
77549         * modules/dirname (Depends-on): Add xstrndup.
77550
77551 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
77552
77553         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
77554         test cases, so that config.log is a bit easier to follow.
77555
77556 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
77557
77558         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
77559         both are 64 bits, since this seems to be the tradition, and this
77560         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
77561         we ever run into a host that prefers long long to long in this
77562         case, we'll need another configure-time test.  Problem reported by
77563         Jim Meyering.
77564
77565 2006-07-02  Eric Blake  <ebb9@byu.net>
77566
77567         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
77568
77569 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
77570
77571         * modules/inttypes (Depends-on): No longer depends on stdint.
77572         * modules/stdint (Description): Say more about assumptions.
77573         Say that the fast types might differ.  Say macros are used.
77574         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
77575         (Makefile.am): Revise list of substituted symbols to match
77576         new stdint.m4.
77577         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
77578         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
77579         * tests/test-stdint.c (verify_same_types)
77580         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
77581         the code conforms to C99/C89.
77582         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
77583         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
77584
77585 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
77586
77587         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
77588         but fix a bug, by requiring at least 64 bits.
77589         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
77590         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
77591         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
77592         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
77593
77594         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
77595         changes.  Make 2.59 a prerequisite.  Check and substitute for
77596         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
77597         inttypes.h.  Do not use special include files; just use the
77598         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
77599         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
77600         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
77601         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
77602         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
77603         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
77604         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
77605         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
77606         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
77607         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
77608         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
77609         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
77610         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
77611         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
77612         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
77613         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
77614         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
77615         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
77616         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
77617         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
77618         WINT_MAX.  Check for C99 conformance more strictly, by detecting
77619         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
77620         not check for things that C99 does not require, e.g., int8_t.  If
77621         a test isn't needed unless <stdint.h> isn't working, and is
77622         unlikely to be needed for any other reason, then don't do it
77623         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
77624         size_t, since we assume C89 freestanding at least.  Do not check
77625         for sig_atomic_t, wchar_t, or wint_t, since the code now does
77626         the right thing even if the types are not defined.  Instead use:
77627         (gl_STDINT_TYPE_PROPERTIES): New macro.
77628         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
77629         testing whether <sys/types.h> clashes, as Autoconf does this for
77630         us now.  All uses removed.
77631         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
77632         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
77633         (gl_CHECK_TYPE_SAME):
77634         Remove; no longer needed.
77635         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
77636         exists, since we'll return 0 anyway in that case.
77637         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
77638
77639 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
77640
77641         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
77642         possible collision with system files.
77643         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
77644         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
77645         WCHAR_MIN and WCHAR_MAX in this case.
77646         (<stddef.h>): Do not include; no longer needed.
77647         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
77648         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
77649         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
77650         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
77651         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
77652         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
77653         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
77654         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
77655         !defined(__c99))]: Include in this case too, since it's harmless
77656         now.
77657         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
77658         dangerous to do so.
77659         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
77660         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
77661         (_STDINT_MIN, _STDINT_MAX): New macros.
77662         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
77663         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
77664         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
77665         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
77666         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
77667         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
77668         macros, not typedefs; this simplifies things quite a bit.
77669         Use long int for all types narrower than int64_t.
77670         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
77671         Define in terms of long long int or int64_t or long int,
77672         not int64_t or int32_t.  This saves some compile-time testing.
77673         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
77674         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
77675         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
77676         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
77677         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
77678         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
77679         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
77680         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
77681         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
77682         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
77683         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
77684         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
77685         undef any previous version and define our own version, for
77686         simplicity and consistency with the new macros for types.
77687         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
77688         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
77689         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
77690         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
77691         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
77692         @WINT_T_SUFFIX@ to keep things simple here.
77693         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
77694         Simplify by assuming typical 8/16/32/64 host, since we're
77695         already doing that elsewhere anyway.
77696         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
77697         and assume long long int is 64 bits if available.  This
77698         speeds up 'configure'.
77699
77700 2006-07-01  Eric Blake  <ebb9@byu.net>
77701
77702         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
77703         Reported by Andreas Buening.
77704
77705 2006-07-01  Eric Blake  <ebb9@byu.net>
77706
77707         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
77708
77709 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
77710
77711         * lib/getaddrinfo.c: fixed typo
77712
77713 2006-06-29  Jim Meyering  <jim@meyering.net>
77714
77715         * modules/strftime (Maintainer): Add my name, since with the
77716         FPRINTFTIME changes strftime.c has forked from glibc.
77717
77718 2006-06-29  Eric Blake  <ebb9@byu.net>
77719
77720         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
77721
77722 2006-06-29  Eric Blake  <ebb9@byu.net>
77723
77724         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
77725
77726 2006-06-29  Eric Blake  <ebb9@byu.net>
77727
77728         * lib/stat_.h: New file.
77729
77730 2006-06-29  Eric Blake  <ebb9@byu.net>
77731
77732         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
77733         unused static function.
77734
77735 2006-06-29  Eric Blake  <ebb9@byu.net>
77736
77737         * doc/functions.texi (Function Portability): Document missing lstat
77738         on mingw.
77739
77740 2006-06-29  Eric Blake  <ebb9@byu.net>
77741
77742         * MODULES.html.sh: Add sys_stat.
77743         * modules/sys_stat: New module.
77744         * modules/mkstemp (Depends-on): Add sys_stat.
77745
77746 2006-06-29  Derek R. Price  <derek@ximbiot.com>
77747
77748         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
77749
77750 2006-06-29  Derek R. Price  <derek@ximbiot.com>
77751
77752         * m4/c-bs-a.m4: Removed.
77753
77754 2006-06-29  Derek R. Price  <derek@ximbiot.com>
77755
77756         * lib/strftime.c: Assume strftime() exists.
77757
77758 2006-06-29  Derek Price  <derek@ximbiot.com>
77759
77760         * modules/c-bs-a: Removed - \a is C89.
77761         * MODULES.html.sh: Remove c-bs-a.
77762
77763 2006-06-29  Bruno Haible  <bruno@clisp.org>
77764
77765         * modules/wcwidth (License): Change to LGPL.
77766
77767 2006-06-28  Simon Josefsson  <jas@extundo.com>
77768
77769         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
77770         on _WIN32.
77771
77772         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
77773         getnameinfo.
77774
77775 2006-06-28  Simon Josefsson  <jas@extundo.com>
77776
77777         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
77778
77779 2006-06-28  Simon Josefsson  <jas@extundo.com>
77780
77781         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
77782         functions there.  It will succeed on Windows XP, but on Windows
77783         2000 and (presumably) earlier, it will fail, and use the internal
77784         re-implementation.
77785         (use_win32_p): New function.
77786         (getaddrinfo): Use strtoul on servname, to support numeric ports.
77787         Support AI_NUMERICSERV to disable getservbyname.
77788         (getnameinfo): New function, only supports
77789         NI_NUMERICHOST|NI_NUMERICSERV for now.
77790
77791         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
77792         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
77793         getnameinfo.
77794
77795 2006-06-28  Eric Blake  <ebb9@byu.net>
77796
77797         * modules/wcwidth: New file.
77798         * modules/mbchar (Depends-on): Add wcwidth.
77799         * modules/mbswidth (Depends-on): Add wcwidth.
77800         * MODULES.html.sh: Add wcwidth.
77801
77802 2006-06-28  Eric Blake  <ebb9@byu.net>
77803
77804         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
77805         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
77806
77807 2006-06-28  Eric Blake  <ebb9@byu.net>
77808
77809         * lib/xvasprintf.h: Fix comments.
77810
77811 2006-06-28  Eric Blake  <ebb9@byu.net>
77812
77813         * lib/mbchar.h (wcwidth): Include wcwidth.h.
77814         * lib/mbswidth.c (wcwidth): Move from here...
77815         * lib/wcwidth.h: ...to this new file.
77816
77817 2006-06-28  Derek R. Price  <derek@ximbiot.com>
77818
77819         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
77820
77821         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
77822         it's obsolete.
77823         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
77824
77825 2006-06-28  Derek R. Price  <derek@ximbiot.com>
77826
77827         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
77828         Autoconf 2.60 says this stuff was obsolete.
77829
77830 2006-06-28  Bruno Haible  <bruno@clisp.org>
77831
77832         * modules/wcwidth (Files): Add m4/wchar_t.m4.
77833
77834 2006-06-28  Bruno Haible  <bruno@clisp.org>
77835
77836         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
77837         gt_TYPE_WCHAR_T.
77838
77839 2006-06-28  Bruno Haible  <bruno@clisp.org>
77840
77841         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
77842         declaration for wcwidth.
77843         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
77844
77845 2006-06-28  Bruno Haible  <bruno@clisp.org>
77846
77847         * lib/mkdtemp.c [MINGW]: Include <io.h>.
77848         (mkdir): Define using _mkdir.
77849
77850 2006-06-28  Bruno Haible  <bruno@clisp.org>
77851
77852         * lib/getaddrinfo.h: Fix POSIX URL.
77853         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
77854         _WIN32.
77855         (use_win32_p): Make static.
77856         (getaddrinfo): Reject service name if it is empty or does not consist
77857         solely of decimal digits, or if its value is > 65535.
77858         (getnameinfo): Remove useless casts.
77859
77860 2006-06-27  Simon Josefsson  <jas@extundo.com>
77861
77862         * modules/sys_select: New file, suggested by Bruno Haible, Paul
77863         Eggert and Martin Lambers.
77864
77865 2006-06-27  Simon Josefsson  <jas@extundo.com>
77866
77867         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
77868         Eggert and Martin Lambers.
77869
77870 2006-06-27  Bruno Haible  <bruno@clisp.org>
77871
77872         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
77873         result to 0, not to empty.
77874         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
77875
77876 2006-06-27  Bruno Haible  <bruno@clisp.org>
77877
77878         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
77879
77880 2006-06-26  Simon Josefsson  <jas@extundo.com>
77881
77882         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
77883         present.
77884
77885 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
77886
77887         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
77888         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
77889         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
77890
77891 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
77892
77893         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
77894
77895 2006-06-26  Bruno Haible  <bruno@clisp.org>
77896
77897         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
77898
77899 2006-06-26  Bruno Haible  <bruno@clisp.org>
77900
77901         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
77902
77903 2006-06-26  Bruno Haible  <bruno@clisp.org>
77904
77905         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
77906         SGI C compiler in pre-C99 mode.
77907         Suggested by Mark D. Baushke and Larry Jones.
77908
77909 2006-06-26  Bruno Haible  <bruno@clisp.org>
77910
77911         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
77912         WCHAR_MAX.
77913         Reported by Mark D. Baushke and Larry Jones.
77914
77915 2006-06-26  Bruno Haible  <bruno@clisp.org>
77916
77917         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
77918         in pre-C99 mode.
77919         Suggested by Mark D. Baushke and Larry Jones.
77920
77921 2006-06-23  Simon Josefsson  <jas@extundo.com>
77922             Bruno Haible  <bruno@clisp.org>
77923
77924         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
77925         Emit mostlyclean-local rule.
77926         (func_emit_tests_Makefile_am): Likewise.
77927         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
77928
77929 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
77930
77931         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
77932
77933 2006-06-23  Bruno Haible  <bruno@clisp.org>
77934
77935         * tests/test-stdint.c: Update to match ISO C 99 Technical
77936         Corrigendum 1.
77937
77938 2006-06-23  Bruno Haible  <bruno@clisp.org>
77939
77940         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
77941
77942 2006-06-23  Bruno Haible  <bruno@clisp.org>
77943
77944         * lib/stdint_.h: Treat IRIX like OpenBSD.
77945
77946 2006-06-23  Bruno Haible  <bruno@clisp.org>
77947
77948         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
77949         ISO C 99 Technical Corrigendum 1.
77950
77951 2006-06-22  Simon Josefsson  <jas@extundo.com>
77952
77953         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
77954         MinGW.
77955
77956 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
77957
77958         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
77959         needed.  Some compiler complained about some of them.  Problem reported
77960         by Larry Jones in
77961         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
77962
77963 2006-06-21  Simon Josefsson  <jas@extundo.com>
77964
77965         * tests/test-getaddrinfo.c: New file.
77966
77967         * modules/getaddrinfo-tests: New file.
77968
77969         * MODULES.html.sh: Add inet_pton.
77970
77971         * modules/inet_pton: New file.
77972
77973 2006-06-21  Simon Josefsson  <jas@extundo.com>
77974
77975         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
77976         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
77977         of using the (limited) gnulib implementation on Windows XP.
77978
77979         * m4/inet_pton.m4: New file.
77980
77981 2006-06-21  Simon Josefsson  <jas@extundo.com>
77982
77983         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
77984         variable.
77985
77986         * lib/socket_.h: Don't define WINVER.
77987
77988         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
77989         slightly modified to work in gnulib.
77990
77991 2006-06-21  Simon Josefsson  <jas@extundo.com>
77992
77993         * doc/gnulib.texi (Windows sockets): Add.
77994
77995 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
77996
77997         * lib/read-file.c (fread_file): Start with buffer allocation of
77998         0 bytes rather than 1 byte; this simplifies the code.
77999         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
78000         code to free buffer and save/restore errno.
78001         (internal_read_file): Remove unused local.
78002
78003 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
78004
78005         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
78006         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
78007         Problem reported by Denis Excoffier in
78008         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
78009
78010 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
78011
78012         * modules/sys_socket, modules/socklen: Include sys/types since
78013         FreeBSD 4.x's sys/socket.h needs it.
78014
78015 2006-06-19  Simon Josefsson  <jas@extundo.com>
78016
78017         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
78018
78019 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
78020
78021         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
78022
78023 2006-06-19  Bruno Haible  <bruno@clisp.org>
78024
78025         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
78026         and FULL_PATH_INTTYPES_H in angle brackets.
78027         Reported by Mark D. Baushke <mdb@gnu.org>.
78028
78029 2006-06-17  Eric Blake  <ebb9@byu.net>
78030
78031         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
78032         errno.
78033
78034 2006-06-17  Bruno Haible  <bruno@clisp.org>
78035
78036         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
78037         <sys/inttypes.h>.
78038
78039 2006-06-17  Bruno Haible  <bruno@clisp.org>
78040
78041         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
78042         whether errno is declared. Assume <errno.h> declares errno.
78043
78044 2006-06-17  Bruno Haible  <bruno@clisp.org>
78045
78046         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
78047
78048 2006-06-17  Bruno Haible  <bruno@clisp.org>
78049
78050         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
78051         problem on Solaris 2.5.1.
78052
78053 2006-06-16  Eric Blake  <ebb9@byu.net>
78054
78055         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
78056         * lib/unicodeio.c [!defined errno]: Likewise.
78057         * lib/strtol.c [!defined errno]: Likewise.
78058         * lib/strtod.c [!defined errno]: Likewise.
78059
78060 2006-06-15  Eric Blake  <ebb9@byu.net>
78061
78062         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
78063
78064 2006-06-15  Eric Blake  <ebb9@byu.net>
78065
78066         * config/srclist.txt (ssize_t.m4): Lose sync.
78067
78068 2006-06-15  Bruno Haible  <bruno@clisp.org>
78069
78070         * modules/stdint (Files): Include m4/full-header-path.m4,
78071         m4/size_max.m4, m4/wchar_t.m4.
78072         (Makefile.am): Many more substitutions.
78073         * modules/stdint-tests: New file.
78074         * tests/test-stdint.c: New file.
78075
78076 2006-06-15  Bruno Haible  <bruno@clisp.org>
78077
78078         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
78079         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
78080         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
78081         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
78082         gl_CHECK_TYPE_SAME): New macros.
78083
78084 2006-06-15  Bruno Haible  <bruno@clisp.org>
78085
78086         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
78087
78088 2006-06-15  Bruno Haible  <bruno@clisp.org>
78089
78090         * lib/stdint_.h: Rewritten to be fully auto-configured.
78091         Fixes bug on HP-UX/IA64.
78092
78093 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
78094
78095         * lib/getdate.y (__attribute__): Don't define if already defined.
78096         Problem reported by Larry Jones.
78097         * lib/utimens.c (__attribute__): Likewise.
78098
78099 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
78100
78101         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
78102         reported by Andreas Schwab.
78103
78104 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78105             Bruno Haible  <bruno@clisp.org>
78106
78107         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
78108         check for the declaration of strnlen and a run test that exposes the
78109         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
78110         rpl_strndup.
78111
78112 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78113             Bruno Haible  <bruno@clisp.org>
78114
78115         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
78116
78117 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78118
78119         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
78120         compile test, for Tru64 4.0D.
78121
78122 2006-05-28  Karl Berry  <karl@gnu.org>
78123
78124         * config/srclist.txt (printf-args.c): lose sync.
78125
78126 2006-05-26  Martin Lambers  <marlam@marlam.de>
78127
78128         * lib/getpass.c: Updates the test for the native W32 API, and adds
78129         missing includes, thus fixing compilation warnings.
78130
78131 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
78132
78133         * lib/exclude.c (exclude_fnmatch): New function.
78134         (excluded_file_name): Call exclude_fnmatch.
78135         * lib/exclude.h (excluded_file_name): New prototype
78136
78137 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
78138
78139         * lib/tempname.c (small_open, large_open): New macros.
78140         (__open, __open64) [!_LIBC]: Remove.
78141         (__gen_tempname): Use small_open and large_open instead of __open
78142         and __open64.  This fixes a portability bug on HP-UX 11.11i
78143         reported by Simon Wing-Tang in
78144         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
78145
78146 2006-05-24  Bruno Haible  <bruno@clisp.org>
78147
78148         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
78149         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
78150         Reported by Thorsten Maerz <torte@netztorte.de> via
78151         Aaron Stone <aaron@serendipity.cx>.
78152
78153 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
78154
78155         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
78156         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
78157         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
78158         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
78159         not really conditional on the cache.
78160         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
78161
78162 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
78163
78164         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
78165         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
78166         (my_usleep): Don't mishandle maximum value.
78167
78168 2006-05-19  Jim Meyering  <jim@meyering.net>
78169
78170         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
78171
78172 2006-05-17  Bruno Haible  <bruno@clisp.org>
78173
78174         Cygwin portability.
78175         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
78176
78177 2006-05-17  Bruno Haible  <bruno@clisp.org>
78178
78179         * lib/stdint_.h: Fix recognition of Cygwin.
78180
78181 2006-05-15  Bruno Haible  <bruno@clisp.org>
78182
78183         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
78184         on libtool patch by Ralf Wildenhues.
78185
78186 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
78187
78188         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
78189         test for C99 conformance; (bool) 0.5 is an integer constant
78190         expression, but (bool) -0.5 is not.  Problem reported by Fedor
78191         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
78192
78193 2006-05-11  Simon Josefsson  <jas@extundo.com>
78194
78195         * m4/xvasprintf.m4: Fix obvious typo.
78196
78197 2006-05-11  Jim Meyering  <jim@meyering.net>
78198
78199         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
78200         James Lemley.
78201
78202 2006-05-10  Simon Josefsson  <jas@extundo.com>
78203
78204         * lib/md4.c: Typo fix, update copyright years.
78205         (K1, K2): Don't use L because it turn computations into 64-bit on
78206         64-bit platforms.
78207
78208 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
78209
78210         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
78211         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
78212         unwanted sign propagation, e.g., on hosts with 64-bit int.
78213         There still are some problems with reeelly weird theoretical hosts
78214         (e.g., 33-bit int) but it's not worth worrying about now.
78215         * lib/sha1.c (rol): Likewise.
78216         (K1, K2, K3, K4): Remove unnecessary L suffix.
78217
78218 2006-05-10  Bruno Haible  <bruno@clisp.org>
78219
78220         * lib/des.c: Cast to avoid warnings.
78221
78222 2006-05-09  Bruno Haible  <bruno@clisp.org>
78223
78224         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
78225         (Depends-on): Depend also on xsize, stdarg.
78226         (configure.ac): Add gl_XVASPRINTF.
78227
78228 2006-05-09  Bruno Haible  <bruno@clisp.org>
78229
78230         * m4/xvasprintf.m4: New file.
78231
78232 2006-05-09  Bruno Haible  <bruno@clisp.org>
78233
78234         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
78235         (EOVERFLOW): Define fallback value.
78236         (xstrcat): New function.
78237         (xvasprintf): Recognize the special case of a string concatenation.
78238
78239 2006-05-08  Eric Blake  <ebb9@byu.net>
78240
78241         * gnulib-tool (func_version): Base copyright year on CVS date.
78242         (func_emit_copyright_notice): New function.
78243         (func_emit_lib_Makefile_am): Use it.
78244         (func_emit_tests_Makefile_am): Likewise.
78245         (func_import): Likewise.
78246
78247 2006-05-08  Bruno Haible  <bruno@clisp.org>
78248
78249         * modules/stdarg: New file.
78250         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
78251
78252 2006-05-08  Bruno Haible  <bruno@clisp.org>
78253
78254         * m4/stdarg.m4: New file, from GNU gettext.
78255
78256 2006-05-08  Bruno Haible  <bruno@clisp.org>
78257
78258         * config/srclist.txt (build-aux/config.rpath): different from latest
78259         release.
78260
78261 2006-05-08  Bruno Haible  <bruno@clisp.org>
78262
78263         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
78264
78265 2006-05-05  Jim Meyering  <jim@meyering.net>
78266
78267         * m4/warning.m4: New file, derived from bison's file by the same name.
78268
78269 2006-05-03  Bruno Haible  <bruno@clisp.org>
78270
78271         * lib/stdint_.h: Shorter URL.
78272         * lib/inttypes.h: Likewise.
78273
78274 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
78275
78276         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
78277
78278 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
78279
78280         * lib/verify.h: Document the internals better.  Most of this change
78281         was written by Bruno Haible.
78282
78283 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
78284
78285         * doc/verify.texi: New file, partly based on a proposal by
78286         Bruno Haible.
78287
78288 2006-05-02  Bruno Haible  <bruno@clisp.org>
78289
78290         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
78291         test from here...
78292         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
78293
78294 2006-04-29  Bruno Haible  <bruno@clisp.org>
78295
78296         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
78297         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
78298
78299 2006-04-29  Bruno Haible  <bruno@clisp.org>
78300
78301         * gnulib-tool: Make --update option actually work.
78302
78303 2006-04-29  Bruno Haible  <bruno@clisp.org>
78304
78305         * doc/gcd.texi: New file.
78306         * doc/gnulib.texi: Include it.
78307
78308 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
78309
78310         * lib/getdate.y (get_date): When adding relative date, start with the
78311         initial time, not with the result of the first mktime call.
78312
78313 2006-04-25  Bruno Haible  <bruno@clisp.org>
78314
78315         * gnulib-tool (func_import): Output the include directives in three
78316         blocks, sorted separately.
78317         Reported by Ben Pfaff <blp@cs.stanford.edu>.
78318
78319 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
78320
78321         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
78322         to define main with arguments, for C++.  Reported by Eric Blake.
78323         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
78324         Prefer 'int main ()' to 'int main (void)', for C++.
78325         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
78326         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
78327         for 'main', for C99 and C++.
78328
78329 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
78330
78331         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
78332         Don't assume that exit status -1 is valid.
78333         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
78334         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
78335         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
78336         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
78337         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
78338         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
78339         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
78340         functions can be used without declaring them, or that you can
78341         exit with status -1.
78342         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
78343
78344 2006-04-24  Karl Berry  <karl@gnu.org>
78345
78346         * config/srclist.txt (longdouble.m4): sync lost.
78347
78348 2006-04-24  Eric Blake  <ebb9@byu.net>
78349
78350         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
78351
78352 2006-04-24  Bruno Haible  <bruno@clisp.org>
78353
78354         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
78355         poll() implementation in AIX.
78356         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78357
78358 2006-04-24  Bruno Haible  <bruno@clisp.org>
78359
78360         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
78361         assigned exactly once.
78362
78363 2006-04-23  Claudio Fontana  <claudio@gnu.org>
78364             Bruno Haible  <bruno@clisp.org>
78365
78366         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
78367         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
78368         for AM_CPPFLAGS.
78369
78370 2006-04-23  Bruno Haible  <bruno@clisp.org>
78371
78372         * modules/copy-file: Depend on unistd.
78373         * modules/execute: Likewise.
78374         * modules/fatal-signal: Likewise.
78375         * modules/findprog: Likewise.
78376         * modules/mkdtemp : Likewise.
78377         * modules/pipe: Likewise.
78378         * modules/wait-process: Likewise.
78379
78380 2006-04-23  Bruno Haible  <bruno@clisp.org>
78381
78382         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
78383         condition was already detected.
78384         Reported by Ben Pfaff <blp@cs.stanford.edu>.
78385
78386 2006-04-23  Bruno Haible  <bruno@clisp.org>
78387
78388         * lib/copy-file.c: Include <unistd.h> unconditionally.
78389         * lib/execute.c: Likewise.
78390         * lib/fatal-signal.c: Likewise.
78391         * lib/findprog.c: Likewise.
78392         * lib/mkdtemp.c: Likewise.
78393         * lib/pipe.h: Likewise.
78394         * lib/pipe.c: Likewise.
78395         * lib/wait-process.h: Likewise.
78396
78397 2006-04-23  Bruno Haible  <bruno@clisp.org>
78398
78399         * gnulib-tool (func_usage): Fix --import description. Document
78400         --update.
78401         (func_import): Create temporary file in a temporary directory, if
78402         --dry-run is specified. Silence errors from 'grep' when there are no
78403         m4 files in $m4dir.
78404         (func_create_testdir): Silence errors from 'grep' when there are no
78405         m4 files in $m4dir.
78406         Reported by Karl Berry <karl@freefriends.org>.
78407
78408 2006-04-20  Bruno Haible  <bruno@clisp.org>
78409
78410         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
78411         one argument, so that the code will be portable to Autoconf 2.60.
78412         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
78413         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
78414         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
78415
78416 2006-04-19  Derek Price  <derek@ximbiot.com>
78417             Eric Blake  <ebb9@byu.net>
78418
78419         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
78420         rather than "/full/path.h".  Update comment to match.  Shorten &
78421         generalize m4_translit call via AS_TR_CPP.
78422
78423 2006-04-19  Derek Price  <derek@ximbiot.com>
78424             Eric Blake  <ebb9@byu.net>
78425
78426         * lib/inttypes.h: Correct grammar in comment.
78427
78428 2006-04-18  Derek Price  <derek@ximbiot.com>
78429             Paul Eggert  <eggert@cs.ucla.edu>
78430
78431         * modules/inttypes: New file.
78432         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
78433
78434 2006-04-18  Derek Price  <derek@ximbiot.com>
78435             Paul Eggert  <eggert@cs.ucla.edu>
78436
78437         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
78438         New files.
78439
78440 2006-04-18  Derek Price  <derek@ximbiot.com>
78441             Paul Eggert  <eggert@cs.ucla.edu>
78442
78443         * lib/inttypes.h: New file.
78444         * lib/strtoimax.c: Assume <inttypes.h>.
78445
78446 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
78447
78448         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
78449         isn't mounted.  Problem reported by Kir Kolyshkin.
78450
78451 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
78452
78453         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
78454         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
78455         Derek R. Price.
78456         * lib/regex.h (RE_DUP_MAX): Update comment to match current
78457         implementation.
78458
78459 2006-04-12  Eric Blake  <ebb9@byu.net>
78460
78461         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
78462         is now done automatically by the corresponding Autoconf macro.
78463
78464 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
78465
78466         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
78467         time_r.h.
78468
78469 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
78470
78471         Merge regex changes from libc, removing some of our
78472         POSIX-conformance changes that were rejected and redoing them in a
78473         less-intrusive way.
78474
78475         * lib/regcomp.c (re_compile_internal, init_dfa):
78476         Length arg is now size_t, not Idx.  All uses changed.
78477         (peek_token): Forward decl now says internal_function.
78478         (__re_error_msgid, __re_error_msgid_idx):
78479         Now static rather than extern with attribute_hidden.
78480         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
78481         For some reason libc prefers K&R style defns for external functions.
78482         (regerror) [!defined _LIBC]: Likewise.
78483         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
78484         (seek_collating_symbol_entry, lookup_collation_sequence_value):
78485         (build_range_exp, build_collating_symbol):
78486         Use K&R-style defn.
78487         (re_compile_fastmap): Use '\0' to memset, not 0.
78488         (utf8_sb_map): Make the calculations more obvious.
78489         (init_dfa, parse_bracket_exp, build_charclass_op):
78490         Call calloc and cast result, as glibc does.
78491         (init_word_char, fetch_token, peek_token, peek_token_bracket):
78492         (build_range_exp, build_collating_symbol):
78493         Now internal functions.
78494
78495         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
78496
78497         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
78498         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
78499         Don't depend on VMS; depend on __VMS instead, for POSIX
78500         namespace cleanness.
78501         (regoff_t): Define to ssize_t, not long int.
78502
78503         Remove the REG_ macros named below.  Instead, make the old names
78504         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
78505         __USE_GNU_REGEX.
78506         (REG_BACKSLASH_ESCAPE_IN_LISTS):
78507         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
78508         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
78509         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
78510         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
78511         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
78512         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
78513         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
78514         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
78515         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
78516         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
78517         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
78518         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
78519         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
78520         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
78521         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
78522         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
78523         (REG_NREGS):
78524         Remove.  All uses replaced by the old RE_* names.
78525         (RE_BACKSLASH_ESCAPE_IN_LISTS):
78526         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
78527         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
78528         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
78529         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
78530         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
78531         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
78532         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
78533         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
78534         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
78535         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
78536         Don't bother having these macros be independent of each others'
78537         values, since they no longer exist in the POSIX name space.
78538
78539         Rename the following member names back to their old names,
78540         unless !__USE_GNU_REGEX.  All uses changed back.
78541         (buffer): Renamed from re_buffer.
78542         (allocated): Renamed from re_allocated.
78543         (used): Renamed from re_used.
78544         (syntax): Renamed from re_syntax.
78545         (fastmap): Renamed from re_fastmap.
78546         (translate): Renamed from re_translate.
78547         (can_be_null): Renamed from re_can_be_null.
78548         (regs_allocated): Renamed from re_regs_allocated.
78549         (fastmap_accurate): Renamed from re_fastmap_accurate.
78550         (no_sub): Renamed from re_no_sub.
78551         (not_bol): Renamed from re_not_bol.
78552         (not_eol): Renamed from re_not_eol.
78553         (newline_anchor): Renamed from re_newline_anchor.
78554         (num_regs): Renamed from rm_num_regs.
78555         (start): Renamed from rm_start.
78556         (end): Renamed from rm_end.
78557
78558         (free_state): Move up a bit.
78559
78560         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
78561         #define to be empty.
78562         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
78563         when that is what is intended.
78564         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
78565         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
78566         (MAX): New macro.
78567         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
78568         All uses changed back to re_malloc, etc.  It's now the caller's
78569         responsibility to check for overflow; all callers changed.
78570         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
78571         (re_x2nrealloc): Remove.
78572         (free_state): Remove decl.
78573
78574         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
78575         (re_set_registers, re_exec):
78576         Use K&R-style defn.
78577
78578         2006-01-31  Roland McGrath  <roland@redhat.com>
78579
78580         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
78581         Reported by Mike Frysinger <vapier@gentoo.org>.
78582
78583         2006-01-15  Andreas Jaeger  <aj@suse.de>
78584
78585         [BZ #1950]
78586         * lib/regex_internal.c (re_string_reconstruct): Adjust for
78587         build_wcs_upper_buffer change.
78588         (build_wcs_upper_buffer): Change return type.
78589
78590         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
78591
78592         * lib/regex_internal.h: Include <stdint.h> if available.
78593
78594         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
78595
78596         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
78597
78598         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
78599
78600         * lib/regcomp.c: Adjust for changed secondary hash function.
78601
78602         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
78603
78604         * lib/regex.h: Pretty printing.
78605         Clean up namespace a bit.
78606
78607         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
78608
78609         * lib/regexec.c (update_cur_sifted_state, check_arrival,
78610         check_arrival_add_next_nodes): Avoid using uninitialized variable.
78611
78612         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
78613                     Ulrich Drepper  <drepper@redhat.com>
78614
78615         [BZ #1302]
78616         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
78617         changed.
78618         (bitset_word_t): Renamed from bitset_word.  All uses changed.
78619
78620         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
78621
78622         [BZ #281]
78623         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
78624         * lib/regcomp.c: Remove unnecessary uses of
78625         unsigned RE_TRANSLATE_TYPE.
78626         * lib/regex_internal.h: Likewise.
78627         * lib/regex_internal.c: Likewise.
78628         * lib/regexec.c: Likewise.
78629         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
78630
78631         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
78632
78633         * lib/regexec.c (find_recover_state): Remove unnecessary
78634         initialization.
78635         (transit_state_bkref): Make DFA a const pointer.
78636         (get_subexp): Likewise.
78637         (check_arrival): Likewise.
78638         (update_cur_sifted_state): Likewise.
78639         (re_search_internal): Likewise.
78640         (prune_impossible_nodes): Likewise.
78641         (acquire_init_state_context): Likewise.
78642         (proceed_next_node): Likewise.
78643         (set_regs): Likewise.
78644         (free_fail_stack_return): Likewise.
78645         (check_arrival_expand_ecl): Mark DFA parameter as const.
78646         (check_arrival_expand_ecl_sub): Likewise.
78647         (check_subexp_limits): Likewise.
78648         (sub_epsilon_src_nodes):  Likewise.
78649         (add_epsilon_src_nodes):  Likewise.
78650         (merge_state_array): Likewise.
78651         (update_regs): Likewise.
78652         (build_trtable): Likewise.
78653         (sift_states_backward): Mark MCTX parameter as const.
78654         (build_sifted_states): Likewise.
78655         (update_cur_sifted_state): Likewise.
78656         (sift_states_mkref): Likewise.
78657         (check_arrival_expand_ecl): Mark eclosure as const.
78658         (check_dst_limits_calc_pos_1): Likewise.
78659         * lib/regex_internal.h (re_match_context_t): Make dfa a const
78660         pointer.
78661
78662         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
78663
78664         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
78665         (transit_state_sb): Likewise.
78666         (transit_state_mb): Likewise.
78667         (sift_states_iter_mb): Likewise.
78668         (check_arrival_add_next_nodes): Likewise.
78669         (check_node_accept_bytes): Change first parameter to pointer-to-const.
78670         [_LIBC] (re_search_2_stub): Use mempcpy.
78671
78672         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
78673         mbrtowc for very simple UTF-8 case.
78674
78675         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
78676         a pointer-to-const.
78677         (re_acquire_state_context): Likewise.
78678         * lib/regex_internal.h: Adjust prototypes.
78679
78680         * lib/regex.c: Prevent using C++ compilers.
78681
78682         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
78683         (re_acquire_state_context): Likewise.
78684
78685 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
78686
78687         * modules/regex (Depends-on): Add ssize_t.
78688
78689 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
78690
78691         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
78692         translation table.
78693
78694 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
78695
78696         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
78697
78698 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
78699             Bruno Haible  <bruno@clisp.org>
78700
78701         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
78702         <sys/types.h> and <inttypes.h>.
78703
78704 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78705
78706         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
78707         `__error_t_defined', so argp.h will not typedef the former.
78708
78709 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
78710
78711         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
78712         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
78713         glibc names.  Even if glibc is changed to conform to POSIX, the
78714         traditional names will be available anyway, since regex depends on
78715         the extensions module.  Also, fix a longstanding typo in the
78716         implementation of Spencer ERE test #75 from grep 2.3.  Problems
78717         reported by Emanuele Giaquinta.  Also, change sense of cached
78718         variable, so that the message makes sense.
78719
78720 2006-03-24  Simon Josefsson  <jas@extundo.com>
78721
78722         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
78723         including some doc fixes.
78724         (base64_encode_alloc): Fix +1 bug on allocation failures.
78725
78726 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78727
78728         * lib/base64.c (base64_encode): Do not read past end of array with
78729         unsanitized input on systems with CHAR_BIT > 8.
78730
78731 2006-03-24  Eric Blake  <ebb9@byu.net>
78732
78733         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
78734
78735 2006-03-22  Karl Berry  <karl@gnu.org>
78736
78737         * config/srclist.txt (*setenv.[ch]): get from coreutils.
78738         * config/srclistvars.sh (COREUTILS): new var.
78739
78740 2006-03-17  Jim Meyering  <jim@meyering.net>
78741
78742         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
78743         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
78744
78745 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
78746
78747         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
78748         no longer needs it.  Instead, check that regoff_t is as least
78749         as wide as ptrdiff_t.
78750
78751         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
78752         so that our regex.h stays compatible with the installed regex.
78753         This is helpful for installers who configure --without-included-regex.
78754         Problem reported by Emanuele Giaquinta.
78755
78756 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
78757
78758         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
78759         Typedef to long int, not to off_, as POSIX will likely change
78760         in that direction.
78761
78762 2006-03-15  Eric Blake  <ebb9@byu.net>
78763
78764         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
78765
78766 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
78767
78768         * lib/argp-help.c (validate_uparams): Fix typo
78769         * lib/argp-parse.c (argp_default_options): Consistently begin help
78770         messages with a lowercase letter.
78771
78772 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
78773
78774         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
78775         overrun buffers and shouldn't be used (much as gets shouldn't be
78776         used).
78777         * lib/time_r.c (asctime_r, ctime_r): Likewise.
78778
78779 2006-03-08  Simon Josefsson  <jas@extundo.com>
78780
78781         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
78782         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78783
78784 2006-03-08  Simon Josefsson  <jas@extundo.com>
78785
78786         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
78787         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78788
78789 2006-03-08  Simon Josefsson  <jas@extundo.com>
78790
78791         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
78792         signal that configure disabled the device.
78793
78794 2006-03-08  Simon Josefsson  <jas@extundo.com>
78795
78796         * build-aux/maint.mk: Fix refresh-po, to handle no translated
78797         languages.
78798
78799 2006-03-07  Simon Josefsson  <jas@extundo.com>
78800
78801         * modules/getopt (Depends-on): Add unistd.
78802
78803         * modules/unistd: New file.
78804
78805 2006-03-07  Simon Josefsson  <jas@extundo.com>
78806
78807         * modules/gc-random: New file.
78808
78809 2006-03-07  Simon Josefsson  <jas@extundo.com>
78810
78811         * m4/unistd_h.m4: New file.
78812
78813 2006-03-07  Simon Josefsson  <jas@extundo.com>
78814
78815         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
78816         test to be side-effect free by storing the result in the cache
78817         variable gl_cv_lib_readline, and moving the assignment of
78818         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
78819         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78820
78821 2006-03-07  Simon Josefsson  <jas@extundo.com>
78822
78823         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
78824         error on missing devices (the functions will return an error).
78825
78826         * m4/gc.m4: Move random stuff to gc-random.m4
78827
78828 2006-03-07  Simon Josefsson  <jas@extundo.com>
78829
78830         * lib/unistd_.h: New file.
78831
78832 2006-03-07  Simon Josefsson  <jas@extundo.com>
78833
78834         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
78835
78836 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
78837
78838         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
78839         Problem reported by Juan Manuel Guerrero.
78840
78841 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
78842
78843         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
78844         the unistd module.
78845         * lib/getlogin_r.c: Likewise.
78846         * lib/getlogin_r.h: Likewise.
78847         * lib/glob.c: Likewise.
78848         * lib/pagealign_alloc.c: Likewise.
78849         * lib/unistd_.h: Remove; no longer needed.
78850
78851 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
78852
78853         * MODULES.html.sh (Support for systems lacking POSIX:2001):
78854         Add unistd.
78855         * modules/c-stack (Depends-on): Add unistd.
78856         * modules/getlogin_r: Likewise.
78857         * modules/glob: Likewise.
78858         * modules/pagealign_alloc: Likewise.
78859         * modules/unistd (Files): Remove lib/unistd_.h.
78860         (EXTRA_DIST): Remove.
78861         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
78862         need unistd_.h.
78863         (MOSTLYCLEANFILES): Remove unistd.h-t.
78864
78865 2006-03-03  Simon Josefsson  <jas@extundo.com>
78866
78867         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
78868
78869 2006-03-03  Simon Josefsson  <jas@extundo.com>
78870
78871         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
78872         libidn and bison.
78873
78874 2006-03-03  Simon Josefsson  <jas@extundo.com>
78875
78876         * build-aux/maint.mk: Add indent target.
78877
78878 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
78879
78880         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
78881         our replacement poll.h in any case, to avoid a differing
78882         declaration from a system header.  Seen on AIX.
78883
78884 2006-03-01  Simon Josefsson  <jas@extundo.com>
78885
78886         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
78887         <kasal@ucw.cz>.
78888
78889 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
78890
78891         * modules/gettime (Depends-on): Add extensions module.
78892         * modules/nanosleep (Depends-on): Likewise.
78893         * modules/settime (Depends-on): Likewise.
78894
78895 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
78896
78897         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
78898         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
78899         pedantically.
78900         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
78901         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
78902
78903         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
78904         not "==".  Reported by Ralf Wildenhues.
78905
78906 2006-03-01  Karl Berry  <karl@gnu.org>
78907
78908         * doc/Copyright/request-*: new files, synced from gnuorg.
78909
78910 2006-03-01  Karl Berry  <karl@gnu.org>
78911
78912         * config/srclist.txt (Copyright/*): new entries.
78913
78914 2006-02-28  Simon Josefsson  <jas@extundo.com>
78915
78916         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
78917
78918 2006-02-27  Simon Josefsson  <jas@extundo.com>
78919
78920         * lib/base64.h: Indent #define's.  From Jim Meyering
78921         <jim@meyering.net>.
78922
78923 2006-02-27  Jim Meyering  <jim@meyering.net>
78924
78925         Revert the change of 2006-02-24, so these files can continue
78926         to be sync'd from gettext.
78927         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
78928         of `config.h'.
78929
78930 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
78931
78932         * modules/intprops: New file.
78933         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
78934         Add intprops.
78935         * modules/getloadavg (Files): Remove lib/intprops.h.
78936         (Depends-on): Add intprops.
78937         * modules/human: Likewise.
78938         * modules/inttostr: Likewise.
78939         * modules/openat: Likewise.
78940         * modules/sig2str: Likewise.
78941         * modules/userspec: Likewise.
78942         * modules/utimecmp: Likewise.
78943         * modules/xnanosleep: Likewise.
78944         * modules/xstrtol: Likewise.
78945
78946 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
78947
78948         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
78949         * modules/lock-tests (TESTS): Use $(EXEEXT).
78950         * modules/tls-tests: Likewise.
78951         * modules/argp-tests: Likewise.
78952         (check_PROGRAMS): New var, replacing...
78953         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
78954
78955 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78956
78957         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
78958         `config.h'.
78959
78960 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
78961
78962         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
78963
78964 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78965
78966         Sync from coreutils.
78967         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
78968         gl_CHDIR_SAFER.
78969
78970 2006-02-22  Jim Meyering  <jim@meyering.net>
78971
78972         Sync from coreutils.
78973         * m4/chdir-safer.m4: New file.
78974
78975 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
78976
78977         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
78978         AT_FDCWD exceeds INT_MAX.
78979         * lib/openat.h (AT_FDCWD): Likewise.
78980
78981 2006-02-17  Eric Blake  <address@hidden>
78982
78983         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
78984
78985 2006-02-16  Simon Josefsson  <jas@extundo.com>
78986
78987         * modules/getaddrinfo (Depends-on): Add sys_socket.
78988
78989 2006-02-15  Simon Josefsson  <jas@extundo.com>
78990
78991         * build-aux/maint.mk: Add dsyntax-check rule.
78992
78993 2006-02-15  Eric Blake  <ebb9@byu.net>
78994
78995         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
78996         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
78997         'present but cannot compile' warnings on cygwin.
78998         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
78999         use ws2tcpip.h if sys/socket.h works.
79000         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
79001         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
79002
79003 2006-02-14  Simon Josefsson  <jas@extundo.com>
79004
79005         * modules/maintainer-makefile (Files): Rename.
79006
79007         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
79008         and (the local) Makefile.cfg to maint-cfg.mk.
79009
79010         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
79011         to the latter.
79012
79013         * modules/maintainer-makefile: New module.
79014
79015         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
79016         severaly stripped to make it possible to build it up from scratch
79017         with reliable tests.
79018
79019         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
79020         fixes to permit overriding the default actions when configure and
79021         makefile are not available.
79022
79023 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
79024
79025         Sync from coreutils.
79026         * modules/lstat (Depends-on): Don't depend on xalloc.
79027         (License): Change from GPL to LGPL, since this is now simply a
79028         replacement for a libc function.
79029
79030 2006-02-14  Jim Meyering  <jim@meyering.net>
79031
79032         Sync from coreutils.
79033
79034         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
79035         failure on deficient systems, and simplify gnulib lgpl dependencies.
79036         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
79037         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
79038
79039         * lib/xalloc-die.c: Remove unused definition of N_.
79040
79041 2006-02-14  Jim Meyering  <jim@meyering.net>
79042
79043         Sync from coreutils.
79044         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
79045         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
79046         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
79047         double-quote uses of that variable, to accommodate the rare case in
79048         which getmntent is available in none of the libraries checked.  This
79049         happens at least on FreeBSD 5.0.
79050
79051 2006-02-13  Simon Josefsson  <jas@extundo.com>
79052
79053         * gnulib-tool (Usage): Fix --import, from
79054         karl@freefriends.org (Karl Berry).
79055
79056 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
79057
79058         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
79059
79060 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
79061
79062         * lib/argp-namefrob.h: Restore changes accidentally lost during the
79063         "autoupdate" on 2005-12-12.
79064
79065 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
79066
79067         * modules/closeout (Depends-on): Remove atexit.
79068
79069 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
79070
79071         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
79072         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
79073
79074 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
79075
79076         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
79077         __EXTENSIONS__ if this causes compilation to fail.  Problem
79078         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
79079         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
79080
79081 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
79082
79083         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
79084         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
79085         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
79086         All uses changed.
79087
79088 2006-01-26  Simon Josefsson  <jas@extundo.com>
79089
79090         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
79091         prototype is visible on mingw32.
79092
79093         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
79094         for mingw32.
79095
79096         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
79097         mingw32).
79098
79099 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
79100
79101         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
79102         attempt to open for write; this always fails, at least on POSIX
79103         hosts.  This reinstates the 2006-01-09 change, which was
79104         inadvertently removed.
79105
79106 2006-01-26  Bruno Haible  <bruno@clisp.org>
79107
79108         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
79109         Reported by Paul Eggert.
79110
79111 2006-01-26  Bruno Haible  <bruno@clisp.org>
79112             Paul Eggert  <eggert@cs.ucla.edu>
79113
79114         * lib/stdbool_.h (_Bool)
79115         [(! (defined __cplusplus || defined __BEOS__)
79116           && !defined __GNUC__
79117           && !(defined __HP_cc || defined __xlc__
79118                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
79119                || defined __sgi))]:
79120         #define to signed char in these cases too; this simplifies
79121         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
79122         etc., separately) and makes it more conservative.
79123
79124 2006-01-25  Simon Josefsson  <jas@extundo.com>
79125
79126         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
79127         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
79128         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
79129
79130 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
79131
79132         * lib/argp-namefrob.h: Bugfix. Remove stray #
79133
79134 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
79135
79136         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
79137         so that we test the test.
79138         Check for yet another HP-UX cc bug involving *bool |= bool.
79139
79140 2006-01-25  Karl Berry  <karl@gnu.org>
79141
79142         * config/srclist.txt (vasnprintf.c): sync lost.
79143
79144 2006-01-25  Jim Meyering  <jim@meyering.net>
79145
79146         Sync from the stable (b5) branch of coreutils:
79147
79148         * lib/fts.c (fts_children): Don't let close() clobber errno from
79149         failed fchdir().
79150
79151         * lib/fts.c (fts_stat): When following a symlink-to-directory,
79152         don't necessarily interpret stat-fails+lstat-succeeds as indicating
79153         a dangling symlink.  That can also happen at least for ELOOP.
79154         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
79155         FYI, this bug predates the inclusion of fts.c in coreutils.
79156
79157         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
79158         in their own block, so pre-c99 compilers don't object.
79159
79160         Avoid the double-free (first in fts_read, second in fts_close) that
79161         would occur when an `active' directory is made inaccessible (e.g.,
79162         via chmod a-x) during a traversal.
79163         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
79164         before returning.  Reproduce this failure by
79165         mkdir -p a/b; cd a; chmod a-x . b
79166         Reported by Stavros Passas.
79167
79168 2006-01-25  Jim Meyering  <jim@meyering.net>
79169
79170         * lib/fileblocks.c: Remove more useless parentheses.
79171         * lib/readutmp.h: Likewise.
79172
79173 2006-01-25  Bruno Haible  <bruno@clisp.org>
79174
79175         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
79176         warnings.
79177         Reported by Paul Eggert.
79178
79179 2006-01-25  Bruno Haible  <bruno@clisp.org>
79180
79181         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
79182         rid of a trap command. For Solaris sh.
79183         Reported by Mark D. Baushke <mdb@gnu.org>.
79184
79185 2006-01-24  Simon Josefsson  <jas@extundo.com>
79186
79187         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
79188         Bruno.
79189
79190 2006-01-24  Karl Berry  <karl@gnu.org>
79191
79192         * config/srclist.txt (argp-namefrob.h): sync lost.
79193
79194 2006-01-24  Jim Meyering  <jim@meyering.net>
79195
79196         * modules/openat (Files): Add lib/intprops.h.
79197         From Mark D. Baushke.
79198
79199 2006-01-24  Jim Meyering  <jim@meyering.net>
79200
79201         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
79202         Reported by Mark D. Baushke.
79203
79204 2006-01-24  Jim Meyering  <jim@meyering.net>
79205
79206         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
79207
79208 2006-01-24  Bruno Haible  <bruno@clisp.org>
79209
79210         * modules/strnlen (Maintainer): Change from glibc to all.
79211
79212 2006-01-24  Bruno Haible  <bruno@clisp.org>
79213
79214         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
79215         Patch by Paul Eggert.
79216
79217 2006-01-24  Bruno Haible  <bruno@clisp.org>
79218
79219         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
79220         already has it.
79221         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
79222         2005-11-26.
79223
79224         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
79225         'signed char' to avoid problems with the built-in _Bool type.
79226         Reported by Paul Eggert on 2005-11-26.
79227
79228 2006-01-24  Bruno Haible  <bruno@clisp.org>
79229
79230         * gnulib-tool (func_import): Avoid constructing complicated sed
79231         expressions inside backquote.
79232         Report and solution by Mark D. Baushke <mdb@gnu.org>.
79233
79234 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
79235
79236         These changes imported from libc.
79237         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
79238         test and two separate function calls.
79239         * lib/strndup.c (__strndup): Add libc_hidden_def.
79240
79241 2006-01-23  Simon Josefsson  <jas@extundo.com>
79242
79243         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
79244         Remove the test_*_SOURCES variable: automake infers it by default.
79245         * modules/tls-tests: Likewise.
79246
79247 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
79248
79249         Work around porting bugs reported by Dieter in
79250         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
79251         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
79252         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
79253         Include "getopt.h" first, to check interface.
79254         (getenv): Declare only if defined HAVE_DECL_GETENV &&
79255         !HAVE_DECL_GETENV.
79256         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
79257         (__strndup): Revert to K&R-style function dfns, the glibc style.
79258         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
79259         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
79260         Include strnlen.h first, to get prototype properly.
79261         (strnlen): Renamed from __strnlen.
79262         Remove weak alias.
79263
79264 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
79265
79266         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
79267
79268 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
79269
79270         * config/srclist.txt: Adjust to reflect glibc reorganization.
79271         This affects only comments.
79272
79273 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
79274
79275          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
79276          Reported by Bruce Korb <bkorb@gnu.org>.
79277
79278 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
79279
79280         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
79281         to pacify gcc -Wswitch-default.
79282
79283 2006-01-22  Bruno Haible  <bruno@clisp.org>
79284
79285         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
79286         temporary buffer for sprintf, take into account the precision also
79287         for 'd', 'i', 'u', 'o', 'x', 'X'.
79288
79289 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
79290
79291         * modules/argp-tests: New module
79292         * tests/test-argp.c: New file
79293         * tests/test-argp-2.sh: New file
79294
79295 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
79296
79297         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
79298         (__argp_base_name): Removed
79299         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
79300         typo.
79301         (__argp_base_name): Provide macro definition or extern declaration
79302         depending on the configuration
79303
79304 2006-01-20  Simon Josefsson  <jas@extundo.com>
79305
79306         * modules/inet_ntop (Depends-on): Depend on sys_socket.
79307
79308 2006-01-20  Simon Josefsson  <jas@extundo.com>
79309
79310         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
79311
79312 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
79313
79314         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
79315         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
79316         Suggested by Bruno Haible.
79317
79318 2006-01-20  Karl Berry  <karl@gnu.org>
79319
79320         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
79321         until changes propagate, I guess.
79322
79323 2006-01-19  Simon Josefsson  <jas@extundo.com>
79324
79325         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
79326
79327 2006-01-19  Simon Josefsson  <jas@extundo.com>
79328
79329         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
79330
79331 2006-01-19  Simon Josefsson  <jas@extundo.com>
79332
79333         * gnulib-tool: Set check_PROGRAMS.
79334
79335         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
79336         modules/des-tests, modules/gc-arcfour-tests,
79337         modules/gc-arctwo-tests, modules/gc-des-tests,
79338         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
79339         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
79340         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
79341         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
79342         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
79343         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
79344         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
79345         test_*_SOURCES.
79346
79347 2006-01-18  Simon Josefsson  <jas@extundo.com>
79348
79349         * modules/socklen (Depends-on): Depend on sys_socket.
79350
79351 2006-01-18  Simon Josefsson  <jas@extundo.com>
79352
79353         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
79354         modules/des-tests, modules/gc-arcfour-tests,
79355         modules/gc-arctwo-tests, modules/gc-des-tests,
79356         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
79357         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
79358         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
79359         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
79360         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
79361         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
79362         $(EXEEXT) to automake TESTS variable, for mingw32.
79363
79364 2006-01-17  Simon Josefsson  <jas@extundo.com>
79365
79366         * modules/socklen (Include): Need sys/socket.h.
79367
79368 2006-01-17  Bruno Haible  <bruno@clisp.org>
79369
79370         * modules/ssize_t (Include): Add <sys/types.h>.
79371
79372 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
79373
79374         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
79375         it's not portable and it doesn't work with cross-compiles.
79376         Problem reported by Bruno Haible.  Fix missing-$ typo in
79377         'test "gl_cv_ignore_unused_libraries" ...' that prevented
79378         -zignore from being used with Sun's C compiler.
79379
79380 2006-01-12  Simon Josefsson  <jas@extundo.com>
79381
79382         * lib/base64.c: Fix warning, reported by Bruno Haible
79383         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
79384
79385 2006-01-12  Bruno Haible  <bruno@clisp.org>
79386
79387         * modules/ldd: New file.
79388         * build-aux/ldd.sh.in: New file.
79389         * MODULES.html.sh (Support for building libraries and executables): Add
79390         ldd.
79391
79392 2006-01-12  Bruno Haible  <bruno@clisp.org>
79393
79394         * m4/ldd.m4: New file.
79395
79396 2006-01-12  Bruno Haible  <bruno@clisp.org>
79397
79398         * gnulib-tool (func_import, func_create_testdir): Don't go into an
79399         endless loop while replacing $auxdir with build-aux.
79400
79401 2006-01-11  Simon Josefsson  <jas@extundo.com>
79402
79403         * lib/stdint_.h (SIZE_MAX): Add missing (.
79404
79405 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
79406
79407         Sync from coreutils.
79408         * lib/md5.c: Fix commentary typos.
79409         (alignof, UNALIGNED_P): No need for a GCC-specific version.
79410         * lib/md5.h (__attribute__): Remove; unused.
79411         * lib/sha1.c: Fix commentary to match md5 better.
79412         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
79413         so that we don't need to worry about alignment.  All uses changed.
79414         This merges the 2005-10-28 md5 change into sha1.
79415
79416 2006-01-11  Jim Meyering  <jim@meyering.net>
79417
79418         Sync from coreutils.
79419         * lib/md5.c (OP): Fix spacing.
79420
79421 2006-01-11  Bruno Haible  <bruno@clisp.org>
79422
79423         Ensure automatic ordering between gl_LOCK and gl_ARGP.
79424         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
79425         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
79426
79427 2006-01-11  Bruno Haible  <bruno@clisp.org>
79428
79429         Ensure automatic ordering between gl_LOCK and gl_ARGP.
79430         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
79431         the "early" section as well.
79432
79433 2006-01-11  Bruno Haible  <bruno@clisp.org>
79434
79435         Avoid "ar: no archive members specified" error on MacOS X.
79436         * gnulib-tool (func_modules_add_dummy): New function.
79437         (func_import, func_create_testdir): Invoke it.
79438
79439 2006-01-11  Bruno Haible  <bruno@clisp.org>
79440
79441         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
79442         with $auxdir in AC_CONFIG_FILES statements.
79443
79444 2006-01-11  Bruno Haible  <bruno@clisp.org>
79445
79446         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
79447         Initialize also noinst_HEADERS to empty.
79448
79449 2006-01-11  Bruno Haible  <bruno@clisp.org>
79450
79451         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
79452         variables.
79453         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
79454         autoreconf.
79455
79456 2006-01-11  Bruno Haible  <bruno@clisp.org>
79457
79458         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
79459         overridable by the user.
79460         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
79461
79462 2006-01-10  Simon Josefsson  <jas@extundo.com>
79463
79464         * modules/sys_socket: New file.
79465
79466 2006-01-10  Simon Josefsson  <jas@extundo.com>
79467
79468         * m4/sys_socket_h.m4: New file.
79469
79470 2006-01-10  Simon Josefsson  <jas@extundo.com>
79471
79472         * lib/socket_.h: New file.
79473
79474 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
79475
79476         * modules/readutmp (Maintainer): Add myself.
79477
79478 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
79479
79480         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
79481         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
79482         People who are still concerned with buggy memcmp implementations
79483         can invoke gl_FUNC_MEMCMP themselves.
79484
79485 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
79486
79487         * lib/regex_internal.h (BITSET_WORD_BITS):
79488         Work around a bug in 64-bit PGC (before version 6.1-2), where the
79489         preprocessor mishandles large unsigned values as if they were signed.
79490         Problem reported by Claudio Fontana in
79491         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
79492
79493 2006-01-10  Jim Meyering  <jim@meyering.net>
79494
79495         Avoid the double-free (first in fts_read, second in fts_close) that
79496         would occur when an `active' directory is made inaccessible (e.g.,
79497         via chmod a-x) during a traversal.
79498         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
79499         before returning.  Reproduce this failure by
79500         mkdir -p a/b; cd a; chmod a-x . b
79501         Reported by Stavros Passas.
79502
79503         Sync from coreutils.
79504         * lib/sha1.c: Tweak grammar in a comment.
79505
79506 2006-01-10  Jim Meyering  <jim@meyering.net>
79507
79508         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
79509         Patch by Joerg Sonnenberger.
79510
79511 2006-01-10  Bruno Haible  <bruno@clisp.org>
79512
79513         * modules/readutmp: Depend on module free.
79514         * modules/strtok_r: Depend on module restrict.
79515
79516 2006-01-10  Bruno Haible  <bruno@clisp.org>
79517
79518         * modules/gettext (configure.ac): Add an invocation of
79519         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
79520
79521 2006-01-10  Bruno Haible  <bruno@clisp.org>
79522
79523         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
79524         Reported by Werner Lemberg <wl@gnu.org>.
79525
79526 2006-01-10  Bruno Haible  <bruno@clisp.org>
79527
79528         * lib/localcharset.c: Update from GNU gettext.
79529
79530 2006-01-10  Bruno Haible  <bruno@clisp.org>
79531
79532         * lib/argp.h (__const): Remove macro. Use const instead.
79533         * lib/argp-fmtstream.h (__const): Likewise.
79534         * lib/glob_.h (__const): Remove macro.
79535         * lib/glob-libc.h: Use const instead of __const.
79536
79537 2006-01-10  Bruno Haible  <bruno@clisp.org>
79538
79539         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
79540         variable.
79541         Needed to avoid an automake error regarding the 'gettext' module.
79542
79543 2006-01-09  Simon Josefsson  <jas@extundo.com>
79544
79545         * modules/inet_ntop (Depends-on): Add restrict.
79546
79547 2006-01-09  Simon Josefsson  <jas@extundo.com>
79548
79549         * modules/gc-rijndael-tests (License): Put under LGPL.
79550
79551         * modules/gc-des-tests (License): Likewise.
79552
79553         * modules/gc-arcfour-tests (License): Likewise.
79554
79555         * modules/gc-arctwo-tests (License): Likewise.
79556
79557         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
79558
79559         * modules/gc-hmac-sha1-tests (Files): Likewise.
79560
79561         * modules/gc-hmac-md5-tests (License): Likewise.
79562
79563         * modules/gc-sha1-tests (License): Likewise.
79564
79565         * modules/gc-md5-tests (License): Likewise.
79566
79567         * modules/gc-md4-tests (License): Likewise.
79568
79569         * modules/gc-md2-tests (License): Likewise.
79570
79571         * modules/gc-tests (License): Likewise.
79572
79573         * modules/des-tests (License): Likewise.
79574
79575         * modules/md4-tests (License): Likewise.
79576
79577         * modules/md2-tests (License): Likewise.
79578
79579 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
79580
79581         Sync from coreutils:
79582
79583         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
79584         * modules/lib-ignore: New file.
79585         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
79586         chdir-safer.m4, lchmod.m4.
79587         * modules/openat: Add mkdirat.c, openat-priv.h.
79588
79589 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
79590
79591         Sync from coreutils.
79592         * m4/lib-ignore.m4: New file.
79593         * m4/lchmod.m4: New file.
79594
79595 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
79596
79597         Sync from coreutils.
79598         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
79599         for write access: POSIX says that must fail.
79600         * lib/fts.c (diropen): Likewise.
79601         * lib/save-cwd.c (save_cwd): Likewise.
79602         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
79603         well, for minor improvements on hosts that lack O_DIRECTORY.
79604         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
79605         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
79606         Fall back on chown if open failed with EACCES.
79607
79608         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
79609         Report an error at compile-time if only a 1-second nominal clock
79610         resolution is found.
79611
79612         * lib/lchmod.h: New file.
79613         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
79614         (make_dir_parents): Use lchown rather than chown, and
79615         lchmod rather than chmod.
79616
79617         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
79618         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
79619         "proc" reported by n0dalus.
79620
79621         * lib/mountlist.c: Include <limits.h>.
79622         (dev_from_mount_options)
79623         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
79624         New function.  It no longer assumes "dev=" has the System V meaning
79625         on Linux (since it doesn't).  It also parses "dev=" more carefully.
79626         (read_file_system_list)
79627         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
79628         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
79629         dev= in that case.
79630
79631         * lib/posixtm.h (PDS_PRE_2000): New macro.
79632         * lib/posixtm.c (year): Arg is now syntax_bits rather than
79633         allow_century.  All usages changed.  Reject dates outside the range
79634         1969-1999 if PDS_PRE_2000 is used.
79635
79636 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
79637
79638         Sync from coreutils.
79639         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
79640         (Time of day items): Mention the possibility of leap seconds.
79641         Problem reported by Dr. David Alan Gilbert.
79642
79643 2006-01-09  Jim Meyering  <jim@meyering.net>
79644
79645         Sync from coreutils.
79646
79647         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
79648
79649         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
79650
79651         * lib/modechange.c (mode_compile): Reject an invalid mode string
79652         that starts with an octal digit.  From Andreas Gruenbacher.
79653
79654         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
79655         and dup to open_safer and dup_safer, respectively.
79656         (openat_permissive): Fix typo in comment.
79657
79658         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
79659         "gettext.h"; either no longer needed or are guaranteed by openat.h.
79660         (_): Remove; no longer needed.
79661         (openat): Renamed from rpl_openat; no need for rpl_openat
79662         since openat.h renames openat for us.
79663         Replace most of the body with a call to openat_permissive,
79664         to avoid duplicate code.
79665         Port to (probably hypothetical) environments were mode_t is
79666         wider than int.
79667         (openat_permissive): Require mode arg, so that we can check
79668         types better.  Put it just after flags.  Change cwd failure
79669         indicator from pointer-to-bool to pointer-to-errno-value.
79670         All callers changed.
79671         Invoke openat_save_fail and/or openat_restore_fail if
79672         cwd_errno is null, so that openat can call us.
79673         (openat_permissive, fdopendir, fstatat, unlinkat):
79674         Simplify errno handling to avoid some duplicate code,
79675         as it's OK to set errno on success.
79676         * lib/openat.h: Revamp code so that function macros depend on
79677         __OPENAT_PREFIX only, not also on AT_FDCWD.
79678         (openat_ro): Remove.  Caller changed to use openat_permissive.
79679         (openat_permissive): Now a macro, if not a function.
79680         (openat_restore_fail, openat_save_fail): Now always functions,
79681         since mkdirat needs them even if __OPENAT_PREFIX is defined.
79682
79683         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
79684         and openat.c.
79685         * lib/mkdirat.c: Include openat-priv.h.
79686         Remove definitions of macros defined therein.
79687         * lib/openat.c: Likewise.
79688
79689         * lib/mkdirat.c (mkdirat): New file and function.
79690         * lib/openat.h (mkdirat): Declare.
79691
79692         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
79693
79694         * lib/openat.h (openat_permissive): Declare.
79695         (openat_ro): Define.
79696
79697         * lib/openat.c (EXPECTED_ERRNO): New macro.
79698         (openat_permissive): New function -- used in remove.c rewrite.
79699         (all functions): Set errno just before returning, only if there
79700         was an actual failure.
79701         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
79702
79703         Emulate openat-family functions using Linux's procfs, if possible.
79704         Idea and some code based on Ulrich Drepper's glibc changes.
79705
79706         * lib/openat.c: (BUILD_PROC_NAME): New macro.
79707         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
79708         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
79709         before falling back on save_cwd and restore_cwd.
79710         (fdopendir, fstatat, unlinkat): Likewise.
79711
79712         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
79713         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
79714
79715         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
79716         as second argument to va_arg.  Otherwise, some versions of gcc
79717         warn that `if this code is reached, the program will abort'.
79718
79719 2006-01-09  Jim Meyering  <jim@meyering.net>
79720
79721         Sync from coreutils.
79722         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
79723         Require openat-priv.h.
79724
79725 2006-01-09  Bruno Haible  <bruno@clisp.org>
79726
79727         * modules/strnlen (Include): Use strnlen.h.
79728
79729 2006-01-09  Bruno Haible  <bruno@clisp.org>
79730
79731         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
79732
79733 2006-01-09  Bruno Haible  <bruno@clisp.org>
79734
79735         * lib/sysexit_.h (EX_OK): New macro.
79736         Suggested by Martin Lambers <marlam@marlam.de>.
79737
79738 2006-01-09  Bruno Haible  <bruno@clisp.org>
79739
79740         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
79741         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
79742
79743 2006-01-09  Bruno Haible  <bruno@clisp.org>
79744
79745         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
79746         numbers.
79747
79748 2006-01-09  Bruno Haible  <bruno@clisp.org>
79749
79750         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
79751         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
79752         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
79753         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
79754
79755 2006-01-09  Bruno Haible  <bruno@clisp.org>
79756
79757         * build-aux/javacomp.sh.in: New file, moved from lib/.
79758         * modules/javacomp-script (Files): Update.
79759         (configure.ac): Add AC_CONFIG_FILES invocation.
79760         (EXTRA_DIST): Remove variable.
79761
79762         * build-aux/javaexec.sh.in: New file, moved from lib/.
79763         * modules/javaexec (Files): Update.
79764         (configure.ac): Add AC_CONFIG_FILES invocation.
79765         (EXTRA_DIST): Remove javaexec.sh.in.
79766
79767         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
79768         * modules/csharpcomp-script (Files): Update.
79769         (configure.ac): Add AC_CONFIG_FILES invocation.
79770         (EXTRA_DIST): Remove variable.
79771
79772         * build-aux/csharpexec.sh.in: New file, moved from lib/.
79773         * modules/csharpexec (Files): Update.
79774         (configure.ac): Add AC_CONFIG_FILES invocation.
79775         (EXTRA_DIST): Remove csharpexec.sh.in.
79776
79777 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
79778
79779         Sync from coreutils.
79780
79781         Add POSIX ACL support
79782         * lib/acl.h (copy_acl, set_acl): Add declarations.
79783         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
79784         systems other than Linux.
79785         (chmod_or_fchmod): New function: use fchmod when possible,
79786         and chmod otherwise.
79787         (file_has_acl): Add a POSIX ACL implementation, with a
79788         Linux-specific subcase.
79789         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
79790         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
79791         acls are unsupported.
79792         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
79793         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
79794         are unsupported.
79795
79796 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
79797
79798         Sync from coreutils.
79799         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
79800
79801 2006-01-07  Bruno Haible  <bruno@clisp.org>
79802
79803         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
79804         gl_EARLY.
79805
79806 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
79807
79808         * lib/strftime.c (tzname): Don't declare if it is already #defined.
79809         Problem reported for Mingw by Mark Junker.
79810
79811 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
79812
79813         * README: Gnulib normally doesn't generate a tarball.
79814
79815 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
79816
79817         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
79818         long int, not int, for nanosecond counts, so that people who are
79819         used to POSIX struct timespec won't be surprised.  Reported by Jim
79820         Meyering.
79821
79822 2005-12-28  Bruno Haible  <bruno@clisp.org>
79823
79824         * build-aux/config.rpath: Update from GNU gettext.
79825
79826 2005-12-16  Jim Meyering  <jim@meyering.net>
79827
79828         * modules/fprintftime: New module.
79829         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
79830
79831 2005-12-16  Jim Meyering  <jim@meyering.net>
79832
79833         * m4/fprintftime.m4: New file.
79834
79835 2005-12-16  Jim Meyering  <jim@meyering.net>
79836
79837         * lib/fprintftime.c, lib/fprintftime.h: New files.
79838
79839 2005-12-15  Simon Josefsson  <jas@extundo.com>
79840
79841         * modules/socklen (configure.ac): Fix M4 macro name, to align with
79842         new m4/socklen.m4.
79843
79844 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
79845
79846         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
79847         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
79848
79849 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
79850
79851         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
79852         * lib/argp-help.c (fill_in_uparams): Check if the constructed
79853         struct uparams is valid. Fall back to the default values if it is
79854         not.
79855
79856 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
79857
79858         * modules/argp (Files): Add argp-pin.c
79859         (Depends-on): dirname
79860         (lib_SOURCES): Add argp-pin.c
79861
79862 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
79863
79864         * m4/argp.m4:  Check if program_invocation_name and
79865         program_invocation_short_name are declared and define appropriate
79866         macros if they are not.
79867
79868 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
79869
79870         * lib/argp-help.c (__argp_base_name): New function
79871         (__argp_short_program_name): Rewrite using __argp_base_name
79872         * lib/argp-namefrob.h: Define program_invocation_name and
79873         program_invocation_short_name if requested
79874         (__argp_base_name): Add prototype
79875         * lib/argp-parse.c (argp_def): Use gettext wrappers
79876         (argp_default_parser): Use __argp_base_name
79877         * lib/argp-pin.c: New file. Defines program_invocation_name and
79878         program_invocation_short_name on systems that lack them.
79879
79880 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
79881
79882         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
79883         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
79884         porting problem reported by Georg Schwarz in
79885         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
79886
79887 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
79888
79889         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
79890         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
79891         porting problem reported by Georg Schwarz in
79892         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
79893
79894 2005-12-05  Bruno Haible  <bruno@clisp.org>
79895
79896         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
79897         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
79898         Reported by Mark Junker <mjscod@gmx.de>.
79899
79900 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
79901
79902         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
79903         Use implementation from Albert Chin, with some
79904         comments/corrections by Stepan Kasal and myself.
79905
79906 2005-12-02  Bruno Haible  <bruno@clisp.org>
79907
79908         * gnulib-tool (func_import): Accept GPLed build tool modules when
79909         --lgpl is given.
79910         * modules/csharpcomp-script: New file.
79911         * modules/csharpcomp: Depend on it.
79912         * modules/javacomp-script: New file.
79913         * modules/javacomp: Depend on it.
79914         Suggested by Simon Josefsson.
79915
79916 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
79917
79918         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
79919         statement, to work around an HP-UX 10.20 compiler bug reported by
79920         Peter O'Gorman.
79921
79922 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
79923
79924         * modules/savedir (Depends-on): Add openat.
79925
79926 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
79927
79928         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
79929         (uintmax_t) [defined uintmax_t]: Do not declare.
79930         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
79931         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
79932         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
79933         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
79934         sake of portability to weird hosts that C allows (though we don't
79935         know of any practical examples).
79936
79937         * lib/savedir.h (fdsavedir): New decl.
79938         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
79939         contains most of the former guts of savedir.
79940         (savedir): Use savedirstream.
79941         Include "openat.h".
79942
79943 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
79944
79945         * modules/obstack (Files): Add m4/ulonglong.m4.
79946         Problem reported by Davide Angelocola.
79947
79948 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
79949
79950         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
79951         coreutils no longer futzes with rounding modes.
79952
79953 2005-11-14  Jim Meyering  <jim@meyering.net>
79954
79955         * lib/mkstemp-safer.c: Include <config.h>, required for possible
79956         replacement of mkstemp.
79957
79958 2005-11-10  Simon Josefsson  <jas@extundo.com>
79959
79960         * lib/readline.c: Remove EOL.
79961
79962 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
79963
79964         * modules/gethrxtime (Depends-on): Add gettime.
79965
79966 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
79967
79968         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
79969         or gettimeofday; no longer needed.
79970
79971 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
79972
79973         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
79974         time business.
79975         (gethrxtime) [! (HAVE_NANOUPTIME
79976         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
79977         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
79978         our own approximation.
79979
79980 2005-11-08  Eric Blake  <ebb9@byu.net>
79981
79982         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
79983
79984 2005-11-08  Eric Blake  <ebb9@byu.net>
79985
79986         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
79987
79988 2005-11-04  Bruno Haible  <bruno@clisp.org>
79989
79990         * gnulib-tool: Implement --update mode.
79991
79992 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
79993
79994         Fix porting problem reported by Theodoros V. Kalamatianos.
79995         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
79996         Don't assume that futimes failing means we must fail.
79997
79998 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
79999
80000         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
80001         variables to suggest the intended function of the PATH_MAX check.
80002
80003 2005-10-30  Kean Johnston  <jkj@sco.com>
80004
80005         Trivial changes to support SCO systems.
80006         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
80007         as PATH_MAX.
80008         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
80009         where __ptr is null when no I/O is pending.
80010
80011 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
80012
80013         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
80014         leave errno alone.  Problem reported by Dmitry V. Levin.
80015
80016 2005-10-28  Simon Josefsson  <jas@extundo.com>
80017
80018         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
80019         Test more.
80020
80021         * tests/test-gc-md2.c, tests/test-md2.c: New files.
80022
80023         * modules/md2, modules/md2-tests: New files.
80024
80025 2005-10-28  Simon Josefsson  <jas@extundo.com>
80026
80027         * m4/inet_ntop.m4: More tests.
80028
80029         * m4/gc-md2.m4, md2.m4: New file.
80030
80031 2005-10-28  Simon Josefsson  <jas@extundo.com>
80032
80033         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
80034         "restrict" keywords, as per POSIX.  Protect the function
80035         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
80036         Don't use K&R prototypes.  Check the sprintf return values.
80037         Re-define EAFNOSUPPORT if not present.  Indent.
80038
80039         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
80040         suggested by Bruno Haible <bruno@clisp.org>.
80041
80042         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
80043
80044         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
80045
80046         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
80047         libgcrypt).
80048
80049         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
80050
80051         * lib/md2.h, lib/md2.c: New files.
80052
80053 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
80054
80055         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
80056         errno alone.  Problem reported by Frederic Jolliton.
80057
80058 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
80059
80060         * modules/verify (License): Change from GPL to LGPL.  This is a
80061         tiny module and there are apparently near-equivalents that are
80062         under the BSD license.
80063
80064 2005-10-24  Simon Josefsson  <jas@extundo.com>
80065
80066         * modules/sha1: Relicense to LGPL.
80067
80068 2005-10-24  Simon Josefsson  <jas@extundo.com>
80069
80070         * lib/md4.h: Shrink buffer size, now that we changed the type.
80071
80072 2005-10-23  Simon Josefsson  <jas@extundo.com>
80073
80074         * gnulib-tool (func_import): Fix --tests-base.
80075
80076 2005-10-22  Simon Josefsson  <jas@extundo.com>
80077
80078         * modules/arcfour (Depends-on): Need stdint.
80079
80080 2005-10-22  Simon Josefsson  <jas@extundo.com>
80081
80082         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
80083         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
80084
80085 2005-10-22  Simon Josefsson  <jas@extundo.com>
80086
80087         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
80088         suggested by Bruno Haible <bruno@clisp.org>.
80089
80090 2005-10-22  Simon Josefsson  <jas@extundo.com>
80091
80092         * lib/crc.h: Include stddef.h, for size_t.
80093
80094 2005-10-22  Simon Josefsson  <jas@extundo.com>
80095
80096         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
80097         arcfour_context struct (simplify test vector testing in GNU
80098         Shishi).
80099
80100 2005-10-21  Simon Josefsson  <jas@extundo.com>
80101
80102         * modules/des, modules/des-tests: New files.
80103
80104         * modules/gc-des, modules/gc-des-tests: New files.
80105
80106         * tests/test-des.c, tests/test-gc-des.c: New file.
80107
80108 2005-10-21  Simon Josefsson  <jas@extundo.com>
80109
80110         * modules/arctwo, modules/arctwo-tests: New files.
80111
80112         * tests/test-arctwo.c: New file.
80113
80114         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
80115
80116         * tests/test-gc-arctwo.c: New file.
80117
80118 2005-10-21  Simon Josefsson  <jas@extundo.com>
80119
80120         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
80121         Bruno Haible <bruno@clisp.org>.
80122
80123         * m4/gc-des.m4: New file.
80124
80125 2005-10-21  Simon Josefsson  <jas@extundo.com>
80126
80127         * m4/arctwo.m4: New file.
80128
80129         * m4/gc-arctwo.m4: New file.
80130
80131 2005-10-21  Simon Josefsson  <jas@extundo.com>
80132
80133         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
80134         block.
80135
80136 2005-10-21  Simon Josefsson  <jas@extundo.com>
80137
80138         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
80139         <bruno@clisp.org>.
80140
80141         * lib/hmac-sha1.c (hmac_sha1): Likewise.
80142
80143         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
80144         Bruno Haible <bruno@clisp.org>.
80145
80146         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
80147         <bruno@clisp.org>.
80148
80149 2005-10-21  Simon Josefsson  <jas@extundo.com>
80150
80151         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
80152
80153 2005-10-21  Simon Josefsson  <jas@extundo.com>
80154
80155         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
80156
80157 2005-10-21  Simon Josefsson  <jas@extundo.com>
80158
80159         * lib/des.h, lib/des.c: New files.
80160
80161         * lib/gc-gnulib.c: Support DES.c
80162
80163 2005-10-21  Simon Josefsson  <jas@extundo.com>
80164
80165         * lib/arctwo.h, lib/arctwo.c: New files.
80166
80167         * lib/gc-gnulib.c: Support ARCTWO.
80168
80169 2005-10-21  Simon Josefsson  <jas@extundo.com>
80170
80171         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
80172         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
80173
80174 2005-10-21  Simon Josefsson  <jas@extundo.com>
80175
80176         * gnulib-tool (func_import, func_create_testdir): Define automake
80177         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
80178         Makefile.am snippet),
80179         suggested by Bruno Haible <bruno@clisp.org>.
80180
80181         * modules/gc (Makefile.am): Use it.
80182
80183 2005-10-21  Bruno Haible  <bruno@clisp.org>
80184
80185         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
80186         patch.
80187
80188 2005-10-19  Simon Josefsson  <jas@extundo.com>
80189
80190         * tests/test-gc-rijndael.c: New file.
80191
80192         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
80193
80194 2005-10-19  Simon Josefsson  <jas@extundo.com>
80195
80196         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
80197         interface too.
80198
80199 2005-10-19  Simon Josefsson  <jas@extundo.com>
80200
80201         * tests/test-gc-arcfour.c: New file.
80202
80203         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
80204
80205 2005-10-19  Simon Josefsson  <jas@extundo.com>
80206
80207         * modules/gc-md4, modules/gc-md4-tests: New file.
80208
80209         * tests/test-gc-md4.c: New file.
80210
80211 2005-10-19  Simon Josefsson  <jas@extundo.com>
80212
80213         * m4/gc-md4.m4: New file.
80214
80215 2005-10-19  Simon Josefsson  <jas@extundo.com>
80216
80217         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
80218         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
80219         <kasal@ucw.cz>.
80220
80221 2005-10-19  Simon Josefsson  <jas@extundo.com>
80222
80223         * m4/gc-arcfour.m4: New file.
80224
80225         * m4/gc-rijndael.m4: New file.
80226
80227 2005-10-19  Simon Josefsson  <jas@extundo.com>
80228
80229         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
80230
80231 2005-10-19  Simon Josefsson  <jas@extundo.com>
80232
80233         * lib/gc-gnulib.c: Support ARCFOUR.
80234
80235 2005-10-19  Simon Josefsson  <jas@extundo.com>
80236
80237         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
80238         support.
80239
80240         * lib/gc.h: Add ECB enum type.
80241
80242         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
80243
80244 2005-10-18  Simon Josefsson  <jas@extundo.com>
80245
80246         * tests/test-md5.c: New file.
80247
80248         * modules/md5-tests: New file.
80249
80250 2005-10-18  Simon Josefsson  <jas@extundo.com>
80251
80252         * tests/test-md4.c: New file.
80253
80254         * modules/md4, modules/md4-tests: New files.
80255
80256 2005-10-18  Simon Josefsson  <jas@extundo.com>
80257
80258         * m4/md4.m4: New file.
80259
80260 2005-10-18  Simon Josefsson  <jas@extundo.com>
80261
80262         * lib/md4.h, lib/md4.c: New files, based on md5.?.
80263
80264 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
80265
80266         * gnulib-tool (func_create_testdir): Omit the second check whether
80267         BUILT_SOURCES in nonempty.
80268
80269 2005-10-17  Simon Josefsson  <jas@extundo.com>
80270
80271         * tests/test-rijndael.c: New file.
80272
80273 2005-10-17  Simon Josefsson  <jas@extundo.com>
80274
80275         * modules/sha1: Depend on stdint instead of md5.
80276
80277         * modules/md5: Depend on stdint, remove uint32_t.
80278
80279 2005-10-17  Simon Josefsson  <jas@extundo.com>
80280
80281         * modules/gc-sha1-tests: New file.
80282
80283         * tests/test-gc-sha1.c: New file.
80284
80285 2005-10-17  Simon Josefsson  <jas@extundo.com>
80286
80287         * m4/md5.m4: Remove call to uint32_t.m4.
80288
80289 2005-10-17  Simon Josefsson  <jas@extundo.com>
80290
80291         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
80292
80293         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
80294         md5.h.
80295
80296         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
80297
80298         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
80299
80300 2005-10-17  Simon Josefsson  <jas@extundo.com>
80301
80302         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
80303
80304 2005-10-17  Simon Josefsson  <jas@extundo.com>
80305
80306         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
80307
80308 2005-10-17  Simon Josefsson  <jas@extundo.com>
80309
80310         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
80311
80312         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
80313
80314 2005-10-17  Bruno Haible  <bruno@clisp.org>
80315
80316         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
80317         that it can also be used in a test.
80318
80319 2005-10-16  Bruno Haible  <bruno@clisp.org>
80320
80321         * gnulib-tool (func_emit_tests_Makefile_am): Also define
80322         TESTS_ENVIRONMENT, so that individual tests can augment it.
80323
80324         * gnulib-tool (func_create_testdir): Use an intermediate target for
80325         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
80326         macros, like $(ALLOCA_H), which cannot be passed through the command
80327         line.
80328
80329 2005-10-15  Simon Josefsson  <jas@extundo.com>
80330
80331         * modules/rijndael-tests: New file.
80332
80333         * modules/rijndael: New file.
80334
80335 2005-10-15  Simon Josefsson  <jas@extundo.com>
80336
80337         * m4/rijndael.m4: New file.
80338
80339 2005-10-15  Simon Josefsson  <jas@extundo.com>
80340
80341         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
80342
80343         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
80344
80345 2005-10-14  Simon Josefsson  <jas@extundo.com>
80346
80347         * tests/test-arcfour.c: New file.
80348
80349         * modules/arcfour, modules/arcfour-tests: New files.
80350
80351 2005-10-14  Simon Josefsson  <jas@extundo.com>
80352
80353         * m4/arcfour.m4: New file.
80354
80355 2005-10-14  Simon Josefsson  <jas@extundo.com>
80356
80357         * lib/arcfour.h, lib/arcfour.c: New files.
80358
80359 2005-10-14  Roland McGrath  <roland@redhat.com>
80360
80361         Import from libc.  [BZ #1331]
80362         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
80363         macro argument.
80364         Reported by Matej Vela <vela@debian.org>.
80365
80366 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
80367
80368         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
80369         include <wchar.h>; no longer needed.
80370
80371 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
80372
80373         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
80374
80375 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
80376         and  Ulrich Drepper  <drepper@redhat.com>
80377
80378         Import from libc.
80379         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
80380         instead of inline stream orientation test and two separate
80381         function calls.  Pay no attention to USE_IN_LIBIO.
80382
80383 2005-10-13  Simon Josefsson  <jas@extundo.com>
80384
80385         * modules/gc-hmac-md5-tests: New file.
80386
80387         * tests/test-gc-hmac-sha1.c: New file.
80388
80389         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
80390
80391         * modules/gc-hmac-md5-tests: New file.
80392
80393         * tests/test-gc-md5.c: New file.
80394
80395         * modules/gc-md5-tests: New file.
80396
80397 2005-10-13  Simon Josefsson  <jas@extundo.com>
80398
80399         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
80400         Move memory allocation outside of loop.
80401
80402 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
80403
80404         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
80405         intermediate directory is in a read-only file system.  Problem
80406         reported by Eric Blake.
80407
80408 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
80409
80410         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
80411
80412 2005-10-12  Simon Josefsson  <jas@extundo.com>
80413
80414         * tests/test-hmac-sha1.c: New file.
80415
80416         * modules/hmac-sha1-tests: New file.
80417
80418         * modules/hmac-sha1: New file.
80419
80420 2005-10-12  Simon Josefsson  <jas@extundo.com>
80421
80422         * modules/gc-sha1: New file.
80423
80424 2005-10-12  Simon Josefsson  <jas@extundo.com>
80425
80426         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
80427
80428         * tests/test-gc-pbkdf2-sha1.c: New file.
80429
80430 2005-10-12  Simon Josefsson  <jas@extundo.com>
80431
80432         * modules/gc-md5, modules/gc-hmac-md5: New files.
80433
80434         * modules/gc (Files): Remove md5, memxor and hmac files.
80435
80436 2005-10-12  Simon Josefsson  <jas@extundo.com>
80437
80438         * m4/gc-pbkdf2-sha1.m4: New file.
80439
80440         * m4/gc-hmac-sha1.m4: New file.
80441
80442         * m4/gc-sha1: New file.
80443
80444         * m4/hmac-sha1.m4: New file.
80445
80446 2005-10-12  Simon Josefsson  <jas@extundo.com>
80447
80448         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
80449
80450         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
80451
80452 2005-10-12  Simon Josefsson  <jas@extundo.com>
80453
80454         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
80455         suggested by Bruno Haible <bruno@clisp.org>.
80456
80457 2005-10-12  Simon Josefsson  <jas@extundo.com>
80458
80459         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
80460
80461 2005-10-12  Simon Josefsson  <jas@extundo.com>
80462
80463         * lib/gc-pbkdf2-sha1.c: New file.
80464
80465         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
80466
80467 2005-10-12  Simon Josefsson  <jas@extundo.com>
80468
80469         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
80470
80471         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
80472
80473 2005-10-12  Simon Josefsson  <jas@extundo.com>
80474
80475         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
80476         GC_USE_HMAC_MD5, respectively.
80477
80478         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
80479         (gc_md5): Fix typo.
80480
80481         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
80482
80483         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
80484
80485         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
80486
80487 2005-10-12  Bruno Haible  <bruno@clisp.org>
80488
80489         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
80490         Reported by Stepan Kasal <kasal@ucw.cz>.
80491
80492 2005-10-11  Simon Josefsson  <jas@extundo.com>
80493
80494         * tests/test-crc.c: New file.
80495
80496         * modules/crc, modules/crc-tests: New files.
80497
80498 2005-10-11  Simon Josefsson  <jas@extundo.com>
80499
80500         * m4/crc.m4: New file.
80501
80502 2005-10-11  Simon Josefsson  <jas@extundo.com>
80503
80504         * lib/gc.h: Add gc_hash and gc_hash_buffer.
80505
80506         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
80507
80508         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
80509
80510 2005-10-11  Simon Josefsson  <jas@extundo.com>
80511
80512         * lib/crc.h, lib/crc.c: New files.
80513
80514         * lib/gc.h (gc_hash_buffer): Add doc.
80515
80516 2005-10-11  Bruno Haible  <bruno@clisp.org>
80517
80518         * modules/c-strcasestr: New file.
80519         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
80520
80521 2005-10-11  Bruno Haible  <bruno@clisp.org>
80522
80523         * modules/c-strcase: New file.
80524         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
80525
80526 2005-10-11  Bruno Haible  <bruno@clisp.org>
80527
80528         * lib/strcasecmp.c: Include limits.h.
80529         (strcasecmp): Avoid integer overflow on exotic platforms.
80530         * lib/strncasecmp.c: Include limits.h.
80531         (strncasecmp): Avoid integer overflow on exotic platforms.
80532         Reported by Paul Eggert.
80533
80534 2005-10-11  Bruno Haible  <bruno@clisp.org>
80535
80536         * lib/c-strcasestr.h: New file, from GNU gettext.
80537         * lib/c-strcasestr.c: New file, from GNU gettext.
80538
80539 2005-10-11  Bruno Haible  <bruno@clisp.org>
80540
80541         * lib/c-strcase.h: New file, from GNU gettext.
80542         * lib/c-strcasecmp.c: New file, from GNU gettext.
80543         * lib/c-strncasecmp.c: New file, from GNU gettext.
80544
80545 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
80546
80547         * modules/mempcpy (License): GPL -> LGPL.
80548         * modules/strchrnul (License): Likewise.
80549         * modules/sysexits (License): Likewise.
80550
80551 2005-10-08  Simon Josefsson  <jas@extundo.com>
80552
80553         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
80554
80555 2005-10-07  Simon Josefsson  <jas@extundo.com>
80556
80557         * m4/memxor.m4: Remove gl_C_RESTRICT call.
80558
80559 2005-10-06  Simon Josefsson  <jas@extundo.com>
80560
80561         * tests/test-hmac-md5.c: New file.
80562
80563         * modules/hmac-md5-tests: New file.
80564
80565         * modules/hmac-md5: New file.
80566
80567 2005-10-06  Simon Josefsson  <jas@extundo.com>
80568
80569         * m4/hmac-md5.m4: New file.
80570
80571         * m4/memxor.m4: Require gl_C_RESTRICT.
80572
80573 2005-10-06  Simon Josefsson  <jas@extundo.com>
80574
80575         * lib/memxor.c (memxor): Avoid casts and warnings.
80576
80577 2005-10-06  Simon Josefsson  <jas@extundo.com>
80578
80579         * lib/hmac-md5.c: New file.
80580
80581         * lib/hmac.h: New file.
80582
80583 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
80584
80585         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
80586         promotes to int, not unsigned int, to catch the AIX 5.3
80587         compiler bug.
80588
80589 2005-10-05  Simon Josefsson  <jas@extundo.com>
80590
80591         * modules/memxor: New file.
80592
80593         * modules/iconv (Files): Move config.rpath to havelib, it is used
80594         there.
80595
80596         * modules/havelib (Files): Add config.rpath.
80597
80598 2005-10-05  Simon Josefsson  <jas@extundo.com>
80599
80600         * m4/memxor.m4: New file.
80601
80602 2005-10-05  Simon Josefsson  <jas@extundo.com>
80603
80604         * lib/memxor.c (memxor): Fix compiler error.
80605
80606         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
80607         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
80608
80609         * lib/memxor.h, lib/memxor.c: New files.
80610
80611         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
80612         we assume all systems have it, suggested by Jim Meyering
80613         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
80614         any systems lack sys/socket.h; mingw32 is known to lack it, but we
80615         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
80616         same reasons.
80617
80618 2005-10-05  Simon Josefsson  <jas@extundo.com>
80619
80620         * config/srclist.txt: Add glibc bug 1423 for md5.h.
80621
80622 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
80623
80624         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
80625         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
80626         needed, since the source code now assumes these .h files.
80627
80628 2005-10-05  Derek Price  <derek@ximbiot.com>
80629
80630         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
80631
80632 2005-10-05  Bruno Haible  <bruno@clisp.org>
80633
80634         * modules/stdint (License): Change to LGPL.
80635
80636 2005-10-04  Simon Josefsson  <jas@extundo.com>
80637
80638         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
80639         D. Baushke" <mdb@gnu.org>.
80640
80641 2005-10-04  Bruno Haible  <bruno@clisp.org>
80642
80643         * lib/verify.h (verify_true): Provide alternative definition for C++.
80644
80645 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
80646
80647         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
80648         (SSIZE_MAX): New macro, if not already defined.
80649         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
80650         than 2 GiB.
80651
80652 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
80653
80654         Sync from coreutils.
80655         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
80656         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
80657         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
80658         ULLONG_MAX doesn't work with 2.7.2.1.
80659
80660 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
80661
80662         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
80663         From Ben Pfaff.
80664
80665         * modules/exclude (Depends-on): Depend on verify.
80666         * modules/strtoimax (Depends-on): Likewise.
80667         * modules/utimecmp (Depends-on): Likewise.
80668
80669 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
80670
80671         * lib/exclude.c: Include verify.h.
80672         (verify): Remove.  All callers changed to use verify.h's version.
80673         * lib/strtoimax.c: Likewise.
80674         * lib/utimecmp.c: Likewis.e
80675
80676         Sync from coreutils.
80677         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
80678         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
80679         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
80680         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
80681         bother returning ENOSYS if settimeofday or stime fails; just let
80682         them return whatever errno they want to return.
80683         * lib/utimens.c: Include unistd.h, for dup2.
80684         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
80685         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
80686
80687 2005-10-02  Jim Meyering  <jim@meyering.net>
80688
80689         Sync from coreutils.
80690         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
80691         from glibc-2.2.5 that fails for read-only files.
80692
80693 2005-10-02  Jim Meyering  <jim@meyering.net>
80694
80695         Sync from coreutils.
80696         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
80697         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
80698         `#if HAVE_CONFIG_H'.
80699         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
80700         Remove AT_FDCWD test.
80701         Do not consume the fd unless successful.
80702         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
80703         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
80704         block, so that we don't even try to compile it if settimeofday is
80705         available.  This works around a compilation failure on OSF1 V5.1,
80706         due to stime requiring a `long int*' while tv_sec is `int'.
80707
80708 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
80709
80710         Sync from coreutils.
80711         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
80712         against `yes', rather than just testing for nonempty.
80713
80714 2005-10-01  Simon Josefsson  <jas@extundo.com>
80715
80716         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
80717         and Darwin.
80718
80719         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
80720         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
80721         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
80722         freeaddrinfo and gai_strerror are declared by the POSIX headers.
80723         Check if struct addrinfo is declared.
80724
80725 2005-10-01  Simon Josefsson  <jas@extundo.com>
80726
80727         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
80728         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
80729         AI_* and EAI_* definitions.  Protect function declarations.
80730
80731 2005-10-01  Jim Meyering  <jim@meyering.net>
80732
80733         Sync from coreutils.
80734
80735         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
80736         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
80737         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
80738         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
80739         in the inet and nsl libraries.  Required on Solaris 5.7.
80740
80741 2005-10-01  Jim Meyering  <jim@meyering.net>
80742
80743         Sync from coreutils.
80744         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
80745         in the inet and nsl libraries.  Required on Solaris 5.7.
80746
80747 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
80748
80749         * lib/getdelim.c (getdelim): Remove unused variables.
80750
80751 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
80752
80753         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
80754         so that the code works even with ancient cpp.  Portability problem
80755         with GCC 2.7.2.1 reported by Thomas M.Ott.
80756
80757 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
80758
80759         * modules/regex (Depends-on): Add strcase.
80760
80761         * modules/gethostname (Licence): Change from GPL to LGPL, since
80762         gethostname.c is a trivial implementation of a standard library
80763         function.
80764         * modules/poll (License): Change from GPL to LGPL, since it's
80765         derived from LGPL code.
80766
80767 2005-09-27  Jim Meyering  <jim@meyering.net>
80768
80769         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
80770         HAVE_CONFIG_H.
80771
80772         * lib/intprops.h (signed_type_or_expr__): Define.
80773         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
80774         for unsigned types.
80775
80776 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
80777
80778         * lib/verify.h (verify_expr): Remove, replacing with:
80779         (verify_true): New macro that returns true instead of void.
80780         (verify_type__): Remove.
80781         (verify): Use verify_true rather than verify_type__.
80782
80783 2005-09-26  Bruno Haible  <bruno@clisp.org>
80784
80785         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
80786         is necessary.
80787         (lib_SOURCES): Remove mbchar.c.
80788         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
80789         (Files): Add m4/mbrtowc.m4.
80790         * modules/mbiter: Likewise.
80791         * modules/mbuiter: Likewise.
80792
80793 2005-09-26  Bruno Haible  <bruno@clisp.org>
80794
80795         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
80796         compile mbchar.c if they are not both present.
80797         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
80798         * m4/mbiter.m4 (gl_MBITER): Likewise.
80799         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
80800         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
80801         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
80802
80803 2005-09-25  Jim Meyering  <jim@meyering.net>
80804
80805         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
80806         also uses socklen_t.
80807
80808 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
80809
80810         * lib/utimens.c (ENOSYS): Define if not already defined.
80811         (futimens): Support having a null PATH if the file descriptor
80812         is nonnegative.
80813
80814         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
80815         Remove.
80816         (__attribute): Define to empty unless GCC 3.1 or later.
80817         This works around a core dump on OpenBSD 3.4, which has GCC
80818         2.95.3, which dumps core when given __attribute__(()).  It also
80819         simplifies other tests, since we really don't want to bother with
80820         worrying about which ancient version of GCC supported what.
80821         Original problem reported by Yoann Vandoorselaere, with part of
80822         the fix suggested by Derek Price.
80823
80824 2005-09-24  Jim Meyering  <jim@meyering.net>
80825
80826         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
80827         so we can once again use a positive bitfield width of 1 -- now we
80828         don't have to explain why we were using a bitfield width of 2.
80829
80830 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
80831
80832         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
80833         and similarly for the other external symbols.  Problem reported
80834         by James Gallager.
80835
80836         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
80837         bug reported by Jim Meyering.
80838
80839         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
80840         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
80841         not needed, since socklen is a prerequisite module.
80842
80843 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
80844
80845         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
80846         Problem reported by Eric Blake.
80847         (getaddrinfo): Initialize se so that it's not garbage.
80848         Redo internal storage allocation so that it doesn't make unportable
80849         assumptions about alignment.
80850         Fix a memory leak.
80851
80852         * lib/utimens.c (futimens): Use futimesat if available.
80853         Prefer it to futimes since it doesn't have the futimes bug.
80854
80855         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
80856         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
80857         Instead, declare a function that returns a pointer to an array,
80858         and use verify_type__ to declare the size of the array.
80859         Problem and germ of a solution reported by Bruno Haible.
80860         (verify_type__): Use 2, not 1, for bitfield size, to avoid
80861         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
80862
80863 2005-09-23  Jim Meyering  <jim@meyering.net>
80864
80865         Sync from coreutils.
80866         Correct build failure (socklen_t not defined) on at least
80867         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
80868         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
80869
80870 2005-09-23  Jim Meyering  <jim@meyering.net>
80871
80872         * modules/getaddrinfo (Depends-on): Add socklen.
80873
80874 2005-09-23  Bruno Haible  <bruno@clisp.org>
80875
80876         * tests/test-verify.c: New file.
80877
80878 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
80879
80880         Sync from coreutils.
80881
80882         * modules/argmatch (Depends-on): Add verify.
80883         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
80884         unistd-safer.
80885         * modules/save-cwd (Depends-on): Likewise.
80886
80887         * modules/openat (Files): Add lib/openat-die.c.
80888         (Depends-on): Remove error, exitfail.
80889         Add dirname.
80890
80891         * modules/verify: New file.
80892         * MODULES.html.sh (Diagnostics <assert.h>): New section,
80893         with "verify" module.
80894
80895 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
80896
80897         Sync from coreutils.
80898
80899         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
80900         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
80901         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
80902         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
80903         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
80904         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
80905         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
80906         Don't bother checking for string.h, stdlib.h, unistd.h.
80907         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
80908         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
80909         module's job.
80910         * m4/jm-macros.m4 (gl_MACROS): Likewise.
80911         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
80912
80913         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
80914         (gl_GETDATE): Use it.
80915
80916         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
80917
80918 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
80919
80920         Sync from coreutils.
80921
80922         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
80923         stat-time.h.
80924         * lib/argmatch.h: Include verify.h
80925         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
80926         (ARGMATCH_ASSERT): Remove; unused.
80927         * lib/canonicalize.c: Assume STDC_HEADERS.
80928         * lib/exclude.c: Include "strcase.h".
80929         * lib/regex_internal.h [!defined _LIBC]: Likewise.
80930         * lib/getusershell.c: Include stdio--.h rather than stdio.h
80931         and stdio-safer.h.
80932         (getusershell): Call fopen, not fopen_safer.
80933         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
80934         Do not include unistd-safer.h.
80935         (save_cwd): Don't call fd_safer; no longer needed
80936         now that we include fcntl--.h.
80937
80938         * lib/getdate.y (relative_time): New type.
80939         (RELATIVE_TIME_0): New constant.
80940         (parser_control): Use relative_time instead of doing it ourselves.
80941         (%union): Add new relative_time rel member.
80942         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
80943         Now typeless.
80944         (relunit, relunit_snumber): Now of type rel.
80945         (zone, rel, relunit, get_date): Adjust to above changes.
80946
80947         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
80948         Do not include unistd-safer.h.
80949         (getloadavg): Don't call fd_safer; no longer needed
80950         now that we include fcntl--.h.
80951
80952         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
80953         (make_dir_parents): Treat ENOSYS like EEXIST.
80954
80955         Improve quality of diagnostics on restore_cwd failure.
80956         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
80957         (make_dir_parents): Last arg is now int * (for errno), not bool *.
80958         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
80959         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
80960         each time through the loop.  Do not diagnose restore_cwd failure;
80961         that is the caller's job (and perhaps the caller does not care).
80962
80963         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
80964         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
80965         If the file already exists but is not a directory, don't bother
80966         to try to make its parents.
80967         Close potential file descriptor leak if we can't chdir("/") (!).
80968         Don't always return true if chdir($PWD) fails; return true only
80969         if the requested action was done successfully (except for the
80970         chdir($PWD)).
80971         Don't log final directory unless we actually made it.
80972         Refactor to avoid duplicate code to fix up permissions.
80973         Don't attempt to fix up parent permissions if chdir($PWD) fails.
80974
80975         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
80976         to make it a bit faster and (I hope) clearer.
80977         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
80978         Fix bug in formats like %2N.
80979
80980         * lib/verify.h: New file.
80981
80982 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
80983
80984         Sync from coreutils.
80985         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
80986
80987 2005-09-22  Jim Meyering  <jim@meyering.net>
80988
80989         Sync from coreutils.
80990
80991         * m4/lstat.m4 (gl_FUNC_LSTAT):
80992         Use AC_LIBSOURCES to require lstat.c and lstat.h.
80993         Remove obsolete comment.
80994         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
80995         * m4/xstrtod.m4: Likewise.
80996
80997         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
80998
80999 2005-09-22  Jim Meyering  <jim@meyering.net>
81000
81001         Sync from coreutils.
81002
81003         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
81004
81005         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
81006         the .tm_year member, since otherwise gcc-4.0 would now warn about
81007         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
81008
81009         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
81010         order to avoid an unsuppressible warning from gcc on 64-bit systems.
81011
81012         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
81013         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
81014         when run in a time zone for which daylight savings time is in effect
81015         for the starting date.
81016
81017         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
81018         stop us from restricting permissions of just-created absolute-named
81019         directories.
81020         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
81021         to restore initial working directory.
81022         * lib/mkdir-p.c (make_dir_parents): New parameter:
81023         different_working_dir, to tell caller if/when we change the working
81024         directory and are unable to return to the initial one.
81025         * lib/mkdir-p.h (make_dir_parents): Update prototype.
81026         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
81027         `return false'.  This fixes a bug introduced on 2004-07-30.
81028
81029         * lib/openat.c (fdopendir): Be sure to close the supplied
81030         file descriptor before returning.  This makes our replacement
81031         implementation a little closer to Solaris's, where fdopendir
81032         ties the file descriptor to the returned DIR* pointer.
81033         * lib/openat.c (unlinkat): New function.
81034         * lib/openat.h (unlinkat): Add prototype.
81035         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
81036         (openat_restore_fail): Rename from openat_restore_die.
81037         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
81038
81039         Provide an alternative to exiting immediately upon save_cwd or
81040         restore_cwd failure.  Now, an application can arrange e.g.,
81041         to perform a longjump in that case.
81042         * lib/openat.c: Include dirname.h.
81043         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
81044         (rpl_openat, fdopendir, fstatat): Call openat_save_die
81045         and openat_restore_die rather than calling error directly.
81046         Don't include "error.h" or "exitfail.h"; they're no longer needed.
81047
81048         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
81049         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
81050         define.
81051
81052         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
81053         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
81054                             int utc, int nanoseconds);
81055         Background:
81056         date should not have to allocate a megabyte of virtual memory to
81057         handle a format argument like +%1048575T.  When implemented with
81058         strftime, it must allocate such a buffer, use strftime to fill it
81059         in, print it, then free it.
81060         With fprintftime, it simply prints everything and exits.
81061         With no need for memory allocation, that's one fewer way to fail.
81062         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
81063         optional field width, not before, so we accept %9:z, not %:9z.
81064         (my_strftime): Be sure to use L_('x') for literals.
81065
81066         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
81067         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
81068         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
81069         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
81070         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
81071         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
81072         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
81073         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
81074         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
81075         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
81076         * lib/xgethostname.c, lib/xreadlink.c:
81077         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
81078
81079         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
81080         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
81081         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
81082         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
81083         and don't include <sys/file.h>).
81084
81085 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
81086
81087         Sync from coreutils.
81088
81089         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
81090         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
81091         [!LDAV_DONE]: Avoid unused variable warning.
81092
81093 2005-09-21  Bruno Haible  <bruno@clisp.org>
81094
81095         * lib/unicodeio.h (unicode_to_mb): New declaration.
81096
81097 2005-09-20  Derek Price  <derek@ximbiot.com>
81098
81099         * lib/getaddrinfo.c: Don't include <netdb.h> included from
81100         getaddrinfo.h.
81101
81102 2005-09-20  Bruno Haible  <bruno@clisp.org>
81103
81104         * gnulib-tool: Remove trailing slashes from the values specified for
81105         --source-base, --m4-base, --tests-base, --aux-dir.
81106         Suggested by Simon Josefsson <jas@extundo.com>.
81107
81108 2005-09-20  Bruno Haible  <bruno@clisp.org>
81109
81110         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
81111         func_modules_to_filelist, func_import, func_create_testdir): Make all
81112         sorting results locale-independent, so that gnulib-cache.m4 doesn't
81113         change when gnulib-tool is invoked in a different locale.
81114
81115 2005-09-19  Simon Josefsson  <jas@extundo.com>
81116
81117         * m4/socklen.m4: Fix typo.
81118
81119 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81120
81121         Use a consistent style for including <config.h>.
81122         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
81123         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
81124         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
81125         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
81126         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
81127         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
81128         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
81129         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
81130         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
81131         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
81132         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
81133         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
81134         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
81135         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
81136         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
81137         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
81138         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
81139         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
81140         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
81141         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
81142         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
81143         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
81144         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
81145         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
81146         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
81147         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
81148         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
81149         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
81150         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
81151         lib/xstrtoumax.c, lib/yesno.c:
81152         Standardize inclusion of config.h.
81153         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
81154         lib/inttostr.h:  Removed inclusion of config.h from header files.
81155         * lib/inttostr.c:  Adjusted in-tree users.
81156         * lib/timespec.h: Remove superfluous warning to include config.h.
81157         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
81158         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
81159         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
81160         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
81161         config.h with HAVE_CONFIG_H.
81162
81163 2005-09-19  Jim Meyering  <jim@meyering.net>
81164
81165         * modules/pathmax (License): Change to LGPL.
81166
81167 2005-09-19  Derek Price  <derek@ximbiot.com>
81168
81169         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
81170
81171 2005-09-19  Bruno Haible  <bruno@clisp.org>
81172
81173         * gnulib-tool (import): Provide default for --tests-base.
81174
81175 2005-09-19  Bruno Haible  <bruno@clisp.org>
81176
81177         * doc/quote.texi: New file, extracted from gnulib.texi.
81178         * doc/ctime.texi: New file, extracted from gnulib.texi.
81179         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
81180         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
81181         * doc/gnulib.texi: Include them.
81182
81183 2005-09-18  Bruno Haible  <bruno@clisp.org>
81184
81185         Portability fix.
81186         * gnulib-tool (func_readlink): New function.
81187         (func_ln_if_changed): Use it.
81188
81189 2005-09-18  Bruno Haible  <bruno@clisp.org>
81190
81191         * gnulib-tool: Support --with-tests also with --import.
81192         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
81193         (func_import): Use variables $testsbase and $inctests. Emit a
81194         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
81195         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
81196         SUBDIRS += $testsdir.
81197         (func_create_testdir): Update.
81198
81199 2005-09-18  Bruno Haible  <bruno@clisp.org>
81200
81201         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
81202         instead of $dry_run.
81203         (func_cp_if_changed, func_mv_if_changed): Remove functions.
81204         (func_ln_if_changed): Don't handle dry-run here.
81205         (func_import): In dry-run mode, detect more precisely which actions
81206         would be performed, and don't use "...ing" verbs.
81207
81208 2005-09-18  Bruno Haible  <bruno@clisp.org>
81209
81210         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
81211         (func_import): Use join on two temporary files instead of three nested
81212         loops, in order to determine which files are new or old.
81213
81214 2005-09-18  Bruno Haible  <bruno@clisp.org>
81215
81216         * gnulib-tool (func_import): Comment out code that spits out the
81217         new files with --dry-run.
81218
81219 2005-09-18  Bruno Haible  <bruno@clisp.org>
81220
81221         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
81222
81223 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
81224
81225         * lib/stat-time.h: New file.
81226         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
81227         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
81228         in a different way.
81229         (timespec_cmp): New function.
81230         * lib/utimecmp.c: Include stat-time.h.
81231         (SYSCALL_RESOLUTION): Depend on whether various struct stat
81232         members exist, not on the obsolescent ST_MTIM_NSEC.
81233         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
81234
81235 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
81236
81237         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
81238
81239 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
81240
81241         * MODULES.html.sh (File system functions): Add stat-time.
81242         * modules/stat-time: New file.
81243         * modules/timespec (Files): Remove m4/st_mtim.m4; this
81244         is now done in a different way, by the stat-time module.
81245         * modules/utimecmp (Depends-on): Add stat-time.
81246
81247 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
81248
81249         * m4/st_mtim.m4: Remove.  Superseded by...
81250         * m4/stat-time.m4: New file.
81251         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
81252         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
81253
81254 2005-09-15  Derek Price  <derek@ximbiot.com>
81255
81256         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
81257
81258 2005-09-15  Derek Price  <derek@ximbiot.com>
81259
81260         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
81261         * lib/regex_internal.c: Ditto, using this...
81262         (__GNUC_PREREQ): ...new macro.
81263         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
81264         using...
81265         (__GNUC_PREREQ): ...this new macro.
81266
81267         * lib/strstr.h: Include string.h. Define strstr as a macro here.
81268
81269 2005-09-15  Derek Price  <derek@ximbiot.com>
81270             Paul Eggert  <eggert@cs.ucla.edu>
81271
81272         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
81273         changes, consolidating in...
81274         * lib/regex_internal.h: ...this file.
81275
81276 2005-09-13  Jim Meyering  <jim@meyering.net>
81277
81278         * lib/canon-host.c: Filter through gnu indent and reword comments
81279         slightly.
81280         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
81281
81282 2005-09-13  Derek Price  <derek@ximbiot.com>
81283
81284         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
81285         failure.
81286         Reported by Jim Meyering  <jim@meyering.net>.
81287
81288 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
81289
81290         * lib/base64.c: Typo.
81291         (base64_encode): Put b64str in initialized data section.
81292
81293 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
81294
81295         Merge glibc and coreutils changes into gnulib, plus a few
81296         extra fixes.
81297         * lib/md5.c: Use #error rather than a string.
81298         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
81299         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
81300         (__attribute__): Define to empty for non recent-GCC.
81301         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
81302         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
81303         Renamed from their non-__ counterparts, with new macros replacing
81304         them if not _LIBC.  Add __THROW attribute.
81305         (rol): Remove.
81306         (struct md5_ctx): Align buffer if using GCC.
81307         * lib/sha1.h (struct sha1_ctx): Likewise.
81308         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
81309         The old name was backwards.
81310         (NOTSWAP): Remove; not used.
81311         (rol): New macro, moved here from md5.h.
81312         (sha1_process_block): Remove a FIXME that doesn't make sense.
81313
81314 2005-09-12  Derek Price  <derek@ximbiot.com>
81315
81316         Return usable errors from canon-host.
81317         * lib/canon-host.h: New file.
81318         * lib/canon-host.c (canon_host): Wrap...
81319         (canon_host_r): ...this new function, which now relies exclusively on
81320         getaddrinfo.
81321         (ch_strerror): New function.
81322         (last_cherror): New global.
81323         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
81324         interface.
81325         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
81326         void *.
81327         (freeaddrinfo): Free ai->ai_canonname when set.
81328
81329 2005-09-12  Derek Price  <derek@ximbiot.com>
81330
81331         Make canon-host require getaddrinfo.
81332         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
81333         AC_LIBSOURCE canon-host.h.  Call...
81334         (gl_PREREQ_CANON_HOST): ...this new function, which requires
81335         gl_GETADDRINFO.
81336         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
81337
81338 2005-09-12  Derek Price  <derek@ximbiot.com>
81339
81340         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
81341         LGPL.
81342         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
81343
81344 2005-09-12  Derek Price  <derek@ximbiot.com>
81345
81346         * lib/gai_strerror.c: Include config.h when available.  Include
81347         getaddrinfo.h before other headers to test interface.
81348         Reported by Larry Jones <lawrence.jones@ugs.com>.
81349
81350 2005-09-12  Derek Price  <derek@ximbiot.com>
81351             Paul Eggert  <eggert@cs.ucla.edu>
81352
81353         * modules/glob (Files): Add glob-libc.h.
81354
81355 2005-09-12  Derek Price  <derek@ximbiot.com>
81356             Paul Eggert  <eggert@cs.ucla.edu>
81357
81358         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
81359         glob_.h, glob-libc.h.
81360         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
81361
81362 2005-09-12  Derek Price  <derek@ximbiot.com>
81363             Paul Eggert  <eggert@cs.ucla.edu>
81364
81365         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
81366         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
81367         protecting things that should be done only in gnulib contexts.
81368         * lib/glob_.h: New file, containing only the glob things needed for
81369         gnulib.
81370         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
81371         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
81372         (glob, globfree, glob_pattern_p): Now defined simply in terms of
81373         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
81374         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
81375         and to respect the namespace rules better.
81376
81377 2005-09-08  Simon Josefsson  <jas@extundo.com>
81378
81379         * modules/socklen: New file.
81380
81381 2005-09-08  Simon Josefsson  <jas@extundo.com>
81382
81383         * m4/socklen.m4: New file.
81384
81385 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
81386
81387         * modules/utimens (Files): Add m4/utimbuf.m4, since
81388         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
81389         Reported by Sergey Poznyakoff.
81390
81391 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
81392
81393         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
81394         definitions, since that's the preferred style in glibc.
81395         Fix a minor spacing issue, and update copyright notice to match
81396         glibc's.
81397
81398 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
81399
81400         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
81401
81402 2005-09-06  Simon Josefsson  <jas@extundo.com>
81403
81404         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
81405         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
81406
81407 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
81408
81409         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
81410         warning.
81411
81412 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
81413
81414         * config/srclist.txt: Add glibc bug 1302.
81415
81416 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
81417
81418         Change bitset word type from unsigned int to unsigned long int,
81419         as this has better performance on typical 64-bit hosts.
81420         Port bitset code to hosts with unusual word sizes.
81421         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
81422         (build_collating_symbol):
81423         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
81424         argument is a bitset.  This is merely a style issue, but it makes
81425         it clearer that an entire array is expected.
81426         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
81427         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
81428         Port to the case where bitset_word is not the same as unsigned int.
81429         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
81430         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
81431         Likewise.
81432         * lib/regexec.c (check_dst_limits_calc_pos_1,
81433         check_subexp_matching_top):
81434         (build_trtable, group_nodes_into_DFAstates):
81435         Likewise.
81436         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
81437         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
81438         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
81439         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
81440         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
81441         * lib/regcomp.c (optimize_subexps, lower_subexp):
81442         Work even if bitset_word has holes in its bitwise representation.
81443         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
81444         * lib/regexec.c (check_dst_limits_calc_pos_1,
81445         check_subexp_matching_top):
81446         Likewise.
81447         * lib/regex_internal.c (re_string_reconstruct):
81448         Don't assume UCHAR_MAX == 255.
81449         * lib/regex_internal.h (bitset_set_all): Likewise.
81450         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
81451         All uses changed.
81452         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
81453         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
81454         All uses changed.
81455         (BITSET_WORD_MAX): New macro.
81456         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
81457         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
81458         (bitset_empty, bitset_copy):
81459         Prefer sizeof (bitset) to multiplying it out ourselves.
81460         (bitset_not_merge): Remove; unused.
81461         (bitset_contain): Return bool, not unsigned int with one bit on.
81462         All callers changed.
81463         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
81464         alignment than re_node_set; do this by defining a new internal
81465         type struct dests_alloc and using it to allocate memory.
81466
81467 2005-09-05  Bruno Haible  <bruno@clisp.org>
81468
81469         * gnulib-tool (func_import): Fix comparison in handling of symbolic
81470         links.
81471
81472 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
81473
81474         * modules/size_max (Makefile.am): Add size_max.h
81475
81476 2005-09-04  Derek Price  <derek@ximbiot.com>
81477
81478         * gnulib-tool (func_import): Fix reversed $symbolic logic.
81479
81480 2005-09-03  Simon Josefsson  <jas@extundo.com>
81481
81482         * gnulib-tool: Fix typo.
81483
81484 2005-09-03  Simon Josefsson  <jas@extundo.com>
81485
81486         * config/srclist.txt: Add glibc bug 1293.
81487
81488 2005-09-03  Derek Price  <derek@ximbiot.com>
81489
81490         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
81491         From Larry Jones <lawrence.jones@ugs.com>.
81492
81493 2005-09-02  Simon Josefsson  <jas@extundo.com>
81494
81495         * modules/socklen: New file.
81496
81497 2005-09-02  Simon Josefsson  <jas@extundo.com>
81498
81499         * modules/havelib: New module.
81500
81501         * modules/gettext, modules/iconv, modules/lock, modules/readline:
81502         Use havelib.
81503
81504 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
81505
81506         Check for arithmetic overflow when calculating sizes, to prevent
81507         some buffer-overflow issues.  These patches are conservative, in the
81508         sense that when I couldn't determine whether an overflow was possible,
81509         I inserted a run-time check.
81510         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
81511         macros.
81512         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
81513         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
81514         (re_xnrealloc, re_x2nrealloc): New inline functions.
81515         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
81516         parse_bracket_exp):
81517         (build_equiv_class, build_charclass): Check for arithmetic overflow
81518         in size expression calculations.
81519         * lib/regex_internal.c (re_string_realloc_buffers):
81520         (build_wcs_upper_buffer, re_node_set_add_intersect):
81521         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
81522         (re_dfa_add_node, register_state): Likewise.
81523         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
81524         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
81525         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
81526         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
81527
81528 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
81529
81530         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
81531         m4/ulonglong.m4.  Problem reported by Martin Lambers.
81532
81533 2005-09-02  Bruno Haible  <bruno@clisp.org>
81534
81535         Support for lib vs. lib64 distinction on biarch platforms.
81536         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
81537         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
81538         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
81539
81540 2005-09-02  Bruno Haible  <bruno@clisp.org>
81541
81542         * gnulib-tool (import): In the other first-use case, provide defaults
81543         as well.
81544
81545 2005-09-02  Bruno Haible  <bruno@clisp.org>
81546
81547         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
81548         patches not yet found in the latest gettext release.
81549
81550 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
81551
81552         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
81553         to avoid a collision with bits/local_lim.h in glibc.
81554         All uses changed.  Problem reported by Dmitry V. Levin in
81555         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
81556
81557         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
81558         bugs in int versus size_t comparisons.
81559         (re_string_context_at): Fix bug where the code assumed that
81560         Idx is signed.
81561
81562         Use bool where appropriate.
81563         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
81564         All callers changed.
81565         (calc_eclosure_iter): Likewise, for ROOT arg.
81566         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
81567         (build_charclass_op): Likewise, for NON_MATCH arg.
81568         * lib/regex_internal.c (re_string_allocate, re_string_construct):
81569         (re_string_construct_common): Likewise, for ICASE arg.
81570         * lib/regexec.c (re_search_2_stub, re_search_stub):
81571         Likewise, for RET_LEN arg.
81572         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
81573         (set_regs): Likewise, for FL_BACKTRACK arg.
81574         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
81575         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
81576         (calc_eclosure_iter, parse_bracket_exp):
81577         Use bool for internal variables that are booleans.
81578         * lib/regexec.c (re_search_internal, check_matching,
81579         proceed_next_node):
81580         (set_regs, build_sifted_states, sift_states_bkref):
81581         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
81582         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
81583         (find_collation_sequence_value):
81584         Likewise.
81585         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
81586         (re_node_set_compare):
81587         Return bool, not int. All callers changed.
81588         * lib/regexec.c (check_halt_node_context, check_dst_limits):
81589         (build_trtable, check_node_accept): Likewise.
81590         * lib/regex_internal.h: Include stdbool.h.
81591
81592         Fix bugs uncovered when converting to bool.
81593         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
81594         failure instead of charging ahead blindly.
81595         * lib/regex_internal.c (register_state): Likewise.
81596         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
81597         for freeing internal storage.
81598         (group_nodes_into_DFA_states): Use unsigned int, not int, for
81599         bitset pieces used as boolean, to avoid undefined behavior
81600         on hosts that do int overflow checking.
81601
81602 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
81603
81604         * config/srclist.txt: Add glibc bugs 1285-1287.
81605
81606 2005-09-01  Jim Meyering  <jim@meyering.net>
81607
81608         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
81609         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
81610         Require gl_STAT_MACROS, too.
81611
81612 2005-09-01  Bruno Haible  <bruno@clisp.org>
81613
81614         * gnulib-tool (import): In the first-use case, provide defaults.
81615
81616 2005-09-01  Bruno Haible  <bruno@clisp.org>
81617
81618         * gnulib-tool (func_import): Remove the .tmp files.
81619
81620 2005-09-01  Bruno Haible  <bruno@clisp.org>
81621
81622         * gnulib-tool (func_import): Fix handling of symbolic links.
81623
81624 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
81625
81626         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
81627         old glibc regex code mishandles strings longer than 2**31 bytes.
81628         This patch fixes this when the regex code is used in gnulib
81629         (i.e., outside glibc).
81630
81631         This patch should not affect the use of the regex code inside
81632         glibc.  No doubt this problem also needs to be handled for glibc
81633         as well, but the result will be an incompatible change to the
81634         glibc ABI, and the old ABI will have to be supported too.  That
81635         can be the the subject for another patch.
81636
81637         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
81638         governing whether the rest of this patch is active.  By default,
81639         the macro is disabled and the patch has no effect.
81640         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
81641         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
81642         (struct re_pattern_buffer, re_search, re_search_2, re_match):
81643         (re_match_2, re_set_registers): Use the new types.
81644         * lib/regex_internal.h (Idx, re_hashval_t): New types.
81645         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
81646         New macros.
81647         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
81648         (re_string_context_at, bin_tree_t, re_dfastate_t):
81649         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
81650         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
81651         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
81652         (re_string_char_size_at, re_string_wchar_at):
81653         (re_string_elem_size_at):
81654         Use the new types and macros to port to 64-bit hosts.
81655         Use unsigned types for internal values, so that the code
81656         mostly works even for arrays larger than SSIZE_MAX.
81657         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
81658         (search_duplicated_node, calc_eclosure_iter, fetch_number):
81659         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
81660         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
81661         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
81662         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
81663         (calc_inveclosure, parse_dup_op, build_range_exp):
81664         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
81665         (fetch_number, create_token_tree, mark_opt_subexp):
81666         Likewise.
81667         * lib/regex_internal.c (re_string_construct_common,
81668         create_ci_newstate):
81669         (create_cd_newstate, re_string_allocate, re_string_construct):
81670         (re_string_realloc_buffers, build_wcs_upper_buffer):
81671         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
81672         (re_string_reconstruct, re_string_peek_byte_case):
81673         (re_string_fetch_byte_case, re_string_context_at):
81674         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
81675         (re_node_set_init_copy, re_node_set_add_intersect):
81676         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
81677         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
81678         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
81679         (re_acquire_state, re_acquire_state_context, register_state):
81680         Likewise.
81681         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
81682         search_cur_bkref_entry):
81683         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
81684         (re_search_internal, re_search_2_stub, re_search_stub)
81685         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
81686         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
81687         (update_cur_sifted_state, check_dst_limits):
81688         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
81689         (check_subexp_limits, sift_states_bkref, merge_state_array):
81690         (check_subexp_matching_top, get_subexp, get_subexp_sub):
81691         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
81692         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
81693         (expand_bkref_cache, check_node_accept_bytes):
81694         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
81695         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
81696         (acquire_init_state_context, check_halt_node_context):
81697         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
81698         (sift_states_backward, clean_state_log_if_needed):
81699         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
81700         (find_recover_state, transit_state_sb, transit_state_mb):
81701         (transit_state_bkref, build_trtable, match_ctx_clean):
81702         Likewise.
81703         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
81704         to work around an assumption that REG_MISSING is negative.
81705
81706         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
81707         (seek_collating_symbol_entry) [defined _LIBC]:
81708         (lookup_collation_sequence_value) [defined _LIBC]:
81709         (build_range_exp, build_collating_symbol) [defined _LIBC]:
81710         Use prototypes rather than old-style function definitions.
81711         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
81712         (transit_state_sb) [0]:
81713         (find_collation_sequence_value) [defined _LIBC]: Likewise.
81714
81715         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
81716         rm_eo.
81717
81718         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
81719         (optimize_subexps, lower_subexp):
81720         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
81721         since the signed shift might overflow.  Use 1u<<31 instead.
81722         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
81723         Likewise.
81724         * lib/regexec.c (check_dst_limits_calc_pos_1,
81725         check_subexp_matching_top): Likewise.
81726
81727         * lib/regcomp.c (optimize_subexps, lower_subexp):
81728         Use CHAR_BIT rather than 8, for clarity.
81729         * lib/regexec.c (check_dst_limits_calc_pos_1):
81730         (check_subexp_matching_top): Likewise.
81731         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
81732         have to worry about portability issues when shifting it left.
81733         Remove no-longer-needed test for table_size > 0.
81734         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
81735         in a word, as the resulting behavior is undefined.
81736         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
81737         in one case, a <= should have been an <, and in another case the
81738         whole test was missing.
81739         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
81740         the standard name CHAR_BIT.
81741         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
81742         this is not true on one's complement and signed-magnitude hosts.
81743
81744         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
81745         next_last_offset.
81746         (struct re_dfa_t): Remove unused member states_alloc.
81747         * lib/regcomp.c (init_dfa): Don't initialize unused members.
81748
81749 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
81750
81751         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
81752         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
81753         and large-file glibc and in 32-bit large-file Solaris.
81754
81755 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
81756
81757         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
81758         lengths fit in regoff_t; this isn't true if regoff_t is the same
81759         width as size_t.
81760         * lib/regex.c (re_search_internal): 5th arg is LAST_START
81761         (= START + RANGE) instead of RANGE.  This avoids overflow
81762         problems when regoff_t is the same width as size_t.
81763         All callers changed.
81764         (re_search_2_stub): Check for overflow when adding the
81765         sizes of the two strings.
81766         (re_search_stub): Check for overflow when adding START
81767         to RANGE; if it occurs, substitute the extreme value.
81768
81769 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
81770
81771         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
81772
81773 2005-08-31  Jim Meyering  <jim@meyering.net>
81774
81775         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
81776         a pointer-to-const.
81777         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
81778         (register_state): Likewise.
81779         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
81780         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
81781         (group_nodes_into_DFAstates): Likewise.
81782
81783 2005-08-31  Jim Meyering  <jim@meyering.net>
81784
81785         * check-module: Add a FIXME comment.
81786
81787 2005-08-31  Eric Blake  <ebb9@byu.net>
81788
81789         * modules/unistd-safer (Files): Add unistd--.h.
81790         * modules/stdio-safer (Files): Add stdio--.h.
81791
81792 2005-08-31  Derek Price  <derek@ximbiot.com>
81793
81794         * lib/getdelim.c (getdelim): Return EOF on EOF.
81795         Reported by Larry Jones <lawrence.jones@ugs.com>.
81796
81797 2005-08-31  Bruno Haible  <bruno@clisp.org>
81798
81799         Avoid unnecessary diffs in the generated lib/Makefile.am.
81800         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
81801         the generated files.
81802         (func_import): Don't set cmd.
81803
81804 2005-08-31  Bruno Haible  <bruno@clisp.org>
81805
81806         * lib/strstr.c: Include <stddef.h>, for NULL.
81807         * lib/strcasestr.c: Likewise.
81808         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
81809
81810 2005-08-31  Bruno Haible  <bruno@clisp.org>
81811
81812         * gnulib-tool: New option --macro-prefix.
81813         (func_import): Use macro_prefix.
81814         (import): Handle option --macro-prefix.
81815
81816 2005-08-31  Bruno Haible  <bruno@clisp.org>
81817
81818         * gnulib-tool (import): Rename most ac_* variables to cached_*.
81819         Also use new variables cached_lgpl, cached_libtool.
81820
81821 2005-08-31  Bruno Haible  <bruno@clisp.org>
81822
81823         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
81824         always instantiating them.
81825
81826 2005-08-31  Bruno Haible  <bruno@clisp.org>
81827
81828         * gnulib-tool (func_import): Read the previous cached settings
81829         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
81830         earlier added by gnulib but are now dropped. Warn when a gnulib file
81831         overwrites a non-gnulib file.
81832
81833 2005-08-31  Bruno Haible  <bruno@clisp.org>
81834
81835         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
81836         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
81837         projects that don't keep autogenerated files in CVS. Put into
81838         actioncmd only the specified modules, not the transitive closure.
81839
81840 2005-08-31  Bruno Haible  <bruno@clisp.org>
81841
81842         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
81843         Create directories that shall be filled.
81844         (import): Don't look for gl_* macros in configure.ac. Recurse across
81845         all directories containing a gnulib-cache.m4 files, if meaningful.
81846
81847 2005-08-31  Bruno Haible  <bruno@clisp.org>
81848
81849         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
81850         (import): Set seen_libtool when we see gl_LIBTOOL.
81851
81852 2005-08-31  Bruno Haible  <bruno@clisp.org>
81853
81854         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
81855         declaration macro definitions from generated gnulib.m4.
81856
81857 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
81858
81859         * lib/iconvme.h: Add prototype for iconv_alloc.
81860
81861 2005-08-29  Simon Josefsson  <jas@extundo.com>
81862
81863         * lib/iconvme.c: Fix errno.
81864
81865 2005-08-29  Bruno Haible  <bruno@clisp.org>
81866
81867         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
81868         that it works when the directory contains spaces.
81869
81870 2005-08-29  Bruno Haible  <bruno@clisp.org>
81871
81872         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
81873
81874 2005-08-29  Bruno Haible  <bruno@clisp.org>
81875
81876         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
81877         Emit more advice.
81878
81879 2005-08-29  Bruno Haible  <bruno@clisp.org>
81880         and Stepan Kasal  <kasal@ucw.cz>
81881
81882         * check-module: If more parameters are given, check each of them
81883         separately; add more exceptions, as noted by Jim Meyering.
81884         (check_module): New procedure.
81885         (%exempt_header): Now contains all exceptions.
81886
81887 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
81888
81889         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
81890
81891 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
81892
81893         * lib/iconvme.c: Split iconv_string into iconv_alloc.
81894
81895 2005-08-28  Bruno Haible  <bruno@clisp.org>
81896
81897         * m4/gnulib-tool.m4: New file.
81898
81899 2005-08-27  Jim Meyering  <jim@meyering.net>
81900
81901         * modules/unistd-safer (Files): Add pipe-safer.c.
81902         * modules/fcntl-safer (Files): Add creat-safer.c.
81903
81904 2005-08-27  Jim Meyering  <jim@meyering.net>
81905
81906         * m4/stdlib-safer.m4: New file.  From coreutils.
81907         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
81908         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
81909         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
81910         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
81911         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
81912
81913 2005-08-27  Jim Meyering  <jim@meyering.net>
81914
81915         * lib/fopen-safer.c: Merge minor changes from coreutils.
81916         * lib/dup-safer.c: Likewise.
81917         * lib/fd-safer.c: Likewise.
81918
81919         Merge from coreutils.
81920         * lib/stdio--.h: New file.
81921         * lib/stdlib--.h: New file.
81922         * lib/mkstemp-safer.c: New file.
81923
81924         GNU tar needs these.
81925         * lib/pipe-safer.c: New file.
81926         * lib/creat-safer.c: New file.
81927         * lib/fcntl--.h (creat): Define to creat_safer.
81928         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
81929         * lib/unistd--.h (pipe): Define to pipe_safer.
81930         * lib/unistd-safer.h: Declare pipe_safer.
81931
81932 2005-08-26  Simon Josefsson  <jas@extundo.com>
81933
81934         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
81935         Haible <bruno@clisp.org>.
81936
81937 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
81938
81939         * lib/regex_internal.h: Remove all references to
81940         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
81941         or better.
81942         (bitset_not, bitset_merge, bitset_not_merge):
81943         (bitset_mask, re_string_allocate, re_string_construct):
81944         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
81945         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
81946         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
81947         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
81948         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
81949         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
81950         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
81951         (re_acquire_state_context):
81952         Remove unnecessary forward decls.
81953         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
81954         Put __attribute at function definition,
81955         now that the function decl has been removed.
81956         * lib/regex_internal.c (re_string_peek_byte_case):
81957         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
81958         Likewise.
81959
81960 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
81961
81962         * m4/regex.m4: Add AC_PREREQ(2.50).
81963         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
81964
81965 2005-08-25  Simon Josefsson  <jas@extundo.com>
81966
81967         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
81968         __fsetlocking.
81969
81970 2005-08-25  Simon Josefsson  <jas@extundo.com>
81971
81972         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
81973         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
81974         GLIBC specific code.
81975
81976 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
81977
81978         Make regex safe for g++.  This fixes one real bug (an "err"
81979         that should have been "*err").  g++ problem reported by
81980         Sam Steingold.
81981         * lib/regex_internal.h (re_calloc): New macro, consistent with
81982         re_malloc etc.  All callers of calloc changed to use re_calloc.
81983         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
81984         not int.  All callers changed.
81985         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
81986         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
81987         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
81988         (find_recover_state): Change "err" to "*err"; this fixes what
81989         appears to be a real bug.
81990         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
81991         versus int.
81992
81993 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
81994
81995         * modules/regex (Depends-on): Add malloc, since the code
81996         assumes that !malloc(0) means failure.
81997
81998 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
81999
82000         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
82001
82002         alloca modernization/simplification for regex.
82003         * lib/regex.c: Remove portability cruft for alloca.  This no longer
82004         needs to be at the start of the file, and can be moved into
82005         regex_internal.h and simplified.
82006         * lib/regex_internal.h: Include <alloca.h>.
82007         (__libc_use_alloca) [!defined _LIBC]: New macro.
82008         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
82009         now works outside glibc.
82010
82011 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
82012
82013         * config/srclist.txt: Add glibc bugs 1241, 1245.
82014
82015 2005-08-25  Jim Meyering  <jim@meyering.net>
82016
82017         * lib/open-safer.c: Include <config.h>.
82018         Otherwise, we'd lose LARGEFILE support in any file using
82019         e.g. "fcntl--.h"
82020
82021 2005-08-25  Bruno Haible  <bruno@clisp.org>
82022
82023         * m4/minmax.m4: Require autoconf 2.52.
82024         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
82025         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
82026         alternatives of translit over the alphabet.
82027         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
82028
82029 2005-08-24  Simon Josefsson  <jas@extundo.com>
82030
82031         * tests/test-getpass.c: New file.
82032
82033 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
82034
82035         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
82036         for GNU regex features.
82037
82038 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
82039
82040         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
82041         * lib/regex.h (regerror): Likewise.
82042
82043         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
82044         requires this.  (The code never needed it.)
82045
82046         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
82047         All uses of recently-renamed identifiers changed to use the new,
82048         POSIX-compliant names.  The code will build and run just fine
82049         without these changes, but it's better to eat our own dog food
82050         and use the standard-conforming names.
82051
82052         * lib/regex.h: Fix a multitude of POSIX name space violations.
82053         These changes have an effect only for programs that define
82054         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
82055         do not change anything for programs compiled in the normal way.
82056         Also, there is no effect on the ABI.
82057
82058         (_REGEX_SOURCE): New macro.
82059         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
82060         defined and _GNU_SOURCE is not; this fixes a name space violation.
82061
82062         Rename the following macros to obey POSIX requirements.
82063         The old names are still visible as macros if _REGEX_SOURCE is defined.
82064         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
82065         RE_BACKSLASH_ESCAPE_IN_LISTS.
82066         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
82067         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
82068         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
82069         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
82070         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
82071         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
82072         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
82073         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
82074         (REG_INTERVALS): renamed from RE_INTERVALS.
82075         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
82076         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
82077         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
82078         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
82079         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
82080         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
82081         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
82082         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
82083         RE_UNMATCHED_RIGHT_PAREN_ORD.
82084         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
82085         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
82086         (REG_DEBUG): renamed from RE_DEBUG.
82087         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
82088         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
82089         unusual, since we can't clash with the POSIX REG_ICASE.
82090         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
82091         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
82092         (REG_NO_SUB): renamed from RE_NO_SUB.
82093         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
82094         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
82095         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
82096         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
82097         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
82098         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
82099         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
82100         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
82101         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
82102         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
82103         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
82104         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
82105         RE_SYNTAX_POSIX_MINIMAL_BASIC.
82106         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
82107         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
82108         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
82109         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
82110         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
82111         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
82112         (REG_FIXED): Renamed from REGS_FIXED.
82113         (REG_NREGS): Renamed from RE_NREGS.
82114
82115         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
82116         of other REG_* macros, since POSIX says the user is allowed to
82117         #undef these macros selectively.
82118
82119         (reg_errcode_t): Update comment stating what other tables need
82120         to be consistent.
82121
82122         Rename the following enum values to obey POSIX requirements.
82123         The old names are still visible as macros.
82124         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
82125         is not defined, since GNU is supposed to be a superset of POSIX as
82126         much as possible, and since we want reg_errcode_t to be a signed
82127         type for implementation consistency.
82128         (_REG_NOERROR): Renamed from REG_NOERROR.
82129         (_REG_NOMATCH): Renamed from REG_NOMATCH.
82130         (_REG_BADPAT): Renamed from REG_BADPAT.
82131         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
82132         (_REG_ECTYPE): Renamed from REG_ECTYPE.
82133         (_REG_EESCAPE): Renamed from REG_EESCAPE.
82134         (_REG_ESUBREG): Renamed from REG_ESUBREG.
82135         (_REG_EBRACK): Renamed from REG_EBRACK.
82136         (_REG_EPAREN): Renamed from REG_EPAREN.
82137         (_REG_EBRACE): Renamed from REG_EBRACE.
82138         (_REG_BADBR): Renamed from REG_BADBR.
82139         (_REG_ERANGE): Renamed from REG_ERANGE.
82140         (_REG_ESPACE): Renamed from REG_ESPACE.
82141         (_REG_BADRPT): Renamed from REG_BADRPT.
82142         (_REG_EEND): Renamed from REG_EEND.
82143         (_REG_ESIZE): Renamed from REG_ESIZE.
82144         (_REG_ERPAREN): Renamed from REG_ERPAREN.
82145         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
82146         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
82147         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
82148         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
82149
82150         (_REG_RE_NAME, _REG_RM_NAME): New macros.
82151         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
82152         changed.  But support the old name if the new one is not defined
82153         and if _REGEX_SOURCE.
82154
82155         Change the following member names in struct re_pattern_buffer.
82156         The old names are still supported if !_REGEX_SOURCE.
82157         The new names are always supported, regardless of _REGEX_SOURCE.
82158         (re_buffer): Renamed from buffer.
82159         (re_allocated): Renamed from allocated.
82160         (re_used): Renamed from used.
82161         (re_syntax): Renamed from syntax.
82162         (re_fastmap): Renamed from fastmap.
82163         (re_translate): Renamed from translate.
82164         (re_can_be_null): Renamed from can_be_null.
82165         (re_regs_allocated): Renamed from regs_allocated.
82166         (re_fastmap_accurate): Renamed from fastmap_accurate.
82167         (re_no_sub): Renamed from no_sub.
82168         (re_not_bol): Renamed from not_bol.
82169         (re_not_eol): Renamed from not_eol.
82170         (re_newline_anchor): Renamed from newline_anchor.
82171
82172         Change the following member names in struct re_registers.
82173         The old names are still supported if !_REGEX_SOURCE.
82174         The new names are always supported, regardless of _REGEX_SOURCE.
82175         (rm_num_regs): Renamed from num_regs.
82176         (rm_start): Renamed from start.
82177         (rm_end): Renamed from end.
82178
82179         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
82180         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
82181         Prepend __ to parameter names.
82182
82183         Undo yesterday's changes.
82184
82185 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
82186
82187         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
82188         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
82189         lib/regex.c.
82190
82191 2005-08-24  Jim Meyering  <jim@meyering.net>
82192
82193         Sync from coreutils.
82194         * m4/fcntl-safer.m4: New file.
82195
82196         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
82197         and object files for this module.
82198
82199 2005-08-24  Jim Meyering  <jim@meyering.net>
82200
82201         Sync from coreutils.
82202         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
82203
82204 2005-08-24  Jim Meyering  <jim@meyering.net>
82205
82206         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
82207         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
82208
82209 2005-08-24  Jim Meyering  <jim@meyering.net>
82210
82211         * modules/fcntl-safer: New module.
82212         * modules/fts (Depends-on): Add fcntl-safer.
82213         * MODULES.html.sh (File descriptor based Input/Output):
82214         Add fcntl-safer.
82215
82216 2005-08-24  Bruno Haible  <bruno@clisp.org>
82217
82218         Support for unit test modules.
82219         * modules/README: Mention tests modules.
82220         * modules/TEMPLATE-TESTS: New file.
82221         * gnulib-tool: New options --extract-tests-module, --with-tests and
82222         --tests-base (unused for the moment).
82223         (testsbase, inctests): New variables.
82224         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
82225         (func_verify_module): Exclude TEMPLATE-TESTS.
82226         (func_verify_nontests_module, func_verify_tests_module): New functions.
82227         (func_get_dependencies): Add implicit dependency for tests modules.
82228         (func_get_tests_module): New function.
82229         (func_modules_transitive_closure): When --with-tests was specified,
82230         include the unit tests as well, unless explicitly avoided.
82231         (func_emit_lib_Makefile_am): Ignore the tests modules here.
82232         (func_emit_tests_Makefile_am): New function.
82233         (func_create_testdir): When --with-tests was specified, emit a
82234         tests/ directory.
82235         * MODULES.html.sh (Future developments): Update.
82236
82237 2005-08-24  Bruno Haible  <bruno@clisp.org>
82238
82239         * modules/tls-tests: New file.
82240         * tests/test-tls.c: New file, from GNU gettext.
82241
82242 2005-08-24  Bruno Haible  <bruno@clisp.org>
82243
82244         * modules/lock-tests: New file.
82245         * tests/test-lock.c: New file, from GNU gettext.
82246
82247 2005-08-24  Bruno Haible  <bruno@clisp.org>
82248
82249         * lib/lock.h: Add multiple inclusion guard.
82250         * lib/tls.h: Add multiple inclusion guard.
82251
82252 2005-08-24  Bruno Haible  <bruno@clisp.org>
82253
82254         * gnulib-tool: Add support for the --aux-dir option to
82255         --create-testdir, --create-megatestdir, --test, --megatest.
82256         (func_create_testdir, func_create_megatestdir): Optionally emit a
82257         AC_CONFIG_AUX_DIR directive.
82258         (create-testdir, create-megatestdir, test, megatest): Provide a
82259         default value for $auxdir.
82260
82261 2005-08-24  Bruno Haible  <bruno@clisp.org>
82262
82263         * gnulib-tool (import): Use compound statement instead of subshell
82264         where possible.
82265
82266 2005-08-24  Bruno Haible  <bruno@clisp.org>
82267
82268         * gnulib-tool (import): Change --aux-dir default to "build-aux".
82269
82270 2005-08-24  Bruno Haible  <bruno@clisp.org>
82271
82272         * gnulib-tool (func_version): Update.
82273
82274 2005-08-24  Bruno Haible  <bruno@clisp.org>
82275
82276         * gnulib-tool (func_import, func_create_testdir,
82277         func_create_megatestdir): Quote all autoconf macro arguments.
82278
82279 2005-08-24  Bruno Haible  <bruno@clisp.org>
82280
82281         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
82282         option --force, because --force causes the aclocal.m4 of each
82283         subdirectory to be newer than the corresponding config.h.in.
82284
82285 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
82286
82287         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
82288         All contents moved to gl_REGEX.
82289         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
82290         assume that it does.
82291
82292 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
82293
82294         * lib/regex.h (REG_NOSYS)
82295         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
82296         Define, since POSIX requires it as of 2001.
82297         (_REG_ENOSYS)
82298         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
82299         New private symbol, used to keep the enum signed in all cases.
82300         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
82301         Youngman in
82302         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
82303
82304         * lib/regex_internal.c (re_string_skip_chars, register_state):
82305         (calc_state_hash):
82306         Remove forward decls; no longer needed now that we use prototypes.
82307         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
82308         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
82309         (clean_state_log_if_needed): Likewise.
82310
82311 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
82312
82313         * config/srclist.txt: Add glibc bugs 1231-1233.
82314
82315 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
82316
82317         Fix problems reported by Sam Steingold in
82318         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
82319         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
82320         assumed that reg_errcode_t is a signed type, which is not
82321         necessarily true if _XOPEN_SOURCE is not defined.
82322         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
82323         since some compilers warn about it otherwise.
82324
82325 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
82326
82327         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
82328         (init_word_char, create_initial_state, duplicate_node_closure):
82329         (fetch_token, peek_token_bracket, build_range_exp):
82330         (build_collating_symbol): Remove forward decls; no longer needed
82331         now that we use prototypes.
82332
82333         * lib/regcomp.c:
82334         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
82335         (re_compile_fastmap_iter, regcomp, regerror, regfree):
82336         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
82337         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
82338         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
82339         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
82340         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
82341         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
82342         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
82343         (build_range_exp, build_collating_symbol, parse_bracket_exp):
82344         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
82345         (build_charclass, build_charclass_op, fetch_number, create_tree):
82346         (create_token_tree, mark_opt_subexp, duplicate_tree):
82347         Use prototypes rather than old-style definitions.
82348
82349         * lib/regex_internal.c:
82350         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
82351         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
82352         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
82353         (re_string_reconstruct, re_string_peek_byte_case):
82354         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
82355         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
82356         (re_node_set_init_copy, re_node_set_add_intersect):
82357         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
82358         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
82359         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
82360         (re_acquire_state, re_acquire_state_context, register_state):
82361         (create_ci_newstate, create_cd_newstate, free_state):
82362         Likewise.
82363         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
82364         re_search_2):
82365         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
82366         (re_search_internal, prune_impossible_nodes):
82367         (acquire_init_state_context, check_matching, static):
82368         (check_halt_node_context, check_halt_state_context, proceed_next_node):
82369         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
82370         (update_regs, sift_states_backward, build_sifted_states):
82371         (clean_state_log_if_needed, merge_state_array):
82372         (update_cur_sifted_state, add_epsilon_src_nodes):
82373         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
82374         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
82375         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
82376         (find_recover_state, check_subexp_matching_top, transit_state_mb):
82377         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
82378         (check_arrival, check_arrival_add_next_nodes):
82379         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
82380         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
82381         (check_node_accept_bytes, check_node_accept, extend_buffers):
82382         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
82383         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
82384         (sift_ctx_init):
82385         Likewise.
82386
82387         * lib/regex_internal.h:
82388         (re_string_allocate, re_string_construct, re_string_reconstruct):
82389         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
82390         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
82391         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
82392         (re_string_context_at, re_string_peek_byte_case):
82393         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
82394         is defined, since we now use prototypes always.
82395
82396         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
82397         C89 or better.  All uses removed.
82398
82399 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
82400
82401         * config/srclist.txt: Add glibc bugs 1220-1227.
82402
82403 2005-08-20  Jim Meyering  <jim@meyering.net>
82404
82405         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
82406         of unused local, dfa.
82407
82408 2005-08-20  Bruno Haible  <bruno@clisp.org>
82409
82410         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
82411
82412 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
82413
82414         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
82415         (re_node_set_insert_last, re_dfa_add_node):
82416         Rename local variables to avoid GCC shadowing warnings.
82417
82418 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
82419
82420         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
82421         [defined lint]: Suppress bogus uninitialized-variable warnings.
82422
82423         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
82424         and let the caller return REG_ESPACE if out of space.  This
82425         removes an uninitialied-variable warning with GCC 4.0.1, and also
82426         avoids taking the address of a local variable.  All callers
82427         changed.
82428
82429 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
82430
82431         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
82432         $LIBCSRC/posix/regexec.c.
82433         Add glibc bug 1217 for regcomp.c.
82434
82435 2005-08-19  Jim Meyering  <jim@meyering.net>
82436
82437         * lib/regexec.c (proceed_next_node): Redo local variables to
82438         avoid GCC shadowing warnings.
82439
82440 2005-08-18  Bruno Haible  <bruno@clisp.org>
82441
82442         * lib/strstr.c (strstr): Fix return value in multibyte case.
82443         * lib/strcasestr.c (strcasestr): Likewise.
82444
82445 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
82446
82447         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
82448
82449 2005-08-17  Jim Meyering  <jim@meyering.net>
82450
82451         Make the %s format (seconds since the epoch) work for a negative
82452         number and when used with a zero-padded field width, e.g. %015s.
82453
82454         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
82455         label so that it precedes the code to set `digits'.  Otherwise,
82456         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
82457         print `00-22'.  Now, it prints `-0022', as it should.
82458
82459 2005-08-17  Bruno Haible  <bruno@clisp.org>
82460
82461         * modules/strstr (Files): Add m4/mbrtowc.m4.
82462         (Depends-on): Add mbuiter.
82463
82464 2005-08-17  Bruno Haible  <bruno@clisp.org>
82465
82466         * modules/strcasestr: New file.
82467         * MODULES.html.sh (String handling, based on ANSI C 89): Add
82468         strcasestr.
82469
82470 2005-08-17  Bruno Haible  <bruno@clisp.org>
82471
82472         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
82473
82474 2005-08-17  Bruno Haible  <bruno@clisp.org>
82475
82476         * modules/mbuiter: New file.
82477         * MODULES.html.sh (Extended multibyte and wide character utilities):
82478         Add mbuiter.
82479
82480 2005-08-17  Bruno Haible  <bruno@clisp.org>
82481
82482         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
82483         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
82484
82485 2005-08-17  Bruno Haible  <bruno@clisp.org>
82486
82487         * m4/strcasestr.m4: New file.
82488
82489 2005-08-17  Bruno Haible  <bruno@clisp.org>
82490
82491         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
82492         * lib/strstr.c: Completely rewritten, with multibyte locale support.
82493
82494 2005-08-17  Bruno Haible  <bruno@clisp.org>
82495
82496         * lib/strcasestr.h: New file.
82497         * lib/strcasestr.c: New file.
82498
82499 2005-08-17  Bruno Haible  <bruno@clisp.org>
82500
82501         * lib/strcasecmp.c: Use mbuiter.h.
82502
82503 2005-08-17  Bruno Haible  <bruno@clisp.org>
82504
82505         * lib/mbuiter.h: New file.
82506
82507 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
82508
82509         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
82510         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
82511         and gl_GETOPT are both invoked via different paths (as happens
82512         with GNU tar CVS because it uses both argp and getopt), the former
82513         wins.
82514
82515 2005-08-16  Bruno Haible  <bruno@clisp.org>
82516
82517         * modules/tls: New file.
82518         * MODULES.html.sh (Multithreading): Add tls.
82519
82520 2005-08-16  Bruno Haible  <bruno@clisp.org>
82521
82522         * modules/strnlen1: New file.
82523         * MODULES.html.sh (String handling): Add strnlen1.
82524
82525 2005-08-16  Bruno Haible  <bruno@clisp.org>
82526
82527         * modules/strcase (Files): Add m4/mbrtowc.m4.
82528         (Depends-on): Add strnlen1, mbchar.
82529
82530 2005-08-16  Bruno Haible  <bruno@clisp.org>
82531
82532         * modules/mbiter: New file.
82533         * MODULES.html.sh (Extended multibyte and wide character utilities):
82534         Add mbiter.
82535
82536 2005-08-16  Bruno Haible  <bruno@clisp.org>
82537
82538         * modules/mbfile: New file.
82539         * MODULES.html.sh (Extended multibyte and wide character utilities):
82540         Add mbfile.
82541
82542 2005-08-16  Bruno Haible  <bruno@clisp.org>
82543
82544         * modules/mbchar: New file.
82545         * MODULES.html.sh (Extended multibyte and wide character utilities):
82546         New section.
82547
82548 2005-08-16  Bruno Haible  <bruno@clisp.org>
82549
82550         * m4/tls.m4: New file, from GNU gettext.
82551
82552 2005-08-16  Bruno Haible  <bruno@clisp.org>
82553
82554         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
82555         always.
82556         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
82557
82558 2005-08-16  Bruno Haible  <bruno@clisp.org>
82559
82560         * m4/mbiter.m4: New file.
82561
82562 2005-08-16  Bruno Haible  <bruno@clisp.org>
82563
82564         * m4/mbfile.m4: New file.
82565
82566 2005-08-16  Bruno Haible  <bruno@clisp.org>
82567
82568         * m4/mbchar.m4: New file.
82569
82570 2005-08-16  Bruno Haible  <bruno@clisp.org>
82571
82572         * lib/tls.h: New file, from GNU gettext.
82573         * lib/tls.c: New file, from GNU gettext.
82574
82575 2005-08-16  Bruno Haible  <bruno@clisp.org>
82576
82577         * lib/strnlen1.h: New file.
82578         * lib/strnlen1.c: New file.
82579
82580 2005-08-16  Bruno Haible  <bruno@clisp.org>
82581
82582         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
82583         (mbi_init): Update.
82584         (mbi_avail, mbi_advance): Let the iteration end before the terminating
82585         NUL byte, not after it.
82586
82587 2005-08-16  Bruno Haible  <bruno@clisp.org>
82588
82589         * lib/strcase.h (strcasecmp): Add note in comments.
82590         * lib/strncasecmp.c: Use code from strcasecmp.c.
82591         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
82592         (strcasecmp): Work correctly in multibyte locales.
82593
82594 2005-08-16  Bruno Haible  <bruno@clisp.org>
82595
82596         * lib/mbiter.h: New file.
82597
82598 2005-08-16  Bruno Haible  <bruno@clisp.org>
82599
82600         * lib/mbfile.h: New file.
82601
82602 2005-08-16  Bruno Haible  <bruno@clisp.org>
82603
82604         * lib/mbchar.h: New file.
82605         * lib/mbchar.c: New file.
82606
82607 2005-08-16  Bruno Haible  <bruno@clisp.org>
82608
82609         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
82610         the valid ones. Makes the comparison operations transitive:
82611         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
82612         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
82613
82614 2005-08-15  Simon Josefsson  <jas@extundo.com>
82615
82616         * modules/ssize_t (License): Change to 'unlimited'.
82617
82618         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
82619
82620 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
82621
82622         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
82623         Add comments for each pending glibc patch.
82624
82625 2005-08-15  Bruno Haible  <bruno@clisp.org>
82626
82627         * lib/regex.h (__restrict_arr): Don't define to __restrict if
82628         __cplusplus is defined.
82629
82630 2005-08-14  Jim Meyering  <jim@meyering.net>
82631
82632         Sync from coreutils.
82633
82634         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
82635         Use the hash-table-based cycle-detection code not just when
82636         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
82637         Reported by James Youngman in
82638         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
82639         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
82640         FTS_TIGHT_CYCLE_CHECK.
82641         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
82642         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
82643         once again.
82644         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
82645         * lib/fts.c (fd_safer): Remove decl.
82646         Include fcntl--.h rather than unistd-safer.h
82647         (fts_safe_changedir): Don't call fd_safer; no longer needed
82648         now that we include fcntl--.h.
82649
82650 2005-08-12  Simon Josefsson  <jas@extundo.com>
82651
82652         * modules/getndelim2: Use ssize_t module.
82653         * modules/getnline: Likewise.
82654         * modules/safe-read: Likewise.
82655         * modules/xreadlink: Likewise.
82656
82657         * modules/ssize_t: New file.
82658
82659 2005-08-12  Simon Josefsson  <jas@extundo.com>
82660
82661         * m4/readline.m4: Look for termcap, curses or ncurses if required.
82662
82663 2005-08-12  Simon Josefsson  <jas@extundo.com>
82664
82665         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
82666         ssize_t.
82667
82668 2005-08-12  Simon Josefsson  <jas@extundo.com>
82669
82670         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
82671         readline, getdelim and check_version.
82672         (Support for systems lacking ISO C 99: Sizes of integer types):
82673         Add size_max.
82674
82675 2005-08-12  Bruno Haible  <bruno@clisp.org>
82676
82677         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
82678
82679 2005-08-11  Simon Josefsson  <jas@extundo.com>
82680
82681         * modules/readline: New file.
82682
82683         * modules/strnlen (Files): Add strnlen.h.
82684
82685 2005-08-11  Simon Josefsson  <jas@extundo.com>
82686
82687         * m4/readline.m4: New file.
82688
82689 2005-08-11  Simon Josefsson  <jas@extundo.com>
82690
82691         * lib/readline.h, readline.c: New file.
82692
82693 2005-08-11  Simon Josefsson  <jas@extundo.com>
82694
82695         * doc/gnulib.texi (Initial import, Finishing touches): Mention
82696         gl_AVOID.
82697
82698 2005-08-11  Bruno Haible  <bruno@clisp.org>
82699
82700         * lib/strnlen.h (strnlen): Change parameter name to match comment.
82701
82702 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
82703
82704         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
82705
82706 2005-08-10  Simon Josefsson  <jas@extundo.com>
82707
82708         * tests/test-iconvme.c: New file.
82709
82710 2005-08-10  Simon Josefsson  <jas@extundo.com>
82711
82712         * m4/strnlen.m4: New file.
82713
82714         * m4/strndup.m4: Don't check for strnlen declaration, done in
82715         strnlen.m4.
82716
82717 2005-08-10  Simon Josefsson  <jas@extundo.com>
82718
82719         * lib/strndup.c: Use strnlen.h.
82720
82721         * lib/strnlen.h: New file.
82722
82723 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
82724
82725         * README: Typos.
82726
82727 2005-08-02  Simon Josefsson  <jas@extundo.com>
82728
82729         * modules/readline: New file.
82730
82731 2005-08-02  Simon Josefsson  <jas@extundo.com>
82732
82733         * modules/getdelim: New file.
82734
82735         * modules/getline: Rewrite, don't use getndelim2.
82736
82737 2005-08-02  Simon Josefsson  <jas@extundo.com>
82738
82739         * m4/getline.m4: Separate out getdelim stuff into separate module.
82740
82741         * m4/getdelim.m4: New file.
82742
82743 2005-08-02  Simon Josefsson  <jas@extundo.com>
82744
82745         * lib/getline.h, getline.c: Rewrite.
82746
82747         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
82748
82749 2005-07-31  Bruno Haible  <bruno@clisp.org>
82750
82751         * lib/lock.h (gl_lock_initializer): New macro.
82752         (gl_lock_define_initialized): Use it.
82753         (gl_rwlock_initializer): New macro.
82754         (gl_rwlock_define_initialized): Use it.
82755         (gl_recursive_lock_initializer): New macro.
82756         (gl_recursive_lock_define_initialized): Use it.
82757
82758 2005-07-30  Karl Berry  <karl@gnu.org>
82759
82760         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
82761         Report from Ben Pfaff, regarding getopt.
82762
82763 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
82764
82765         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
82766         normal way.
82767         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
82768         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
82769         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
82770         (gl_GETOPT): Use the new macros.  Most of the implementation
82771         is moved to the new macros.  This is for programs like Emacs
82772         that don't want all the functionality of gl_GETOPT.
82773
82774 2005-07-26  Bruno Haible  <bruno@clisp.org>
82775
82776         * m4/lock.m4: Update from GNU gettext.
82777
82778 2005-07-26  Bruno Haible  <bruno@clisp.org>
82779
82780         * lib/lock.h: Update from GNU gettext.
82781         * lib/lock.c: Update from GNU gettext.
82782
82783 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
82784
82785         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
82786         obsolescent AC_TRY_RUN.  Include the default includes files, for
82787         'exit'.
82788
82789 2005-07-24  Bruno Haible  <bruno@clisp.org>
82790
82791         * modules/visibility: New file.
82792         * MODULES.html.sh (Misc): Add visibility.
82793
82794 2005-07-24  Bruno Haible  <bruno@clisp.org>
82795
82796         * m4/visibility.m4: New file.
82797
82798 2005-07-24  Bruno Haible  <bruno@clisp.org>
82799
82800         * doc/visibility.texi: New file.
82801
82802 2005-07-22  Bruno Haible  <bruno@clisp.org>
82803
82804         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
82805         $(ALLOCA_H), redundant through BUILT_SOURCES.
82806         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
82807         redundant through BUILT_SOURCES.
82808         * modules/byteswap (Makefile.am): Remove explicit dependency on
82809         $(BYTESWAP_H), redundant through BUILT_SOURCES.
82810         * modules/fnmatch (Makefile.am): Remove explicit dependency on
82811         $(FNMATCH_H), redundant through BUILT_SOURCES.
82812         * modules/getopt (Makefile.am): Remove explicit dependency on
82813         $(GETOPT_H), redundant through BUILT_SOURCES.
82814         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
82815         redundant through BUILT_SOURCES.
82816         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
82817         redundant through BUILT_SOURCES.
82818         * modules/stdbool (Makefile.am): Remove explicit dependency on
82819         $(STDBOOL_H), redundant through BUILT_SOURCES.
82820         * modules/stdint (Makefile.am): Remove explicit dependency on
82821         $(STDINT_H), redundant through BUILT_SOURCES.
82822         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
82823         Remove explicit dependency on $(SYSEXITS_H).
82824         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
82825
82826 2005-07-18  Simon Josefsson  <jas@extundo.com>
82827
82828         * lib/check-version.c (check_version): Accept identical versions too.
82829
82830 2005-07-18  Bruno Haible  <bruno@clisp.org>
82831
82832         * modules/lock: New file.
82833         * MODULES.html.sh (Multithreading): New section.
82834
82835 2005-07-18  Bruno Haible  <bruno@clisp.org>
82836
82837         * m4/lock.m4: New file, from GNU gettext.
82838
82839 2005-07-18  Bruno Haible  <bruno@clisp.org>
82840
82841         * lib/lock.h: New file, from GNU gettext.
82842         * lib/lock.c: New file, from GNU gettext.
82843
82844 2005-07-18  Bruno Haible  <bruno@clisp.org>
82845
82846         * lib/lock.h (gl_once_t): New type.
82847         (gl_once_define, gl_once): New macros.
82848         * lib/lock.c (fresh_once): New variable.
82849         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
82850         functions.
82851
82852 2005-07-16  Simon Josefsson  <jas@extundo.com>
82853
82854         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
82855         workaround, suggested by Bruno.
82856
82857 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
82858
82859         * modules/xalloc (Depends-on): Add xalloc-die.
82860         * modules/xvasprintf (Depends-on): Add xalloc-die.
82861
82862 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
82863
82864         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
82865         with a minor change.
82866
82867 2005-07-15  Bruno Haible  <bruno@clisp.org>
82868
82869         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
82870         When using lib/poll.c, define poll as rpl_poll.
82871
82872 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
82873
82874         * modules/argp (Depends-on): Remove unlocked-io.
82875
82876 2005-07-14  Derek Price  <derek@ximbiot.com>
82877
82878         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
82879         for glob symlink bug.
82880
82881 2005-07-14  Bruno Haible  <bruno@clisp.org>
82882
82883         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
82884         Instead, test for *_unlocked function declarations directly.
82885
82886 2005-07-11  Simon Josefsson  <jas@extundo.com>
82887
82888         * modules/size_max: New file.
82889
82890         * modules/xsize: Depend on size_max module for size_max.m4.
82891
82892 2005-07-11  Simon Josefsson  <jas@extundo.com>
82893
82894         * lib/size_max.h: New file.
82895
82896 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
82897
82898         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
82899         copyright symbol and the year.
82900         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
82901         (version_etc_va): Use parameterized copyright notice.
82902         Reword to conform to the current GNU coding standards.
82903
82904 2005-07-11  Karl Berry  <karl@gnu.org>
82905
82906         * doc/gnulib.texi (Quoting): new node.
82907         (Initial import): more info, from Patrice.
82908
82909 2005-07-11  Bruno Haible  <bruno@clisp.org>
82910
82911         * gnulib-tool (func_usage): Document option --avoid.
82912         (Command line options): Handle --avoid.
82913         (func_acceptable): New function.
82914         (func_modules_transitive_closure): Use it.
82915
82916 2005-07-11  Bruno Haible  <bruno@clisp.org>
82917
82918         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
82919         Reported by Jim Meyering.
82920
82921 2005-07-10  Bruno Haible  <bruno@clisp.org>
82922
82923         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
82924         Needed when size_t is smaller than 'unsigned int'.
82925         Reported by Paul Eggert.
82926
82927 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
82928
82929         * modules/argp (Depends-on): Add unlocked-io
82930
82931 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
82932
82933         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
82934         block of defines.
82935
82936 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
82937
82938         * config/srclist.txt: Comment out regcomp.c, since we have a porting
82939         fix now.
82940
82941 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
82942         and Paul Eggert  <eggert@cs.ucla.edu>
82943
82944         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
82945         in wint_t, not wchar_t.  Remove now-unnecessary cast.
82946
82947 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
82948
82949         * modules/regex (Files): Add lib/regex_internal.c,
82950         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
82951         (Depends-on): Add extensions.
82952         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
82953
82954 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
82955
82956         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
82957         pathconf.
82958         * m4/same.m4 (gl_SAME): Likewise.
82959         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
82960
82961         * m4/regex.m4: Adjust to new libc regex implementation.
82962         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
82963         all the .c and .h parts of (the new) regex.
82964         Quote the m4 stuff better.
82965         Check for RE_ICASE bug of old gnulib.
82966         Check for REG_STARTEND of recent libc.
82967         Rename local variables from jm_* to gl_*.
82968         Quote operand of "test -f".
82969         Say "recent enough" version of libc, not "version 2".
82970         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
82971         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
82972         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
82973         Remove check for btowc, isascii.
82974         Require AM_LANGINFO_CODESET.
82975
82976 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
82977
82978         * lib/regex.c, regex.h: Sync from libc.
82979         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
82980         * lib/regexec.c:
82981         New files, synced from libc, except that regex_internal.h
82982         currently has a small porting fix.
82983
82984 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
82985
82986         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
82987         regex_internal.c, regexec.c.
82988         Add regex_internal.h too, but as a comment, since the libc version
82989         is currently broken in gnulib mode.
82990
82991 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
82992
82993         Support programs like Emacs that use gnulib but not gettext.
82994         * MODULES.html.sh (Internationalization functions): Add gettext-h.
82995         * modules/gettext-h: New file.
82996         * modules/gettext (Files): Remove lib/gettext.h.
82997         (Depends-on): Add gettext-h.
82998         (Makefile.am): Remove lib_SOURCES.
82999         * modules/argmatch, modules/c-stack, modules/closeout:
83000         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
83001         * modules/execute, modules/file-type, modules/getaddrinfo:
83002         * modules/getopt, modules/human, modules/javacomp:
83003         * modules/javaexec, modules/mkdir-p, modules/obstack:
83004         * modules/openat, modules/pagealign_alloc, modules/pipe:
83005         * modules/quotearg, modules/regex, modules/rpmatch:
83006         * modules/unicodeio, modules/userspec, modules/version-etc:
83007         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
83008         * modules/xsetenv:
83009         Depend on gettext-h, not gettext.
83010
83011 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
83012
83013         * gnulib-tool (func_import): Add support for 'public domain' license.
83014         * modules/alloca, modules/atexit, modules/memmove:
83015         Now public domain, not GPL.
83016         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
83017         * modules/realloc, modules/strerror, modules/strtod:
83018         Now LGPL, not GPL.
83019
83020 2005-07-05  Bruno Haible  <bruno@clisp.org>
83021
83022         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
83023         autoconf CVS. Needed for mingw.
83024
83025 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
83026
83027         Remove the dependency of the strftime module on the tzset module.
83028         * modules/strftime (Depends-on): Remove dependency on tzset.
83029
83030 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
83031
83032         Remove the dependency of the strftime module on the tzset module.
83033         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
83034         gl_FUNC_TZSET_CLOBBER.
83035
83036 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
83037
83038         Remove the dependency of the strftime module on the tzset module.
83039         * lib/strftime.c (my_strftime)
83040         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
83041         Copy the input structure, to work around some of the bug with
83042         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
83043         Solaris releases, you should also use the tzset module, but we won't
83044         require it as a dependency any more since we don't want LGPLed code
83045         to depend on GPLed code.
83046
83047 2005-07-02  Jim Meyering  <jim@meyering.net>
83048
83049         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
83050         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
83051         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
83052         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
83053
83054 2005-07-02  Jim Meyering  <jim@meyering.net>
83055
83056         * lib/backupfile.c (backup_args): Change a `0' to NULL.
83057
83058 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
83059
83060         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
83061         declares only 'struct timespec;' (!).
83062
83063 2005-07-01  Jim Meyering  <jim@meyering.net>
83064
83065         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
83066         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
83067         * lib/save-cwd.c, tempname.c:
83068         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
83069         and don't include <sys/file.h>).
83070
83071 2005-06-29  Jim Meyering  <jim@meyering.net>
83072
83073         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
83074         type name.  Use the variable name instead.
83075         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
83076         Likewise.
83077
83078 2005-06-28  Simon Josefsson  <jas@extundo.com>
83079
83080         * modules/check-version (Files): Add check-version.m4.
83081
83082 2005-06-28  Simon Josefsson  <jas@extundo.com>
83083
83084         * m4/check-version.m4: New file, suggested by Jim Meyering
83085         <jim@meyering.net>.
83086
83087 2005-06-28  Simon Josefsson  <jas@extundo.com>
83088
83089         * lib/check-version.h, lib/check-version.c: New files.
83090
83091 2005-06-28  Simon Josefsson  <jas@extundo.com>
83092
83093         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
83094         collision with global variable.  Better indentation.  Don't
83095         increment buffer pointer beyond buffer end.  Based on comments
83096         from Paul Eggert <eggert@cs.ucla.edu>.
83097
83098         * lib/base64.h: Indent.
83099
83100 2005-06-28  Simon Josefsson  <jas@extundo.com>
83101
83102         * doc/gnulib.texi (Library version handling): New section.
83103
83104 2005-06-28  Jim Meyering  <jim@meyering.net>
83105
83106         * check-module (find_included_lib_files): Hard-code another
83107         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
83108         but modules/fts-lgpl (correctly) does not list those files.
83109
83110         * modules/canonicalize (Files): Add lib/pathmax.h.
83111
83112 2005-06-25  Simon Josefsson  <jas@extundo.com>
83113
83114         * modules/check-version: New file.
83115
83116 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
83117
83118         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
83119         initializer of struct addrinfo, as an indication that we don't
83120         care how many members the structure has.
83121
83122 2005-06-24  Derek Price  <derek@ximbiot.com>
83123         and Bruno Haible  <bruno@clisp.org>
83124
83125         Remove stat module & update lstat.
83126         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
83127         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
83128         * m4/stat.m4: Remove this file.
83129
83130 2005-06-24  Derek Price  <derek@ximbiot.com>
83131         and Bruno Haible  <bruno@clisp.org>
83132
83133         Remove stat module & update lstat.
83134         * lib/stat.c: Remove this file...
83135         (slash_aware_lstat): ...moving this content and its support...
83136         * lib/lstat.c (rpl_lstat): ...into here.
83137         * lib/lstat.h: New file.
83138
83139 2005-06-24  Derek Price  <derek@ximbiot.com>
83140         and Bruno Haible  <bruno@clisp.org>
83141
83142         Remove stat module & update lstat.
83143         * config/srclist.txt (libc sources): Remove stat.
83144
83145 2005-06-24  Derek Price  <derek@ximbiot.com>
83146         and Bruno Haible  <bruno@clisp.org>
83147
83148         Remove stat module & update lstat.
83149         * MODULES.html.sh (stat): Remove.
83150         * MODULES.html: Regenerated.
83151         * modules/lstat (Description): Correct function name.
83152         (Files): Add "lstat.h".
83153         (Depends-on): Remove stat, add xalloc, stat-macros.
83154         * modules/stat: Remove this file.
83155         (Include): Add "lstat.h", remove <sys/stat.h>.
83156
83157 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
83158
83159         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
83160         (ranged_convert): Don't save conversion in a temporary struct.
83161         This causes a warning with GCC 4.0.0, and anyway in the typical
83162         case it's not worth the extra 100 bytes or so of code.
83163         (ranged_convert, __mktime_internal): When calling a function via a
83164         pointer P, use P () rather than (*P) (), as we now assume C89 or
83165         better.
83166
83167 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
83168
83169         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
83170         "who -r" failed to give output.  Problem reported by Tim Waugh.
83171
83172         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
83173         (xcalloc): Use it to avoid needless tests.
83174         Problem reported by Jim Meyering.
83175
83176 2005-06-20  Derek Price  <derek@ximbiot.com>
83177
83178         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
83179         unnecessary for Autoconfs > 2.59c.
83180
83181 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83182
83183         * lib/argp.h (__option_is_short): Check upper limit of
83184         __key. Isprint() requires its argument to have the value
83185         of an unsigned char or EOF.
83186
83187 2005-06-16  Jim Meyering  <jim@meyering.net>
83188
83189         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
83190         when either N or S is zero.
83191
83192 2005-06-16  Derek Price  <derek@ximbiot.com>
83193
83194         * m4/bison.m4: Declare YACC & YFLAGS precious.
83195
83196 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
83197
83198         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
83199         multibyte string or pattern, fall back on unibyte matching.
83200         Problem reported by James Youngman.
83201
83202 2005-06-08  Bruno Haible  <bruno@clisp.org>
83203
83204         * modules/csharpcomp: New file.
83205         * MODULES.html.sh (C#): Add csharpcomp.
83206
83207 2005-06-08  Bruno Haible  <bruno@clisp.org>
83208
83209         * m4/csharpcomp.m4: New file, from GNU gettext.
83210
83211 2005-06-08  Bruno Haible  <bruno@clisp.org>
83212
83213         * lib/csharpcomp.h: New file, from GNU gettext.
83214         * lib/csharpcomp.c: New file, from GNU gettext.
83215         * lib/csharpcomp.sh.in: New file, from GNU gettext.
83216
83217 2005-06-08  Bruno Haible  <bruno@clisp.org>
83218
83219         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
83220         warning on mingw.
83221
83222 2005-06-07  Derek Price  <derek@ximbiot.com>
83223
83224         Sync from CVS.
83225         * lib/glob_.h: Indent nested #ifdef.
83226
83227 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
83228
83229         Sync from coreutils.
83230         Use "file name" when talking about file names, instead of "filename"
83231         or "path", as per the GNU coding standards.
83232         * lib/mkdir-p.c: Renamed from makepath.c.
83233         (make_dir_parents): Renamed from make_path.  All callers changed.
83234         * lib/mkdir-p.h: Likewise.  All includers changed.
83235         * lib/filenamecat.c: Renamed from path-concat.c.
83236         (file_name_concat): Renamed from path_concat.  All callers changed.
83237         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
83238         * lib/filenamecat.h: Likewise.  All includers changed.
83239         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
83240         in comments or local variable names.
83241         * lib/basename.c: Likewise.
83242         * lib/canonicalize.c, canonicalize.h: Likewise.
83243         * lib/dirname.c, dirname.h: Likewise.
83244         * lib/euidaccess.c: Likewise.
83245         * lib/exclude.c: Likewise
83246         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
83247         * lib/fsusage.c, fsuage.h: Likewise.
83248         * lib/fts.c, fts_.h: Likewise.
83249         * lib/getcwd.c: Likewise.
83250         * lib/getloadavg.c: Likewise.
83251         * lib/mkstemp.c: Likewise.
83252         * lib/mountlist.c, mountlist.h: Likewise.
83253         * lib/openat.c, openat.h: Likewise.
83254         * lib/readlink-stub.c: Likewise.
83255         * lib/readutmp.c, readutmp.h: Likewise.
83256         * lib/rename.c: Likewise.
83257         * lib/rmdir.c: Likewise.
83258         * lib/same.c: Likewise.
83259         * lib/savedir.c: Likewise.
83260         * lib/stripslash.c: Likewise.
83261         * lib/tempname.c: Likewise.
83262         * lib/xreadlink.c: Likewise.
83263         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
83264         All uses changed.
83265         * lib/exclude.h: Likewise.
83266
83267         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
83268         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
83269         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
83270         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
83271         * lib/pathmax.h: Include <limits.h> unconditionally, since other
83272         files have been getting away with it for years (MORE/BSD 4.3
83273         is extinct now).
83274         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
83275         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
83276
83277         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
83278         Define to 256, not 255, as per modern POSIX.
83279
83280 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
83281
83282         Sync from coreutils.
83283         Use "file name" when talking about file names, instead of "filename"
83284         or "path", as per the GNU coding standards.
83285         * MODULES.html.sh: mkdir-p renamed from makepath.
83286         filenamecat renamed from path-concat.
83287         * modules/filenamecat: Renamed from modules/path-concat.
83288         (Files): filenamecat.h and filenamecat.c renamed from
83289         path-concat.h and path-concat.c.
83290         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
83291         (Include): filenamecat.h, not path-concat.h.
83292         * modules/mkdir-p: Renamed from modules/makepath.
83293         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
83294         makepath.c.
83295         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
83296         (Include): mkdir-p.h, not makepath.h.
83297
83298 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
83299
83300         Sync from coreutils.
83301         * m4/mkdir-p.m4: Renamed from makepath.m4.
83302         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
83303         Rename files from makepath.c to mkdir-p.c, and from
83304         makepath.h to mkdir-p.h.
83305         * m4/filenamecat.m4: Renamed from path-concat.m4.
83306         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
83307         Rename files from path-concat.c to filenamecat.c,
83308         and from path-concat.h to filenamecat.h.
83309         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
83310         "file name" in local variables or comments.
83311         * m4/rename.m4: Likewise.
83312
83313 2005-06-01  Bruno Haible  <bruno@clisp.org>
83314
83315         * modules/csharpexec: New file.
83316         * MODULES.html.sh (C#): New section.
83317
83318 2005-06-01  Bruno Haible  <bruno@clisp.org>
83319
83320         * m4/csharp.m4: New file, from GNU gettext.
83321         * m4/csharpexec.m4: New file, from GNU gettext.
83322
83323 2005-06-01  Bruno Haible  <bruno@clisp.org>
83324
83325         * lib/csharpexec.h: New file, from GNU gettext.
83326         * lib/csharpexec.c: New file, from GNU gettext.
83327         * lib/csharpexec.sh.in: New file, from GNU gettext.
83328
83329 2005-05-31  Derek Price  <derek@ximbiot.com>
83330             Paul Eggert  <eggert@cs.ucla.edu>
83331
83332         Sync from cvs.
83333         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
83334
83335 2005-05-31  Derek Price  <derek@ximbiot.com>
83336             Paul Eggert  <eggert@cs.ucla.edu>
83337
83338         Sync from cvs.
83339         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
83340
83341 2005-05-29  Derek Price  <derek@ximbiot.com>
83342
83343         * config/srclist.txt (glob_.h, glob.c): Add these files.
83344
83345 2005-05-29  Derek Price  <derek@ximbiot.com>
83346
83347         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
83348         * modules/glob: New file.
83349         * modules/getlogin_r: Add link to POSIX spec in description.
83350
83351 2005-05-29  Derek Price  <derek@ximbiot.com>
83352             Paul Eggert  <eggert@cs.ucla.edu>
83353
83354         * m4/glob.m4: New file.
83355
83356 2005-05-29  Derek Price  <derek@ximbiot.com>
83357             Paul Eggert  <eggert@cs.ucla.edu>
83358
83359         * lib/glob_.h, lib/glob.c: New files.
83360
83361 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
83362
83363         * modules/fts (Files): Remove m4/inttypes-pri.m4.
83364         * modules/fts-lgpl (Depends-on): Remove gettext.
83365
83366 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
83367
83368         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
83369         and don't require gt_INTTYPES_PRI.
83370
83371 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
83372
83373         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
83374
83375         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
83376         the configuration hassle isn't worth it.
83377         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
83378         (LONGEST_MODIFIER, PRIuMAX): Remove.
83379
83380 2005-05-27  Bruno Haible  <bruno@clisp.org>
83381
83382         * lib/getlogin_r.h: Remove second include of <stddef.h>.
83383
83384 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
83385
83386         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
83387         _POSIX_PTHREAD_SEMANTICS for Solaris.
83388
83389 2005-05-25  Derek Price  <derek@ximbiot.com>
83390
83391         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
83392
83393 2005-05-25  Derek Price  <derek@ximbiot.com>
83394             Paul Eggert  <eggert@cs.ucla.edu>
83395
83396         * modules/getlogin_r, m4/getlogin_r.m4: New files.
83397         * lib/getlogin_r.c, getlogin_r.h: New files.
83398
83399 2005-05-25  Bruno Haible  <bruno@clisp.org>
83400             Derek Price  <derek@ximbiot.com>
83401
83402         * lib/getlogin_r.h: Simplify API documentation.
83403
83404 2005-05-23  Derek Price  <derek@ximbiot.com>
83405
83406         * modules/minmax (Files): Add m4/minmax.m4.
83407         (configure.ac): Add gl_MINMAX.
83408
83409 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
83410
83411         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
83412         so that unistd-safer.h (GPL'ed code) need not be included.
83413
83414 2005-05-22  Bruno Haible  <bruno@clisp.org>
83415
83416         * m4/minmax.m4: New file.
83417         Based on a patch by Derek Price <derek@ximbiot.com>.
83418
83419 2005-05-22  Bruno Haible  <bruno@clisp.org>
83420
83421         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
83422         (INT64_MIN): Fix definition.
83423         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
83424
83425         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
83426         NEED_SIGNED_INT_TYPES.
83427
83428         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
83429         HAVE_SYSTEM_INTTYPES.
83430
83431 2005-05-22  Bruno Haible  <bruno@clisp.org>
83432
83433         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
83434         Also include <sys/param.h> if it defines MIN, MAX.
83435         Based on a patch by Derek Price <derek@ximbiot.com>.
83436
83437 2005-05-21  Jim Meyering  <jim@meyering.net>
83438
83439         * modules/fts (Files): Add m4/inttypes-pri.m4.
83440         (Depends-on): Add lstat and remove gettext.  Alphabetize.
83441
83442 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
83443
83444         New fts module.
83445         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
83446         (setup_dir, free_dir): New functions.
83447         (enter_dir, leave_dir): Define trivial
83448         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
83449         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
83450         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
83451         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
83452         Move to fts-cycle.c.
83453         (fts_open): Use setup_dir.
83454         (fts_close): Use free_dir.
83455         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
83456         This adds a label and some gotos, but the alternatives were messier.
83457         Check for memory allocation failure when entering a dir.
83458         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
83459         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
83460         (FTS): New member fts_cycle, that is a union that contains the
83461         old active_dir_ht and cycle_state.  All uses changed to mention
83462         fts_cycle.ht and fts_cycle.state.
83463         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
83464         fts.c, with the following changes:
83465         (setup_dir, free_dir): New functions.
83466         (enter_dir): Now returns bool.  Return true if successful, false
83467         if memory exhausted.  All callers changed.
83468         Do not bother partly cleaning up on
83469         memory allocation failure; that is free_dir's job.
83470         However, free ad if hash_insert fails, to avoid memory leak.
83471         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
83472         fts->fts_options to see which union member to use.
83473
83474 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
83475
83476         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
83477         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
83478
83479 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
83480
83481         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
83482
83483 2005-05-20  Jim Meyering  <jim@meyering.net>
83484
83485         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
83486         Now a macro, to pacify GCC.
83487
83488 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
83489
83490         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
83491         of -1.
83492
83493 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
83494
83495         * lib/chown.c (rpl_chown): Return -1 on failure.
83496
83497 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
83498
83499         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
83500         Don't check for stddef.h.
83501         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
83502         don't use its results.
83503         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
83504         since we include them unconditionally.  Don't require
83505         AM_STDBOOL_H, since stdbool is a prerequisite.
83506         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
83507         since we assume C89 or better.
83508         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
83509         as we don't use their results.
83510         Don't check for fchdir, memmove, memset, strrchr, as we use
83511         them unconditionally.
83512         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
83513         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
83514
83515 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
83516
83517         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
83518         Include <stddef.h> unconditionally, since we assume C89 now.
83519         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
83520         * lib/fts.c: Include fts_.h first, to check interface.
83521         Do not include intprops.h; no longer needed.
83522         Include cycle-check.h and hash.h, since fts_.h no longer does.
83523         Remove unnecessary casts of closedir to void.
83524         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
83525         decide whether to decrement nlinks.
83526         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
83527         (FTS): Use struct hash_table * instead of Hash_table, so that
83528         we no longer need to include hash.h here.
83529
83530 2005-05-18  Jim Meyering  <jim@meyering.net>
83531
83532         * modules/dirfd (License): Change to LGPL.  Most of the code
83533         is already in the public domain.
83534
83535 2005-05-18  Jim Meyering  <jim@meyering.net>
83536
83537         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
83538         Reported by Yoann Vandoorselaere.
83539
83540 2005-05-17  Jim Meyering  <jim@meyering.net>
83541
83542         * m4/fts.m4: New file, from coreutils.
83543
83544 2005-05-17  Jim Meyering  <jim@meyering.net>
83545
83546         * lib/fts.c, lib/fts_.h: New files, from coreutils.
83547
83548 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
83549
83550         Sync from coreutils.
83551         * m4/unlinkdir.m4: New file.
83552
83553 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
83554
83555         Sync from coreutils.
83556         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
83557         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
83558         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
83559         White space changes only.
83560         * lib/makepath.c (make_path): Port to hosts where leading "//" is
83561         special.
83562         * lib/yesno.c: Include getline.h, not ctype.h.
83563         (yesno): Don't remove leading white space; POSIX doesn't allow it.
83564         Use getline to remove arbitrary restriction on response length.
83565
83566 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
83567
83568         * config/srclist-update: Spell out "Street" in FSF postal
83569         mail address; this is the style the FSF seems to prefer.
83570
83571         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
83572         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
83573         this updates FSF postal mail address.
83574
83575         Sync from coreutils.
83576         * modules/unlinkdir: New file.
83577         * modules/yesno (Depends-on): Add getline.
83578         * MODULES.html.sh (File system functions): Add unlinkdir.
83579
83580 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
83581
83582         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
83583         lib/strsep.h:
83584         Change the initial comment to refer to GPL, not LGPL.
83585         gnulib-tool will change it to LGPL as needed.
83586
83587         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
83588         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
83589         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
83590         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
83591         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
83592         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
83593         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
83594         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
83595         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
83596         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
83597         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
83598         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
83599         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
83600         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
83601         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
83602         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
83603         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
83604         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
83605         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
83606         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
83607         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
83608         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
83609         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
83610         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
83611         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
83612         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
83613         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
83614         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
83615         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
83616         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
83617         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
83618         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
83619         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
83620         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
83621         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
83622         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
83623         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
83624         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
83625         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
83626         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
83627         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
83628         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
83629         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
83630         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
83631         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
83632         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
83633         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
83634         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
83635         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
83636         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
83637         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
83638         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
83639         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
83640         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
83641         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
83642         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
83643         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
83644         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
83645         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
83646         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
83647         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
83648         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
83649         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
83650         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
83651         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
83652         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
83653         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
83654         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
83655         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
83656         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
83657         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
83658         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
83659         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
83660         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
83661         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
83662         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
83663         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
83664         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
83665         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
83666         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
83667         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
83668         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
83669         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
83670         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
83671         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
83672         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
83673         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
83674         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
83675         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
83676         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
83677         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
83678         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
83679         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
83680         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
83681         lib/yesno.c, lib/yesno.h:
83682         Update FSF postal mail address.
83683
83684 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
83685
83686         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
83687         tests/test-memmem.c, tests/test-stpncpy.c:
83688         Update FSF postal mail address.
83689
83690 2005-05-13  Bruno Haible  <bruno@clisp.org>
83691
83692         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
83693         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
83694         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
83695         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
83696         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
83697         Add support for 64-bit integers in the MSVC compiler.
83698
83699 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83700
83701         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
83702
83703 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
83704
83705         * gnulib-tool (func_import): Sort and uniquify recommended includes.
83706
83707 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
83708
83709         * doc/getdate.texi (General date syntax): Don't say that date
83710         date --iso-8601=ns generates acceptable dates; it doesn't yet.
83711         Problem reported by Nic Ferrier.
83712
83713 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
83714
83715         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
83716         specified in ai_socktype. Fix invalid ai_protocol
83717         check. ai_protocol is usually set to 0 or depending on
83718         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
83719         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
83720         ai_socktype / ai_protocol in the returned addrinfo structure.
83721
83722 2005-05-10  Simon Josefsson  <jas@extundo.com>
83723
83724         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
83725         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
83726
83727 2005-05-10  Karl Berry  <karl@gnu.org>
83728
83729         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
83730         (from http://www.gnu.org/licenses).
83731         * doc/COPYING.LIB: also rename to COPYING.LESSER.
83732         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
83733         fdl.texi suffices.
83734
83735 2005-05-10  Karl Berry  <karl@gnu.org>
83736
83737         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
83738         (COPYING.DOC): remove.
83739
83740         * config/srclist-update: new FSF address.
83741
83742 2005-05-10  Derek Price  <derek@ximbiot.com>
83743
83744         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
83745         possible.
83746
83747 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
83748             Bruno Haible  <bruno@clisp.org>
83749
83750         * modules/inet_ntop: New file.
83751         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
83752         inet_ntop.
83753
83754 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
83755             Bruno Haible  <bruno@clisp.org>
83756
83757         * m4/inet_ntop.m4: New file.
83758
83759 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
83760             Bruno Haible  <bruno@clisp.org>
83761
83762         * lib/inet_ntop.h: New file.
83763         * lib/inet_ntop.c: New file, from glibc with modifications.
83764
83765 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
83766
83767         * modules/time_r (License): Change to LGPL.
83768         * modules/extensions (License): Change to LGPL.  Actually,
83769         the license is more permissive than that, but currently gnulib-tool
83770         doesn't know how to handle more-permissive licenses.
83771
83772         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
83773         Problem reported by Dave Love.
83774
83775 2005-05-08  Jim Meyering  <jim@meyering.net>
83776
83777         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
83778         blank.
83779
83780 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
83781
83782         * modules/argmatch (Depends-on): Add stdbool.
83783         * modules/backupfile (Depends-on): Likewise.
83784         * modules/chdir-long (Depends-on): Likewise.
83785         * modules/closeout (Depends-on): Likewise.
83786         * modules/cycle-check (Depends-on): Likewise.
83787         * modules/dirname (Depends-on): Likewise.
83788         * modules/fnmatch (Depends-on): Likewise.
83789         * modules/fsusage (Depends-on): Likewise.
83790         * modules/fwriteerror (Depends-on): Likewise.
83791         * modules/getcwd (Depends-on): Likewise.
83792         * modules/getloadavg (Depends-on): Likewise.
83793         * modules/hard-locale (Depends-on): Likewise.
83794         * modules/makepath (Depends-on): Likewise.
83795         * modules/mountlist (Depends-on): Likewise.
83796         * modules/nanosleep (Depends-on): Likewise.
83797         * modules/posixtm (Depends-on): Likewise.
83798         * modules/quotearg (Depends-on): Likewise.
83799         * modules/readtokens (Depends-on): Likewise.
83800         * modules/readtokens0 (Depends-on): Likewise.
83801         * modules/readutmp (Depends-on): Likewise.
83802         * modules/save-cwd (Depends-on): Likewise.
83803         * modules/strftime (Depends-on): Likewise.
83804         * modules/userspec (Depends-on): Likewise.
83805         * modules/utimecmp (Depends-on): Likewise.
83806         * modules/xgetcwd (Depends-on): Likewise.
83807         * modules/xnanosleep (Depends-on): Likewise.
83808         * modules/xstrtod (Depends-on): Likewise.
83809         * modules/yesno (Depends-on): Likewise.
83810
83811 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
83812
83813         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
83814         needless checks.
83815
83816 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
83817
83818         Merge from coreutils.  Among other things,
83819         add bulletproofing for cases where stdin, stdout, or stderr are closed.
83820         * lib/fd-safer.c: New file.
83821         * lib/fcntl-safer.h, open-safer.c: Remove.
83822         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
83823         * lib/dup-safer.c: Include unistd-safer.h first.
83824         Don't include errno.h.
83825         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
83826         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
83827         * lib/file-type.c: Rely on file-type.h change.
83828         * lib/getloadavg.c: Include unistd-safer.h.
83829         (getloadavg): Use safer open.
83830         * lib/getusershell.c: Include "stdio-safer.h".
83831         (getusershell): Use safer fopen.
83832         * lib/long-options.c (long_options): Use NULL rather than 0.
83833         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
83834         'free'.
83835         * lib/modechange.c: Likewise.
83836         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
83837         (MODE_DONE): New constant.
83838         (struct mode_change): Remove 'next' member.
83839         (make_node_op_equals): New function; like the old one of the
83840         same name, except it allocates an array.
83841         (mode_compile, mode_create_from_ref): Use it.
83842         (mode_compile): Allocate result as an array, not a linked list.
83843         Parse octal string ourself, so that we catch mistakes like "+0".
83844         (mode_adjust): Arg is an array, not a linked list.
83845         * lib/modechange.c: Include stat-macros.h, xalloc.h.
83846         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
83847         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
83848         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
83849         Remove.  This is now stat-macros.h's job.
83850         (talloc): Remove.  All callers replaced by xalloc, so that
83851         our invokers don't have to worry about reporting memory failures.
83852         (make_node_op_equals): Remove.
83853         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
83854         New constants.
83855         (struct mode_change): Moved here from modechange.h.
83856         (mode_append_entry): Remove.
83857         (mode_compile): Remove MASKED_OPS arg, since it encouraged
83858         apps to have incorrect behavior.  Use simpler algorithm for head
83859         and tail.  Don't futz with umask; that's now the job of mode_adjust.
83860         Detect more invalid usages rather than having somewhat-random behavior.
83861         Don't insert an "a=" action, as that leads to incorrect behavior.
83862         (mode_compile, mode_create_from_ref): Return NULL on error instead
83863         of an enum, since now there's only one way to have an error.  All
83864         callers changed.
83865         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
83866         at the correct time.  Simplify calculation of "+u" and its ilk.
83867         Don't mishandle "+X".
83868         (mode_free): Remove "register" and localize decls.
83869         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
83870         (struct mode_change): Move to modechange.c; callers don't
83871         need to see this stuff.
83872         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
83873         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
83874         (mode_change, mode_adjust): Reflect the new signatures noted above.
83875         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
83876         that might redefine system include files.
83877         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
83878         (my_usleep): Use NULL rather than (void *) 0.
83879         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
83880         Use siginterrupt to specify that system calls should be interrupted.
83881         (rpl_nanosleep): Move initialization of suspended closer to call of
83882         my_usleep.
83883         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
83884         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
83885         (desirable_utmp_entry): New function.
83886         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
83887         using x2nrealloc, to simplify logic.
83888         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
83889         size calculation.  Do not assume utmp file is a regular file.
83890         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
83891         (READ_UTMP_CHECK_PIDS): New constant.
83892         * lib/save-cwd.c: Include unistd-safer.h.
83893         (save_cwd): Use fd_safer.
83894         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
83895         [!_LIBC] Include "stat-macros.h" instead.
83896         * lib/unistd-safer.h (fd_safer): New decl.
83897
83898 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
83899
83900         * modules/getloadavg (Depends-on): Add unistd-safer.
83901         * modules/getusershell (Depends-on): Add stdio-safer.
83902         * modules/lstat (Depends-on): Remove xalloc.
83903         * modules/mkstemp (Depends-on): Add stat-macros.
83904         * modules/modechange (Depends-on): Remove xstrtol.
83905         Add stat-macros, xalloc.
83906         * modules/save-cwd (Depends-on): Add unistd-safer.
83907         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
83908         * modules/unistd-safer (Files): Add lib/fd-safer.c
83909         (Makefile.am): Remove lib_SOURCES.
83910
83911         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
83912         Remove fcntl-safer; unistd-safer supersedes it.
83913
83914 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
83915
83916         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
83917         AC_HEADER_STAT.
83918         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
83919         (gl_PREREQ_CHOWN): Remove.
83920         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
83921         it.  Don't require AC_HEADER_STAT.
83922         (gl_PREREQ_LSTAT): Remove.
83923         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
83924         Don't require AC_HEADER_STAT.
83925         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
83926         (gl_PREREQ_RMDIR): Remove.
83927         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
83928         mention stat-macros.h or AC_HEADER_STAT, since we'll make
83929         the stat-macros module a prerequisite.
83930         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
83931         * m4/filemode.m4 (gl_FILEMODE): Likewise.
83932         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
83933         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
83934         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
83935         variable names.
83936         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
83937         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
83938         variable prefixes.
83939         * m4/fcntl-safer.m4: Remove.
83940         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
83941         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
83942         Invoke gl_PREREQ_FD_SAFER.
83943         (gl_PREREQ_FD_SAFER): New macro.
83944         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
83945         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
83946         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
83947         Remove duplicate call to AC_LIBOBJ(readutmp).
83948         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
83949
83950         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
83951         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
83952
83953 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
83954
83955         * MODULES.html.sh (Misc): Add byteswap.
83956
83957 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
83958
83959         * modules/getcwd (Depends-on): Add extensions.
83960         * modules/openat (Depends-on): Likewise.
83961
83962 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
83963
83964         * modules/byteswap: New file.
83965
83966 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
83967
83968         * m4/byteswap.m4: New file.
83969
83970 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
83971
83972         * lib/byteswap_.h: New file.
83973
83974 2005-04-25  Karl Berry  <karl@gnu.org>
83975
83976         * m4/gettext.m4: Update from GNU gettext 0.14.4.
83977
83978 2005-04-25  Albert Chin  <china@thewrittenword.com>
83979
83980         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
83981         Toolkit C bug.
83982
83983 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
83984
83985         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
83986         (func_ln_if_changed): Remove forcibly for no error message
83987         in case file does not exist.
83988
83989 2005-04-19  Simon Josefsson  <jas@extundo.com>
83990
83991         * gnulib-tool (Options): Make --symlink mean --symbolic.
83992
83993 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
83994
83995         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
83996
83997 2005-04-16  Simon Josefsson  <jas@extundo.com>
83998
83999         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
84000
84001 2005-04-15  Simon Josefsson  <jas@extundo.com>
84002
84003         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
84004
84005 2005-04-15  Simon Josefsson  <jas@extundo.com>
84006
84007         * gnulib-tool: Rename --symlink to --symbolic.
84008
84009 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
84010
84011         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
84012         symbolic links to files instead of copying/moving.  Add --aux-dir,
84013         specifying directory relative --dir where auxiliary build tools
84014         are placed.
84015
84016 2005-04-14  Bruno Haible  <bruno@clisp.org>
84017
84018         * modules/allocsa (License): Change to LGPL.
84019         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
84020
84021 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
84022
84023         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
84024         that "UTC +1 second" continues to work.  Problem reported
84025         by Dmitry V. Levin.
84026         (relunit_snumber): New rule.
84027         (relunit): Use it.
84028
84029 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
84030
84031         * lib/getdate.y (universal_time_zone_table): New constant.
84032         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
84033         universal_time_zone_table.
84034         (lookup_zone): Prefer universal_time_zone_table to
84035         local_time_zone_table, so that "GMT" time stamps are allowed in
84036         London during the summer.  Problem reported by Ian Abbott.
84037
84038 2005-04-12  Jim Meyering  <jim@meyering.net>
84039
84040         * lib/human.c (humblock): Set *options even when returning due to
84041         xstrtoumax conversion failure.  Thanks to a used-uninitialized
84042         warning from gcc-4.
84043
84044 2005-04-09  Jim Meyering  <jim@meyering.net>
84045
84046         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
84047         -Wuninitialized: initialize tm0.tm_year.
84048
84049 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
84050
84051         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
84052         count, since there's no maximum.  All uses changed.
84053         Add member dsts_seen.
84054         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
84055         not being INT_MAX.
84056         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
84057         Use pc_rels_seen to decide whether a date is absolute.
84058
84059         * lib/getdate.y (number): Don't overwrite year.
84060         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
84061         check.
84062
84063 2005-04-02  Simon Josefsson  <jas@extundo.com>
84064
84065         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
84066         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
84067
84068 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
84069
84070         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
84071         where no absolute path name can be longer than PATH_MAX.
84072
84073 2005-03-27  Jim Meyering  <jim@meyering.net>
84074
84075         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
84076
84077 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
84078
84079         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
84080         "one's complement" -> "ones' complement" in comment, as per Knuth.
84081         "value of type" -> "type or expression" in comment.
84082         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
84083
84084 2005-03-26  Jim Meyering  <jim@meyering.net>
84085
84086         Comment nits.
84087         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
84088         Correct typos: s/or/of/.
84089
84090 2005-03-26  Jim Meyering  <jim@meyering.net>
84091
84092         * modules/check-include-files: Move to ../ and rename to...
84093         * check-module: ...this.
84094
84095 2005-03-25  Jim Meyering  <jim@meyering.net>
84096
84097         * modules/xvasprintf (Files): Add xalloc.h.
84098
84099 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
84100
84101         * modules/gettext (Files): config/config.rpath ->
84102         build-aux/config.rpath
84103         * modules/iconv (Files): Likewise.
84104         Problem reported by Oskar Liljeblad.
84105
84106 2005-03-23  Jim Meyering  <jim@meyering.net>
84107
84108         * modules/check-include-files: New script to check for
84109         missing dependencies, multiple includes, etc.
84110
84111         * modules/c-strtold (Depends-on): Add xalloc.
84112         * modules/c-strtod (Depends-on): Add xalloc.
84113         * modules/hash (Depends-on): Add xalloc.
84114         (Files): Remove lib/xalloc.h.
84115
84116         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
84117         * modules/userspec (Files): Add lib/inttostr.h.
84118
84119 2005-03-23  Jim Meyering  <jim@meyering.net>
84120
84121         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
84122
84123 2005-03-22  Jim Meyering  <jim@meyering.net>
84124
84125         * modules/stat-macros: New module.
84126         * modules/canonicalize, modules/euidaccess, modules/file-type,
84127         * modules/filemode, modules/lchown, modules/makepath,
84128         * modules/rmdir, modules/stat: Depend on new stat-macros module
84129         rather than listing lib/stat-macros.h manually.
84130         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
84131
84132 2005-03-22  Jim Meyering  <jim@meyering.net>
84133
84134         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
84135
84136 2005-03-22  Bruno Haible  <bruno@clisp.org>
84137
84138         * config/srclist.txt: Replace target directory 'config' with
84139         'build-aux'.
84140         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
84141         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
84142         ../build-aux/.
84143
84144 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
84145
84146         * modules/chdir-long (Depends-on): Add mempcpy.
84147
84148         * modules/acl, modules/backupfile, modules/c-strtod,
84149         modules/c-strtold, modules/canon-host, modules/canonicalize,
84150         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
84151         modules/exclude, modules/exitfail, modules/file-type,
84152         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
84153         modules/getdate, modules/getline, modules/getpagesize,
84154         modules/getpass, modules/getugroups, modules/group-member,
84155         modules/hard-locale, modules/hash, modules/human, modules/idcache,
84156         modules/inttostr, modules/long-options, modules/makepath,
84157         modules/md5, modules/memcasecmp, modules/memcoll,
84158         modules/modechange, modules/mountlist, modules/path-concat,
84159         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
84160         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
84161         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
84162         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
84163         modules/strftime, modules/strndup, modules/strverscmp,
84164         modules/timespec, modules/unlocked-io, modules/userspec,
84165         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
84166         modules/yesno:
84167         Remove lib_SOURCES line from Makefile.am section, as this is now
84168         done automatically by the corresponding Autoconf macro.
84169
84170 2005-03-21  Jim Meyering  <jim@meyering.net>
84171
84172         Changes imported from coreutils.
84173
84174         * lib/cycle-check.c: Don't include xalloc.h.
84175
84176         * lib/path-concat.c: Don't include assert.h.
84177         (path_concat): Remove assertion that would have triggered
84178         for ABASE starting with more than one slash.
84179         Reported by Andreas Schwab.
84180
84181         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
84182         properly when ABASE is an absolute file name.
84183         Correct the description of this function.
84184         Include <assert.h>.
84185         Add an assertion and a test driver.
84186         This fixes a bug introduced on 2004-07-02.
84187         Andreas Schwab reported the resulting failure of cp --parents:
84188         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
84189
84190 2005-03-21  Jim Meyering  <jim@meyering.net>
84191
84192         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
84193         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
84194
84195 2005-03-21  Jim Meyering  <jim@meyering.net>
84196         and  Paul Eggert  <eggert@cs.ucla.edu>
84197
84198         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
84199         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
84200         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
84201         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
84202         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
84203         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
84204         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
84205         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
84206         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
84207         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
84208         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
84209         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
84210         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
84211         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
84212         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
84213         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
84214         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
84215         for these modules.
84216
84217 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
84218
84219         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
84220         (which shouldn't happen), generate nothing instead of returning 0
84221         immediately, so that nstrftime (NULL, ...) doesn't return 0.
84222
84223 2005-03-16  Bruno Haible  <bruno@clisp.org>
84224
84225         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
84226         HAVE_LONGLONG_64BIT.
84227
84228 2005-03-16  Bruno Haible  <bruno@clisp.org>
84229
84230         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
84231         HAVE_LONGLONG_64BIT.
84232
84233 2005-03-16  Bruno Haible  <bruno@clisp.org>
84234
84235         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
84236         HAVE_LONGLONG_64BIT.
84237
84238 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
84239
84240         * lib/strftime.c (my_strftime): Prepend space to format so that we can
84241         reliably distinguish strftime failure from empty output on POSIX
84242         hosts.
84243
84244 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
84245
84246         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
84247         (iconv_string): Don't guess a size-zero buffer, as that might cause
84248         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
84249         result would be 'too large', where 'too large' is (heuristically)
84250         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
84251         overflow concerns.  This will prevent some unwanted malloc failures
84252         when the inputs are very large.
84253
84254 2005-03-15  Karl Berry  <karl@gnu.org>
84255
84256         * config/srclist.txt (config.rpath): from gettext.
84257         * config/config.rpath: update.
84258
84259 2005-03-15  Bruno Haible  <bruno@clisp.org>
84260
84261         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
84262         to 'negate'.
84263
84264         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
84265         variable.
84266
84267         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
84268         results.
84269
84270 2005-03-14  Simon Josefsson  <jas@extundo.com>
84271
84272         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
84273         <fx@gnu.org>.
84274
84275 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
84276
84277         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
84278         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
84279         intprops.h.
84280         * lib/strtol.c: Likewise.
84281
84282 2005-03-14  Jim Meyering  <jim@meyering.net>
84283
84284         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
84285         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
84286         to be nonzero so that we (and caller) can detect the difference
84287         between a valid zero-length expansion and an error return, even
84288         when the underlying strftime fails before writing anything into
84289         that location.
84290
84291 2005-03-14  Bruno Haible  <bruno@clisp.org>
84292
84293         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
84294         Update from GNU gettext 0.14.3.
84295
84296 2005-03-10  Jim Meyering  <jim@meyering.net>
84297
84298         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
84299
84300 2005-03-10  Jim Meyering  <jim@meyering.net>
84301
84302         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
84303         so that this module works on systems without fchdir.
84304
84305 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
84306
84307         Factor int-properties macros into a single file, except for
84308         glibc-related files.
84309         * lib/intprops.h: New file.
84310         * lib/getloadavg.c: Include it instead of limits.h.
84311         (INT_STRLEN_BOUND): Remove.
84312         * lib/human.c: Include intprops.h.
84313         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
84314         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
84315         302/1000.
84316         * lib/inttostr.h: Include intprops.h instead of limits.h.
84317         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
84318         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
84319         for consistency with intprops.h.
84320         (time_t_is_integer, twos_complement_arithmetic): Use them.
84321         * lib/sig2str.h: Include <signal.h>, intprops.h.
84322         (INT_STRLEN_BOUND): Remove.
84323         * lib/strftime.c (TYPE_SIGNED): Remove.
84324         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
84325         * lib/strtol.c: Adjust comments to match intprops.h.
84326         * lib/userspec.c: Include intprops.h.
84327         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
84328         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
84329         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
84330         instead of rolling our own expressions.
84331         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
84332
84333         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
84334         instead of int.
84335         (my_strftime): Do not mishandle years close to INT_MAX, by doing
84336         the right thing even if adding 1900 would overflow.  Similarly
84337         for tm_mon + 1 and tm_yday + 1.
84338         Make %Y always equivalent to %C%y, and similarly for %G and %g.
84339         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
84340         (DO_SIGNED_NUMBER): New macro.
84341         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
84342
84343 2005-03-07  Bruno Haible  <bruno@clisp.org>
84344
84345         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
84346
84347 2005-03-07  Bruno Haible  <bruno@clisp.org>
84348
84349         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
84350
84351 2005-03-04  Derek R. Price  <derek@ximbiot.com>
84352
84353         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
84354         (func_import): Only replace files via --import when they have actually
84355         changed.
84356
84357 2005-03-03  Derek R. Price  <derek@ximbiot.com>
84358
84359         * m4/mmap-anon.m4: New file.
84360         * m4/pagealign_alloc.m4: New file.
84361
84362 2005-03-03  Derek R. Price  <derek@ximbiot.com>
84363             Bruno Haible  <bruno@clisp.org>
84364
84365         * modules/pagealign_alloc: New file.
84366         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
84367
84368 2005-03-03  Derek R. Price  <derek@ximbiot.com>
84369             Bruno Haible  <bruno@clisp.org>
84370
84371         * lib/pagealign_alloc.h: New file.
84372         * lib/pagealign_alloc.c: New file.
84373
84374 2005-03-03  Bruno Haible  <bruno@clisp.org>
84375
84376         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
84377         Use an all-permissive copyright notice, recommended by RMS.
84378
84379 2005-03-02  Bruno Haible  <bruno@clisp.org>
84380
84381         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
84382         of AIX, the replacement has to be done only after <string.h> is
84383         included, therefore not in config.h. stpncpy.h does the replacement,
84384         and stpncpy.c uses it.
84385
84386 2005-03-02  Bruno Haible  <bruno@clisp.org>
84387
84388         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
84389         stpncpy.c uses it.
84390
84391 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
84392
84393         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
84394         The workaround isn't strictly needed for POSIX conformance, and
84395         it's too much of a pain to configure and maintain.  We'll ask
84396         people to fix their kernels instead.
84397         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
84398         (NANOSLEEP_BUG_WORKAROUND): Remove.
84399         (xnanosleep): Remove the workaround.
84400
84401 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
84402
84403         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
84404         Reported by Derek Price.
84405         (Include): Add "timespec.h".
84406
84407         * modules/xnanosleep (Depends-on): Remove gethrxtime.
84408
84409 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
84410
84411         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
84412         to detect nanosleep bug.
84413
84414 2005-03-01  Bruno Haible  <bruno@clisp.org>
84415
84416         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
84417
84418 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
84419
84420         * modules/gethrxtime: New file.
84421         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
84422         (Depends-on): Add gethrxtime.
84423         (configure.ac): Add gl_XNANOSLEEP.
84424         (Makefile.am): Remove lib_SOURCES line.
84425
84426 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
84427
84428         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
84429         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
84430
84431 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
84432
84433         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
84434         * lib/timespec.h (gettime): Return void, since it always
84435         succeeds now.  All uses changed.
84436         * lib/gettime.c (gettime): Likewise.
84437         [HAVE_NANOTIME]: Prefer nanotime.
84438         Assume gettimeofday succeeds, as POSIX requires.
84439         Assime time () succeeds, since other code already does.
84440         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
84441         (timespec_subtract): Remove.
84442         (NANOSLEEP_BUG_WORKAROUND): New constant.
84443         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
84444         things considerably.  Use it only on GNU/Linux hosts, since the
84445         workaround shouldn't be needed elsewhere.
84446
84447 2005-02-24  Bruno Haible  <bruno@clisp.org>
84448
84449         * modules/gettext (Files): Add m4/glibc2.m4.
84450
84451 2005-02-24  Bruno Haible  <bruno@clisp.org>
84452
84453         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
84454         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
84455         * m4/progtest.m4:
84456         Update from GNU gettext 0.14.2.
84457         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
84458
84459 2005-02-24  Bruno Haible  <bruno@clisp.org>
84460
84461         * lib/localcharset.c: Update from GNU gettext 0.14.2.
84462         * lib/config.charset: Update from GNU gettext 0.14.2.
84463
84464 2005-02-24  Bruno Haible  <bruno@clisp.org>
84465
84466         * lib/gettext.h: Update from GNU gettext 0.14.2.
84467
84468 2005-02-23  Simon Josefsson  <jas@extundo.com>
84469
84470         * m4/iconvme.m4: New file.
84471
84472 2005-02-23  Jim Meyering  <jim@meyering.net>
84473
84474         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
84475         change.
84476         Thanks to Bruno Haible for catching it.
84477
84478 2005-02-22  Simon Josefsson  <jas@extundo.com>
84479
84480         * modules/iconvme: New file.
84481
84482         * MODULES.html.sh: Add iconvme.
84483
84484 2005-02-22  Simon Josefsson  <jas@extundo.com>
84485
84486         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
84487
84488 2005-02-22  Simon Josefsson  <jas@extundo.com>
84489
84490         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
84491
84492 2005-02-22  Jim Meyering  <jim@meyering.net>
84493
84494         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
84495         s/ifndef/ifdef/.
84496
84497 2005-02-20  Neil Conway  <neilc@samurai.com>
84498
84499         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
84500         returned by OSX/Darwin if the specified buffer is not large
84501         enough for the hostname.
84502
84503 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84504
84505         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
84506         pass it to _help, otherwise the latter coredumps trying to
84507         dereference state.root_argp.
84508
84509 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
84510
84511         * modules/chdir-long (Depends-on): Add memrchr.
84512         * modules/memrchr (Files): Add lib/memrchr.h.
84513         (Include): "memrchr.h".
84514
84515 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
84516
84517         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
84518
84519 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
84520
84521         * lib/memrchr.h: New file.
84522         * lib/chdir-long.c: Include it.
84523         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
84524         Don't bother including stddef.h.
84525
84526 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
84527
84528         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
84529         inclusion.
84530         Include <sys/types.h>, for dev_t.
84531         (ME_DUMMY, ME_REMOTE): Move from here....
84532         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
84533         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
84534         Dmitry V. Levin.
84535         Include mountlist.h first, to test the interface.
84536
84537 2005-01-29  Bruno Haible  <bruno@clisp.org>
84538
84539         * lib/progname.c (program_name): Initialize.
84540         Needed when linking statically on MacOS X.
84541
84542 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
84543
84544         Sync from coreutils.
84545         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
84546         (Depends-on): Add c-strtod.
84547         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
84548
84549 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
84550
84551         Sync from coreutils.
84552         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
84553
84554         Remove files that are specific to coreutils.
84555         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
84556
84557 2005-01-28  Bruno Haible  <bruno@clisp.org>
84558
84559         * modules/javacomp: New file.
84560         * MODULES.html.sh (Java): Add javacomp.
84561
84562 2005-01-28  Bruno Haible  <bruno@clisp.org>
84563
84564         * m4/javacomp.m4: New file, from GNU gettext.
84565
84566 2005-01-28  Bruno Haible  <bruno@clisp.org>
84567
84568         * lib/javacomp.sh.in: New file, from GNU gettext.
84569         * lib/javacomp.h: New file, from GNU gettext.
84570         * lib/javacomp.c: New file, from GNU gettext.
84571
84572 2005-01-26  Simon Josefsson  <jas@extundo.com>
84573
84574         * lib/gai_strerror.c: Use GPL in header.
84575
84576 2005-01-26  Bruno Haible  <bruno@clisp.org>
84577
84578         * modules/javaexec: New file.
84579         * MODULES.html.sh (Java): Add javaexec.
84580
84581 2005-01-26  Bruno Haible  <bruno@clisp.org>
84582
84583         * m4/javaexec.m4: New file, from GNU gettext.
84584
84585 2005-01-26  Bruno Haible  <bruno@clisp.org>
84586
84587         * lib/javaexec.sh.in: New file, from GNU gettext.
84588         * lib/javaexec.h: New file, from GNU gettext.
84589         * lib/javaexec.c: New file, from GNU gettext.
84590
84591 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84592
84593         * modules/lchown (Depends-on): Remove lchown.h
84594
84595 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84596
84597         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
84598         must be defined if the header file was not found, in order
84599         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
84600
84601 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84602
84603         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
84604         initializers for struct pentry_state.
84605         (__argp_error): Check return value of __asprintf
84606         (__argp_failure): Translate error message
84607
84608         * lib/argp-parse.c: Removed braces around the expansion of N_()
84609
84610 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
84611
84612         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
84613         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
84614         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
84615         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
84616         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
84617         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
84618         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
84619         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
84620         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
84621         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
84622         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
84623         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
84624         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
84625         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
84626         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
84627         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
84628         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
84629         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
84630         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
84631         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
84632         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
84633         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
84634         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
84635         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
84636         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
84637         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
84638         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
84639         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
84640         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
84641         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
84642         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
84643         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
84644         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
84645         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
84646         xstrtol.m4, xstrtoumax.m4, yesno.m4:
84647         Use an all-permissive copyright notice, recommended by RMS.
84648
84649 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
84650
84651         * modules/chdir-long (Depends-on): Remove mempcpy.
84652
84653 2005-01-21  Jim Meyering  <jim@meyering.net>
84654
84655         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
84656         same value as for Solaris 9.
84657
84658         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
84659         component length.  This included changing the parameter to be
84660         of type `char *' rather than `char const *'.
84661         * lib/chdir-long.h (chdir_long): Update prototype.
84662
84663         * lib/openat.c (fdopendir, fstatat): New functions.
84664         * lib/openat.h: Include headers required for use of DIR and struct
84665         stat.
84666         [AT_SYMLINK_NOFOLLOW]: Define.
84667         (fdopendir, fstatat): Add prototypes.
84668
84669 2005-01-21  Bruno Haible  <bruno@clisp.org>
84670
84671         * modules/classpath: New file.
84672         * MODULES.html.sh (Java): Add classpath.
84673
84674 2005-01-21  Bruno Haible  <bruno@clisp.org>
84675
84676         * lib/classpath.h: New file, from GNU gettext.
84677         * lib/classpath.c: New file, from GNU gettext.
84678
84679 2005-01-20  Simon Josefsson  <jas@extundo.com>
84680
84681         * modules/version-etc-fsf: New file.
84682
84683 2005-01-20  Simon Josefsson  <jas@extundo.com>
84684
84685         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
84686         * lib/version-etc.c: Remove version_etc_copyright.
84687         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
84688         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
84689
84690 2005-01-20  Simon Josefsson  <jas@extundo.com>
84691
84692         * lib/base64.h (isbase64): Add.
84693
84694         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
84695         using a unsigned prototype, don't inline.
84696         (base64_decode): Use it.
84697
84698 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
84699
84700         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
84701         it.
84702
84703 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
84704
84705         * lib/save-cwd.c (save_cwd): Remove code to support the case
84706         where fchdir is missing or flaky.
84707
84708 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
84709
84710         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
84711
84712 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
84713
84714         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
84715         AC_LIBSOURCES now does this.
84716         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
84717         with new ullong_max module.
84718
84719 2005-01-19  Bruno Haible  <bruno@clisp.org>
84720
84721         * modules/sh-quote: New file.
84722         * MODULES.html.sh (Executing programs): Add sh-quote.
84723
84724 2005-01-19  Bruno Haible  <bruno@clisp.org>
84725
84726         * lib/sh-quote.h: New file, from GNU gettext.
84727         * lib/sh-quote.c: New file, from GNU gettext.
84728
84729 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
84730
84731         Merge from coreutils.
84732         * m4/ullong_max.m4: New file.
84733         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
84734         (gl_MACROS): Assume localeconv exists.
84735
84736 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
84737
84738         Merge changes from coreutils, as described below in several
84739         changelogs dated today.
84740
84741         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
84742         (O_DIRECTORY): Remove; not needed here, since "." must be
84743         a directory.  All uses removed.
84744         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
84745         universal on Suns, and we also need to test for IRIX.
84746         Revamp code to use 'if' rather than '#if'.
84747         Avoid unnecessary comparison of cwd->desc to 0.
84748
84749         * lib/utimens.c (futimens): Robustify the previous patch, by checking
84750         for known valid error numbers rather than observed invalid ones.
84751
84752 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
84753
84754         * modules/ullong_max: New file.
84755
84756         * modules/chdir-long, modules/openat: New files.
84757         * modules/save-cwd (Depends-on): Depend on chdir-long.
84758         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
84759
84760 2005-01-18  Jim Meyering  <jim@meyering.net>
84761
84762         Merge from coreutils.
84763         * m4/chdir-long.m4, m4/openat.m4: New files.
84764         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
84765         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
84766         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
84767         is sane and DOES follow symlinks.  Besides, testing 20 different
84768         systems found no broken chown implementations.
84769         Prompted by a change in rsync's copy of this macro.
84770         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
84771
84772         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
84773
84774         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
84775         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
84776         NULL-means-set-to-current-time semantics.
84777         Remove temporary file immediately, rather than waiting
84778         for configure's at-exit trap code to do it.
84779
84780 2005-01-18  Jim Meyering  <jim@meyering.net>
84781
84782         * lib/version-etc.c (version_etc_copyright): Update copyright date.
84783
84784         * lib/utimens.c (futimens): Account for the fact that futimes
84785         can also fail with errno == ENOSYS or errno == ENOENT.
84786         Patch from Dmitry V. Levin.
84787
84788         Change the name of the robust chdir function from chdir to chdir_long.
84789         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
84790         (restore_cwd): Use chdir_long, not chdir.
84791         * lib/chdir-long.c: Renamed from chdir.c.
84792         * lib/chdir-long.h: Renamed from chdir.h.
84793         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
84794         Hurd.
84795
84796 2005-01-18  Bruno Haible  <bruno@clisp.org>
84797
84798         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
84799         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
84800         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
84801         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
84802         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
84803         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
84804         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
84805         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
84806         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
84807         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
84808         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
84809         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
84810         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
84811         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
84812         Use an all-permissive copyright notice, recommended by RMS.
84813
84814 2005-01-18  Bob Proulx  <bob@proulx.com>
84815
84816         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
84817         simplify offsetof() macro construct to avoid compile failure with
84818         native HP-UX 11.0 ANSI C compiler.
84819
84820 2005-01-17  Bruno Haible  <bruno@clisp.org>
84821
84822         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
84823         redundant because stpncpy.m4 takes care of it.
84824
84825 2005-01-17  Bruno Haible  <bruno@clisp.org>
84826
84827         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
84828
84829 2005-01-17  Bruno Haible  <bruno@clisp.org>
84830
84831         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
84832         used.
84833
84834 2005-01-17  Bruno Haible  <bruno@clisp.org>
84835
84836         * lib/fwriteerror.h (fwriteerror): Change specification to include
84837         fclose.
84838         * lib/fwriteerror.c: Include <stdbool.h>.
84839         (fwriteerror): At the end, close the file stream. Record whether
84840         stdout was already closed.
84841
84842 2005-01-17  Bruno Haible  <bruno@clisp.org>
84843
84844         * lib/execute.c (environ): Declare if needed.
84845         * lib/pipe.c (environ): Likewise.
84846         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
84847
84848 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84849
84850         * modules/argp: Depend on vsnprintf
84851
84852 2005-01-10  Jim Meyering  <jim@meyering.net>
84853
84854         * modules/closeout (Depends-on): Add atexit.
84855
84856 2005-01-06  Bruno Haible  <bruno@clisp.org>
84857
84858         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
84859
84860 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
84861
84862         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
84863         definitions to be after all include files, to avoid collisions.
84864         Problem reported by Bob Proulx.
84865
84866 2005-01-04  Jim Meyering  <jim@meyering.net>
84867
84868         Changes imported from coreutils.
84869         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
84870         as the mkstemp template, use a temporary directory and an
84871         8.3-friendly template to avoid trouble on systems like DJGPP.
84872         Reported by Juan M. Guerrero via Stepan Kasal.
84873         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
84874         close. Remove the temporary directory right away, rather than waiting
84875         for configure's at-exit trap code to do it.
84876         Suggestion from Stepan Kasal.
84877
84878 2005-01-01  Simon Josefsson  <jas@extundo.com>
84879
84880         * gnulib-tool: Print #include directives when --import'ing.
84881
84882 2004-12-28  Simon Josefsson  <jas@extundo.com>
84883
84884         * tests/test-base64.c: Include required header files.  Remove
84885         unused variables.
84886
84887 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
84888
84889         * modules/error (Depends-on): Remove gettext.
84890
84891 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
84892
84893         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
84894         not needed.  This removes a dependency on the gettext module.
84895         [defined _LIBC]: Do not include <libintl.h>; not needed.
84896
84897 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
84898
84899         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
84900         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
84901
84902 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
84903
84904         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
84905         HAVE_DECL_STRTOLD.
84906
84907 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
84908
84909         * modules/getdate (Depends-on): Remove alloca-opt.
84910
84911 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
84912
84913         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
84914
84915 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
84916
84917         * lib/argp-parse.c: Include <stddef.h>.
84918         (alignof, alignto): New macros.
84919         (parser_init): Don't assume that void * is aligned sufficiently
84920         for struct option.
84921
84922         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
84923         need to extend the stack.
84924         (YYINITDEPTH): New macro, so that the initial stack isn't overly
84925         large.
84926
84927 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84928
84929         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
84930
84931 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
84932
84933         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
84934         (2004-10-24) change.  Apparently this was a false alarm.
84935
84936         * modules/getdate: Depend on alloca-opt, not alloca.
84937
84938 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
84939
84940         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
84941         Remove now-obsolete comment about AIX.
84942         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
84943         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
84944         (YYMAXDEPTH): New macro.
84945
84946 2004-12-18  Simon Josefsson  <jas@extundo.com>
84947
84948         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
84949
84950 2004-12-18  Bruno Haible  <bruno@clisp.org>
84951
84952         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
84953
84954 2004-12-18  Bruno Haible  <bruno@clisp.org>
84955
84956         * lib/fatal-signal.c (fatal_signals): Make non-const.
84957         (init_fatal_signals): New function.
84958         (uninstall_handlers, install_handlers): Ignore signals that were set to
84959         SIG_IGN.
84960         (at_fatal_signal): Call init_fatal_signals.
84961         (init_fatal_signal_set): Likewise. Ignore signals that were set to
84962         SIG_IGN.
84963         Reported by Paul Eggert.
84964
84965 2004-12-18  Bruno Haible  <bruno@clisp.org>
84966
84967         * doc/alloca.texi: New file.
84968         * doc/alloca-opt.texi: New file.
84969
84970 2004-12-17  Jim Meyering  <jim@meyering.net>
84971
84972         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
84973         Otherwise, install-sh could exit with improper exit status when
84974         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
84975
84976 2004-12-16  Simon Josefsson  <jas@extundo.com>
84977
84978         * tests/test-base64.c: Add license.
84979
84980 2004-12-15  Stepan Kasal  <address@hidden>
84981
84982         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
84983
84984 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
84985
84986         * modules/getcwd (Files): Add m4/d-ino.m4.
84987         Suggested by Mark D. Baushke.
84988
84989 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
84990
84991         * lib/getdate.y (textint): New member "negative".
84992         (time_zone_hhmm): New function.
84993         Expect 14 shift-reduce conflicts, not 13.
84994         (o_colon_minutes): New rule.
84995         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
84996         (yylex): Set the "negative" member of signed numbers.
84997
84998 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
84999
85000         * doc/getdate.texi (Time of day items, Time zone items):
85001         Describe new formats +00:00, UTC+00:00.
85002
85003 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
85004
85005         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
85006         spurious "-l"s.  Problem reported by Stepan Kasal.
85007
85008 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
85009
85010         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
85011         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
85012
85013 2004-12-04  Simon Josefsson  <jas@extundo.com>
85014
85015         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
85016         Vandoorselaere <yoann@prelude-ids.org>.
85017
85018 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
85019
85020         Changes imported from coreutils.
85021         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
85022         exist.
85023         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
85024
85025 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
85026
85027         Changes imported from coreutils.
85028         * lib/hard-locale.c: Assume <locale.h> exists.
85029         Include "strdup.h".
85030         (GLIBC_VERSION): New macro.
85031         (hard_locale): Assume setlocale exists.
85032         Rewrite to avoid #ifdef.
85033         Use strdup rather than malloc + strcpy.
85034         * lib/human.c: Assume <locale.h> exists.
85035         (human_readable): Assume localeconv exists.
85036
85037 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
85038
85039         * modules/hard-locale (Depends-on): Add strdup.
85040
85041 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
85042
85043         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
85044         convert T2, not T.  (Imported from libc.)
85045
85046 2004-11-30  Simon Josefsson  <jas@extundo.com>
85047
85048         * modules/restrict (License): Change to LGPL.
85049
85050 2004-11-30  Simon Josefsson  <jas@extundo.com>
85051
85052         * m4/restrict.m4: Add copyright and copying conditions.
85053
85054 2004-11-30  Simon Josefsson  <jas@extundo.com>
85055
85056         * m4/base64.m4: New file.
85057
85058 2004-11-30  Simon Josefsson  <jas@extundo.com>
85059
85060         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
85061         base64.
85062
85063         * tests/test-base64.c: New file.
85064
85065         * modules/base64: New file.
85066
85067 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
85068
85069         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
85070         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
85071
85072         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
85073
85074 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
85075
85076         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
85077         (__getcwd.c): Don't restore errno; glibc doesn't.
85078         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
85079         first, falling back to our code only if its results look suspicious.
85080         Ensure that the resulting buffer is only as large as necessary.
85081
85082         * lib/readutmp.c: Include readutmp.h first.
85083         Include <errno.h>, since readutmp.h no longer does that.
85084         * lib/readutmp.h: Don't include <errno.h>,
85085         <sys/param.h>, <time.h>; not needed to establish interface.
85086         (errno): Remove decl.
85087         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
85088         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
85089         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
85090
85091 2004-11-28  Simon Josefsson  <jas@extundo.com>
85092
85093         * lib/base64.h, base64.c: New file.
85094
85095 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
85096
85097         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
85098
85099 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
85100
85101         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
85102         (Depends-on): Remove pathmax, same.  Add mempcpy.
85103         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
85104         (Makefile.am): Append getcwd.h to lib_SOURCES.
85105         (Include): Add getcwd.h.
85106         (Maintainer): Change from Jim Meyering to "all, glibc",
85107         since getdate now uses intended-for-glibc code.
85108         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
85109         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
85110
85111 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
85112
85113         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
85114         HP's ANSI C compiler.
85115         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
85116         Declaring int functions causes warnings on some modern systems and
85117         shouldn't be needed to compile on ancient ones.
85118         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
85119         defined.
85120
85121         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
85122         with the following changes.
85123         (__set_errno): Parenthesize properly.
85124         Include <stdbool.h>.
85125         (MIN, MAX, MATCHING_INO): New macros.
85126         (__getcwd): Define with prototype, not K&R form.
85127         Use heuristics to allocate default buffer on stack if possible.
85128         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
85129         behavior, and to avoid the PATH_MAX limit when computing
85130         ../../../../...
85131         Use MATCHING_INO to compare inode number to file.
85132         Check for arithmetic overflow in size calculations.
85133         Fix bug in reallocation of dot array that caused getcwd to fail
85134         on directories nested deeper than 75.
85135         Be more careful about saving errno on error.
85136         Do not use realloc; use only free+malloc, as this is a bit
85137         more flexible and avoids a needless copy operation.
85138         Do not inspect st_dev and st_ino for symbolic links; POSIX
85139         doesn't specify the latter.
85140         Check for closedir errors.
85141         Avoid needless casts.
85142         Use "#ifdef weak_alias" around weak_alias, to be like other
85143         glibc code.
85144         The following changes to getcwd.c have effect only when used in
85145         gnulib; they have no effect inside glibc proper.
85146         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
85147         as alloca isn't used.
85148         (alloca, __alloca): Likewise.
85149         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
85150         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
85151         unconditionally, as gnulib assumes C89 or better.
85152         Do not include <sys/param.h>.
85153         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
85154         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
85155         better.
85156         (NULL) [!defined NULL]: Remove; we assume C89 or better.
85157         Include <dirent.h> in a way that is compatible with modern Autoconf.
85158         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
85159         New macros, if not already defined.
85160         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
85161         Use "_LIBC", not "defined _LIBC", for consistency.
85162         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
85163         a mempcpy module.
85164         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
85165         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
85166         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
85167         credit only to Jim Meyering and adjust the copyright dates.
85168         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
85169         <stdlib.h>, <unistd.h>, "pathmax.h".
85170         Instead, include "xgetcwd.h" (first) and "getcwd.h".
85171         (INITIAL_BUFFER_SIZE): Remove.
85172         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
85173
85174 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
85175
85176         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
85177         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
85178         Use the _ONCE methods, for efficiency.
85179         Check for fcntl.h.  In test program, include <errno.h>
85180         and <fcntl.h> if available.  Remove old K&R cruft from
85181         test program.  Check for common errors in GNU/Linux,
85182         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
85183         don't do AC_LIBOBJ, as that's getcwd.m4's job.
85184         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
85185         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
85186         name accordingly.
85187         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
85188         accommodate new getcwd.c.
85189         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
85190         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
85191         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
85192         that's all we need now.
85193
85194 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85195
85196         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
85197         argp-parse.c depends on getopt internals, that means we should
85198         always use our getopt, to be on the safe side.
85199         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
85200         order not to spoil the result of an eventual previous invocation
85201         of gl_GETOPT_SUBSTITUTE.
85202
85203 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85204
85205         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
85206         redefinition warnings. To avoid them, include the defines
85207         in `#if !defined __need_getopt ... #endif'. The only place
85208         where __getopt_argv_const is used is in definitions
85209         of getopt_long and getopt_long_only below, which are as well
85210         protected by `#ifndef __need_getopt'.
85211         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
85212         __need_getopt after including <stdio.h> and <unistd.h> These
85213         headers might have defined it.
85214
85215 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
85216
85217         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
85218
85219 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
85220
85221         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
85222         (futimens): New function, which uses futimes if available.
85223         (futimens, utimens): Support timespec==NULL, with same semantics
85224         as utime and utimens.
85225         * lib/utimens.h (futimens): New decl.
85226
85227 2004-11-23  Jim Meyering  <jim@meyering.net>
85228
85229         * lib/getopt_.h: Remove trailing blanks.
85230
85231 2004-11-23  Jim Meyering  <jim@meyering.net>
85232
85233         * lib/__fpending.c: Add comment.
85234
85235 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
85236
85237         * modules/canonicalize (Depends-on): Add xreadlink.
85238         Problem reported by James Youngman.
85239
85240 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
85241
85242         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
85243         New macros.
85244         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
85245         optopt): Use them instead of invoking ## directly; otherwise, the
85246         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
85247
85248 2004-11-19  Bruno Haible  <bruno@clisp.org>
85249
85250         * lib/strtok_r.c: Move comments from here...
85251         * lib/strtok_r.h: ... to here.
85252
85253 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
85254
85255         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
85256         implementations that mishandle size_t overflow.
85257
85258 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
85259
85260         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
85261         might fail.  Problem reported by Yoann Vandoorselaere.
85262         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
85263         implementations that mishandle size_t overflow.
85264
85265 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
85266
85267         * modules/canon-host (Depends-on): Add strdup.
85268
85269 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
85270
85271         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
85272
85273 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
85274
85275         * lib/canon-host.c: Include "strdup.h".
85276         (canon_host): Use getaddrinfo if available, so that IPv6 works.
85277         Use strdup instead of malloc/strcpy to duplicate strings.
85278
85279         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
85280         (human_space_before_unit): New constant.
85281         * lib/human.c (human_readable): Support it.
85282
85283         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
85284         (xgetcwd): Set errno correctly when failing.
85285         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
85286         the failure is actually due to a PATH_MAX problem.
85287
85288         Further getopt changes to make it more likely that glibc will
85289         buy the changes back.
85290         * lib/getopt.c (POSIXLY_CORRECT): New constant.
85291         (getopt): Use it, so to preserve glibc semantic
85292         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
85293         when compiling for libc.
85294         * lib/getopt_.h (__getopt_argv_const): Bring it back.
85295         (getopt_long, getopt_long_only): Use it.
85296
85297         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
85298         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
85299         (getopt): Argv is now char * const *, as per standard.
85300         (_getopt_internal_r, _getopt_internal): Argv is now char **,
85301         not char *__getopt_argv_const *.
85302         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
85303         _getopt_long_only_r): Likewise.
85304         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
85305         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
85306         _getopt_long_r, _getopt_long_only_r): Likewise.
85307         * lib/getopt_.h (__getopt_argv_const): Remove.
85308         (getopt): Argv is now char * const *, as per standard.
85309
85310         * lib/getdate.y (tORDINAL): New token.
85311         (day, relunit): Allow it for relative times.
85312         (relative_time_table): Use tORDINAL for ordinals.
85313
85314 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
85315
85316         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
85317         Document that "second" isn't allowed as an ordinal number.
85318
85319 2004-11-16  Jim Meyering  <jim@meyering.net>
85320
85321         * modules/closeout (Depends-on): Add fpending.
85322
85323 2004-11-15  Jim Meyering  <jim@meyering.net>
85324
85325         * lib/closeout.c: Include "__fpending.h" once again.
85326         Include <stdbool.h>.
85327         (close_stdout): Don't fail just because stdout was closed initially,
85328         since some programs don't write to stdout in the normal course of
85329         operation (other than --version and --help), and we don't want this
85330         function to make e.g. `touch file >&-' fail.
85331         But do fail if it was closed and someone has tried to write to it.
85332         E.g., `printf foo >&-' must fail.
85333
85334 2004-11-13  Jim Meyering  <jim@meyering.net>
85335
85336         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
85337
85338 2004-11-12  Simon Josefsson  <jas@extundo.com>
85339
85340         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
85341         small doc fix is still pending.
85342
85343 2004-11-11  Simon Josefsson  <jas@extundo.com>
85344
85345         * modules/strtok_r: New file.
85346
85347         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
85348         strtok_r.
85349
85350 2004-11-11  Simon Josefsson  <jas@extundo.com>
85351
85352         * m4/strtok_r.m4: New file.
85353
85354         * m4/getopt.m4: Replace opterr.
85355
85356 2004-11-11  Simon Josefsson  <jas@extundo.com>
85357
85358         * lib/strtok_r.h, strtok_r.c: New file.
85359
85360 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
85361
85362         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
85363         of replacing opterr, getopt, etc.  This should handle the
85364         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
85365
85366 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
85367
85368         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
85369         we can stop lying to compilers about the constness of argv when we
85370         are compiled outside glibc.
85371         (getopt, getopt_long, getopt_long_only): Use it.
85372         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
85373         _getopt_internal, getopt): Likewise.
85374         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
85375         _getopt_long_only_r): Likewise.
85376         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
85377         _getopt_long_r, _getopt_long_only_r): Likewise.
85378
85379         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
85380         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
85381         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
85382         the other external symbols.
85383         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
85384         declaration, since the above renaming now works around collisions.
85385
85386 2004-11-11  Jim Meyering  <jim@meyering.net>
85387
85388         * lib/linebreak.c: Remove trailing blanks.
85389         * lib/alloca_.h: Likewise.
85390         * lib/acosl.c: Likewise.
85391         * lib/euidaccess.c: Likewise.
85392         * lib/allocsa.h: Likewise.
85393
85394 2004-11-10  Simon Josefsson  <jas@extundo.com>
85395
85396         * m4/getaddrinfo.m4: New file.
85397
85398 2004-11-10  Simon Josefsson  <jas@extundo.com>
85399
85400         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
85401
85402 2004-11-10  Simon Josefsson  <jas@extundo.com>
85403
85404         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
85405         getaddrinfo.
85406
85407         * modules/getaddrinfo: New file.
85408
85409 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
85410
85411         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
85412
85413 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
85414
85415         * lib/mktime.c (SHR): New macro, which is a portable
85416         substitute for >> that should work even on Crays.
85417         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
85418         Problem reported by Mark D. Baushke in
85419         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
85420         * lib/getdate.y (SHR): Likewise.
85421         (tm_diff): Use it.
85422         * lib/strftime.c (SHR): Likewise.
85423         (tm_diff): Use it.
85424         * lib/quotearg.c (struct quoting_options): Use unsigned int for
85425         quote_these_too, so that right shifts are well defined.  All uses
85426         changed.
85427
85428 2004-11-10  Jim Meyering  <jim@meyering.net>
85429
85430         Ensure that no close failure goes unreported.
85431         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
85432         return early when it seems there's nothing to flush.
85433         Don't include __fpending.h.
85434
85435 2004-11-10  Jim Meyering  <jim@meyering.net>
85436
85437         * modules/closeout (Depends-on): Remove fpending.
85438
85439 2004-11-10  Jim Meyering  <jim@meyering.net>
85440
85441         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
85442
85443 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
85444
85445         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
85446         gl_FUNC_STRFTIME.
85447         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
85448         and AC_REQUIRE when possible, to avoid duplicate checks.
85449         Check for <wchar.h>.
85450
85451 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
85452
85453         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
85454
85455 2004-11-09  Bruno Haible  <bruno@clisp.org>
85456
85457         * m4/sockpfaf.m4: New file.
85458
85459 2004-11-05  Bruno Haible  <bruno@clisp.org>
85460
85461         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
85462         Reported by Mark D. Baushke <mdb@cvshome.org>.
85463
85464 2004-11-04  Bruno Haible  <bruno@clisp.org>
85465
85466         2004-09-11  Bruno Haible  <bruno@clisp.org>
85467                 * allocsa.valgrind: New file.
85468         2004-02-06  Bruno Haible  <bruno@clisp.org>
85469                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
85470                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
85471                 Reported by Christopher Seip <chris.seip@hp.com>.
85472
85473 2004-11-04  Bruno Haible  <bruno@clisp.org>
85474
85475         * modules/allocsa (Files): Add lib/allocsa.valgrind.
85476         (Makefile.am): Distribute it.
85477
85478 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
85479
85480         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
85481         with errno == ERANGE if the buffer is too small.
85482         Problem reported by Mark D. Baushke.
85483
85484 2004-11-03  Albert Chin  <china@thewrittenword.com>
85485             Paul Eggert  <eggert@cs.ucla.edu>
85486
85487         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
85488         equivalent, substitute $ac_type for equivalent type rather than
85489         blindly using uint32_t *always* which won't work if uint32_t is not
85490         available.  Define _UINT32_T to work around typedef of uint32_t if
85491         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
85492         2.5.1.
85493
85494 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
85495
85496         * m4/jm-macros.m4: Sync from coreutils.
85497         (gl_MACROS): Check for mbrlen, for pathchk.
85498         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
85499
85500 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
85501
85502         * lib/xreadlink.c (MAXSIZE): New macro.
85503         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
85504         size does not exceed MAXSIZE.  Avoid cast.
85505         As suggested by Mark D. Baushke in
85506         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
85507         if readlink fails with buffer size just under MAXSIZE, try again
85508         with MAXSIZE.
85509
85510 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
85511
85512         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
85513
85514 2004-11-02  Derek R. Price  <derek@ximbiot.com>
85515         and  Paul Eggert  <eggert@cs.ucla.edu>
85516
85517         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
85518         (get_date): Overparenthesize to avoid GCC warning.
85519
85520 2004-11-02  Bruno Haible  <bruno@clisp.org>
85521
85522         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
85523         returns void.
85524
85525 2004-11-02  Bruno Haible  <bruno@clisp.org>
85526
85527         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
85528         function returns void.
85529
85530 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
85531
85532         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
85533         fflush_unlocked, flockfile, funlockfile, funlockfile,
85534         fputs_unlocked, putc_unlocked.
85535
85536 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
85537
85538         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
85539         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
85540         already declared.
85541
85542 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
85543
85544         * modules/getdate (Files): Add doc/getdate.texi.
85545         (Depends-on): Add setenv, xalloc.
85546
85547 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
85548
85549         * lib/getdate.y: Add support for TZ="foo" within a date string.
85550         Fix some bugs near time_t boundaries.  Reject dates with
85551         out-of-range components, e.g., "Sept 31".
85552         Include <stdlib.h>, "setenv.h", "xalloc.h".
85553         (ISDIGIT_LOCALE): Remove; unused.
85554         Note that the TZ and time functions used here are not reentrant.
85555         (mktime_ok, get_tz): New functions.
85556         (TZBUFSIZE): New constant.
85557         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
85558         This requires that we sometimes generate our own TZ="XXX..." setting.
85559
85560 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
85561
85562         * doc/getdate.texi: New file, from coreutils with modifications for
85563         the new TZ parsing.
85564
85565 2004-10-27  Derek R. Price  <derek@ximbiot.com>
85566
85567         * lib/mktime.c (not_equal_tm): Remove redundant check.
85568
85569 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
85570
85571         * modules/regex (lib_SOURCES): Add regex.c.
85572         Reported by James Youngman in
85573         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
85574
85575 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
85576
85577         * lib/getdate.y: Use Bison 1.875 features, and some minor
85578         code cleanups.  This change does not affect semantics.
85579         Don't include <stdlib.h>; no longer needed.
85580         Don't include unlocked-io.h; only the "#if TEST" code uses
85581         stdio, and performance isn't crucial there.
85582         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
85583         Bison 1.875 features as described below.
85584         All uses of "PC." replaced by "pc->".
85585         (YYSTYPE): Add a forward declaration.
85586         (yylex, yyerror): Use full prototypes in forward decls.
85587         Use "%pure-parser" rather than obsolescent "%pure_parser".
85588         Use %parse-param and %lex-param instead of obsolescent
85589         YYPARSE_PARAM and YYLEX_PARAM.
85590         (meridian_table, month_and_day_table, time_units_table,
85591         relative_time_table, time_zone_table, military_table,
85592         lookup_zone, lookup_word, get_date):
85593         Use NULL instead of 0 where appropriate.
85594         (to_hour): Avoid abort (), to avoid a dependency on
85595         stdlib.h.
85596         (yyerror, yylex): Now accepts parser_control * arg.
85597         (main) [TEST]: Use '\0' rather than 0 for char.
85598
85599 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
85600
85601         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
85602
85603 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
85604
85605         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
85606         It's now the caller's responsibility to handle the case where
85607         !HAVE_GETPAGESIZE && !defined getpagesize.
85608
85609         * lib/mktime.c (leapyear): Arg is long int, not int.
85610
85611 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
85612
85613         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
85614
85615 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
85616
85617         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
85618         missing.  Problem reported by James Youngman.
85619
85620 2004-10-16  Simon Josefsson  <jas@extundo.com>
85621
85622         * gnulib-tool: Fix comments.  Fix parse problem.
85623         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
85624
85625 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
85626
85627         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
85628         implementation of getopt_long.  Problem reported by Alexander Taler in:
85629         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
85630
85631 2004-10-15  Bruno Haible  <bruno@clisp.org>
85632
85633         * gnulib-tool: Untabify. Initialize supplied_libname.
85634         (func_usage): More homogenous output.
85635         (func_modules_transitive_closure, func_modules_to_filelist,
85636         func_emit_lib_Makefile_am): New functions.
85637         (func_import): New function, extracted from big case statement. Use
85638         func_get_license, func_modules_transitive_closure,
85639         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
85640         opt_lgpl. Don't use test -a, as it's not portable.
85641         (func_create_testdir): Use func_modules_transitive_closure,
85642         func_modules_to_filelist, func_emit_lib_Makefile_am.
85643
85644 2004-10-15  Bruno Haible  <bruno@clisp.org>
85645
85646         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
85647
85648 2004-10-15  Bruno Haible  <bruno@clisp.org>
85649
85650         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
85651         the portions belonging to each module.
85652         Suggested by Derek Robert Price <derek@ximbiot.com>.
85653
85654 2004-10-12  Simon Josefsson  <jas@extundo.com>
85655
85656         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
85657         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
85658         to real functions.
85659
85660 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
85661
85662         * modules/vsnprintf: New file.
85663
85664 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
85665
85666         * m4/vsnprintf.m4: New file.
85667
85668 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
85669
85670         * lib/vsnprintf.h: New file.
85671         * lib/vsnprintf.c: New file.
85672
85673 2004-10-11  Bruno Haible  <bruno@clisp.org>
85674
85675         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
85676         vsnprintf.
85677
85678 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
85679
85680         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
85681
85682 2004-10-07  Bruno Haible  <bruno@clisp.org>
85683
85684         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
85685         fits into the provided buffer.
85686
85687 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
85688
85689         * lib/diacrit.c, diacrit.h: Add GPL notice.
85690
85691         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
85692         notice.
85693         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
85694         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
85695         This avoids a potential constant-folding bug.
85696
85697 2004-10-05  Bruno Haible  <bruno@clisp.org>
85698
85699         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
85700         for the declaration of strsep.
85701
85702 2004-10-05  Bruno Haible  <bruno@clisp.org>
85703
85704         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
85705
85706 2004-10-04  Simon Josefsson  <jas@extundo.com>
85707
85708         * modules/memmem: New file.
85709         * tests/test-memmem.c: New file.
85710         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
85711
85712 2004-10-04  Simon Josefsson  <jas@extundo.com>
85713
85714         * m4/memmem.m4: New file.
85715
85716 2004-10-04  Simon Josefsson  <jas@extundo.com>
85717
85718         * lib/memmem.h: New file.
85719         * lib/memmem.c: New file, taken from glibc.
85720
85721 2004-10-04  Simon Josefsson  <jas@extundo.com>
85722
85723         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
85724         '#ifdef USE_UNLOCKED_IO'.
85725
85726 2004-10-04  Simon Josefsson  <jas@extundo.com>
85727
85728         * config/srclist.txt: Add memmem from glibc.
85729
85730 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
85731
85732         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
85733
85734         * modules/argmatch, modules/argp, modules/closeout, modules/error,
85735         modules/exclude, modules/getdate, modules/getline,
85736         modules/getndelim2, modules/getpass, modules/getpass-gnu,
85737         modules/getusershell, modules/linebuffer, modules/md5,
85738         modules/mountlist, modules/posixtm, modules/readtokens,
85739         modules/readutmp, modules/regex, modules/sha1,
85740         modules/version-etc, modules/yesno:
85741         Remove dependency on unlocked-io.
85742
85743 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
85744
85745         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
85746
85747         * m4/unlocked-io.m4: Add copyright notice.
85748         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
85749
85750 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
85751
85752         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
85753         * lib/xmalloc.c (xmemdup): Likewise.
85754         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
85755         XFREE): Remove these long-obsolescent macros.
85756         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
85757         * lib/xstrdup.c: Remove.
85758
85759         * lib/regex.c (re_comp): Cast gettext return value to char *,
85760         Problem reported by Martin Neitzel via Mark D. Baushke.
85761
85762 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
85763
85764         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
85765         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
85766         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
85767         regex.c, sha1.c, version-etc.c, yesno.c:
85768         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
85769         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
85770         the includer's responsibility.
85771
85772         Sync from coreutils.
85773
85774         * lib/modechange.c (mode_compile): Don't decrement a pointer that
85775         points to the start of a string, as the C Standard says the
85776         resulting behavior is undefined.
85777
85778         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
85779         simple -> simple_backups, numbered_existing ->
85780         numbered_existing_backups, numbered -> numbered_backups
85781         to avoid shadowing problems.  All uses changed.
85782         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
85783         * lib/backupfile.c (check_extension, numbered_backup):
85784         Rename locals to avoid shadowing 'basename'.
85785         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
85786         once.
85787
85788         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
85789         * lib/.cvsignore: Add getopt.h.
85790
85791 2004-10-04  Bruno Haible  <bruno@clisp.org>
85792
85793         * modules/README: New file.
85794         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
85795         not a module.
85796
85797 2004-10-02  Jim Meyering  <jim@meyering.net>
85798
85799         * lib/dirfd.h, getpagesize.h: Add copyright notice.
85800
85801 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
85802
85803         * modules/strsep: New file.
85804
85805 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
85806
85807         * m4/strsep.m4: New file.
85808
85809 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
85810
85811         * lib/strsep.h: New file.
85812         * lib/strsep.c: New file.
85813
85814 2004-10-01  Simon Josefsson  <jas@extundo.com>
85815
85816         * lib/snprintf.c (snprintf): Handle size==0.
85817
85818 2004-10-01  Simon Josefsson  <jas@extundo.com>
85819             Bruno Haible  <bruno@clisp.org>
85820
85821         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
85822         (snprintf): Declare 'args'.
85823
85824 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
85825
85826         * lib/snprintf.c: Remove comments as to why each header is needed.
85827
85828 2004-10-01  Bruno Haible  <bruno@clisp.org>
85829
85830         * MODULES.html.sh: Add strsep.
85831
85832 2004-09-30  Simon Josefsson  <jas@extundo.com>
85833
85834         * modules/snprintf: New file.
85835
85836 2004-09-30  Simon Josefsson  <jas@extundo.com>
85837
85838         * m4/snprintf.m4: New file.
85839
85840 2004-09-30  Simon Josefsson  <jas@extundo.com>
85841
85842         * lib/snprintf.h, lib/snprintf.c: New files.
85843
85844 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85845
85846         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
85847         (hol_entry_help): Never translate an empty string.
85848         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
85849         * lib/argp.h (OPTION_NO_TRANS): New option.
85850
85851 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
85852
85853         * modules/argp (Maintainer): Replace Simon Josefsson
85854         by Sergey Poznyakoff.
85855
85856 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
85857
85858         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
85859         changes merged back into glibc.
85860
85861 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
85862
85863         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
85864
85865 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
85866
85867         * lib/xvasprintf.c: Include xalloc.h.
85868         (xvasprintf): Use xalloc_die, not xmalloc_die.
85869
85870 2004-09-29  Bruno Haible  <bruno@clisp.org>
85871
85872         * modules/alloca-opt: New file, derived from modules/alloca.
85873         * modules/allocsa: Depend on alloca-opt instead of alloca.
85874         * modules/setenv: Likewise.
85875         * modules/vasnprintf: Likewise.
85876         * MODULES.html.sh: Add alloca-opt.
85877
85878 2004-09-28  Simon Josefsson  <jas@extundo.com>
85879
85880         * gnulib-tool: New parameter --lgpl, to asseert that modules are
85881         LGPL, and to replace license template from GPL to LGPL.
85882
85883 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
85884
85885         * modules/dummy: Change license to LGPL.
85886
85887 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
85888
85889         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
85890
85891 2004-09-24  Simon Josefsson  <jas@extundo.com>
85892
85893         * modules/minmax (License): Change from GPL to LGPL.
85894
85895 2004-09-23  Simon Josefsson  <jas@extundo.com>
85896
85897         * gnulib-tool (--import): Typo.
85898
85899 2004-09-23  Simon Josefsson  <jas@extundo.com>
85900
85901         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
85902
85903 2004-09-22  Bruno Haible  <bruno@clisp.org>
85904
85905         * modules/*: Add 'License' field.
85906         * gnulib-tool: Accept --extract-license option.
85907         (func_get_license): New function.
85908
85909 2004-09-21  Bruno Haible  <bruno@clisp.org>
85910
85911         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
85912         Reported by Simon Josefsson.
85913
85914 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
85915
85916         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
85917         gl_AC_TYPE_LONG_LONG.
85918
85919 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
85920
85921         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
85922
85923 2004-09-18  Simon Josefsson  <jas@extundo.com>
85924         and  Paul Eggert  <eggert@cs.ucla.edu>
85925
85926         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
85927         calls with autoreconf.  Define GL_LIB.
85928
85929 2004-09-14  Karl Berry  <karl@gnu.org>
85930
85931         * config/srclist.txt: unsync setenv.c, sigh.
85932
85933 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
85934
85935         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
85936         Problem reported by Bruno Haible in:
85937         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
85938
85939 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
85940
85941         * config/srclist.txt: Comment out argp-pvh.c.
85942
85943 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
85944
85945         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
85946         in case some system header has #define'd it.  Problem reported by
85947         Soeren D. Schulze in
85948         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
85949
85950 2004-09-09  Karl Berry  <karl@gnu.org>
85951
85952         * regex.[ch]: delete from the root.  These were supposed to be
85953                 synced with emacs cvs, but this has not happened for about
85954                 a year, and anyway nothing else uses emacs regex.[ch].
85955                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
85956                 lib/regex[.ch] is untouched.
85957
85958 2004-09-09  Bruno Haible  <bruno@clisp.org>
85959
85960         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
85961
85962 2004-09-09  Bruno Haible  <bruno@clisp.org>
85963
85964         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
85965         modifications.
85966         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
85967
85968 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
85969
85970         * modules/xvasprintf: New file.
85971         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
85972
85973 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
85974
85975         * lib/xvasprintf.h: New file.
85976         * lib/xvasprintf.c: New file.
85977         * lib/xasprintf.c: New file.
85978
85979 2004-09-08  Bruno Haible  <bruno@clisp.org>
85980
85981         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
85982
85983 2004-09-08  Bruno Haible  <bruno@clisp.org>
85984
85985         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
85986         length is > INT_MAX.
85987         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
85988         more.
85989
85990 2004-09-08  Bruno Haible  <bruno@clisp.org>
85991
85992         * lib/stdint_.h: New file, taken from GNU clisp.
85993
85994 2004-09-08  Bruno Haible  <bruno@clisp.org>
85995             Oskar Liljeblad  <oskar@osk.mine.nu>
85996
85997         * modules/stdint: New file.
85998         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
85999
86000 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
86001
86002         Import from coreutils.
86003         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
86004         strings on unbounded length.  alloca's performance benefits aren't
86005         that important here.
86006         (V_STRDUP): Remove.
86007         (parse_with_separator): New function, with most of the internals
86008         of the old parse_user_spec.  Allow user to omit both user and group,
86009         for compatibility with FreeBSD.
86010         Clone only the user name, not the entire spec.
86011         Do not set *uid, *gid unless entirely successful.
86012         Avoid memory leak in some failing cases.
86013         Fix regression for USER.GROUP reported by Dmitry V. Levin in
86014         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
86015         (parse_user_spec): Rewrite to use parse_with_separator.
86016
86017 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
86018
86019         * modules/userspec: Don't depend on alloca.
86020
86021 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
86022
86023         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
86024
86025 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
86026
86027         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
86028         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
86029         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
86030
86031 2004-08-16  Simon Josefsson  <jas@extundo.com>
86032
86033         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
86034         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
86035         Add --dry-run for --import.
86036         Let user provided command line parameters override configure.ac
86037         settings.
86038
86039 2004-08-12  Simon Josefsson  <jas@extundo.com>
86040
86041         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
86042         as discussed with Paul Eggert in threads rooted at
86043         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
86044         and
86045         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
86046         Before, the test was empty, and relied on ELIDE_CODE in source
86047         code.)
86048         (gl_PREREQ_GETOPT): New macro.
86049         (gl_GETOPT): Use them.
86050
86051 2004-08-12  Simon Josefsson  <jas@extundo.com>
86052
86053         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
86054         * lib/getopt_.h: Renamed from getopt.h.
86055
86056 2004-08-12  Simon Josefsson  <jas@extundo.com>
86057
86058         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
86059         Change default library name from libfoo to libgnu.
86060         Now, if you have a configure.ac that says:
86061                 gl_SOURCE_BASE(gl)
86062                 gl_M4_BASE(gl/m4)
86063                 gl_MODULES(error getopt etcetera)
86064                 gl_INIT
86065         you can import all you need by running:
86066                 ../gnulib/gnulib-tool --import
86067
86068         * modules/getopt (Files): Rename getopt.h to getopt_.h.
86069         (Makefile.am): Rewrite, use logic from argz.
86070         (Include): Use <getopt.h> instead of "getopt.h".
86071
86072 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
86073
86074         * modules/argp (Files): Add m4/unlocked-io.m4.
86075         (Depends-on): Add extensions.
86076
86077 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
86078
86079         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
86080         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
86081         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
86082         Check for program_invocation_name, program_invocation_short_name,
86083         flockfile, funlockfile, features.h, _getopt_long_only_r.
86084
86085 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
86086
86087         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
86088         its complicated substitute.
86089         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
86090         and program_invocation_name.
86091         (__argp_basename) [!_LIBC]: Remove; the only use was
86092         replaced by its body.
86093         (__argp_short_program_name): Change condition from
86094         !defined __argp_short_program_name to
86095         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
86096         to match argp-namefrob.h.
86097         (__argp_failure): Don't assume strerror_r returns char *.
86098         * lib/argp-parse.c (N_): Define unconditionally.
86099         (argp_default_options): Fill out initializers with 0 to avoid
86100         gcc warnings.
86101
86102 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
86103
86104         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
86105         getopt1.c.
86106
86107 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
86108
86109         Merge from coreutils.
86110
86111         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
86112
86113         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
86114         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
86115
86116 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
86117
86118         Merge from coreutils.
86119
86120         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
86121         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
86122         for Reliant Unix 5.43.
86123
86124         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
86125         (union fooround): Use uintmax_t, not long int.
86126         The rest is a merge from libc:
86127         [defined _LIBC]: Include <shlib-compat.h>.
86128         (_obstack) [defined _LIBC]: Remove after 2.3.4.
86129
86130         * lib/settime.c (settime): Recode to avoid warning with
86131         Sun Forte C 6U2.
86132
86133         * lib/strverscmp.c: Convert to UTF-8.
86134
86135 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
86136
86137         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
86138         m4/uintmax_t.m4.
86139
86140 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
86141
86142         * modules/xalloc-die: New file.
86143         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
86144
86145         * modules/md5 (Files): Add m4/uint32_t.m4.
86146         * modules/sha1: Renamed from modules/sha.
86147         (Files):
86148         Rename lib/sha.h to lib/sha1.h.
86149         Rename lib/sha.c to lib/sha1.c.
86150         Rename m4/sha.m4 to m4/sha1.m4.
86151         (lib_SOURCES): Likewise.
86152         (configure.ac): Rename gl_SHA to gl_SHA1.
86153         (Include): sha.h -> sha1.h.
86154
86155 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
86156
86157         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
86158         * m4/sha1.m4: Renamed from sha.m4.
86159         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
86160
86161 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
86162
86163         * lib/obstack.h (obstack_empty_p):
86164         Don't assume that chunk->contents is suitably aligned.
86165         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
86166         Likewise. Problem reported by Benno in
86167         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
86168
86169         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
86170         readable.  This could be improved further but it'd take some work.
86171
86172 2004-08-08  Simon Josefsson  <jas@extundo.com>
86173
86174         * modules/xgethostname (Depends-on): Remove exit and error (not
86175         used).
86176
86177         * modules/getpass-gnu: Add getpass.h.
86178         (Depends-on): Add stdbool.
86179         * modules/getpass: Add getpass.h.
86180
86181 2004-08-08  Simon Josefsson  <jas@extundo.com>
86182
86183         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
86184         Check getpass declaration.
86185
86186 2004-08-08  Simon Josefsson  <jas@extundo.com>
86187
86188         * lib/xgethostname.c: Don't include error.h (not used).
86189
86190         * lib/getpass.h: Add.
86191         * lib/getpass.c: Include getpass.h first.
86192
86193 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
86194
86195         * lib/xalloc-die.c: New file.
86196         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
86197         All uses removed.
86198         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
86199         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
86200         xalloc-die.c.
86201         (_, N_, xalloc_die): Move to xalloc-die.c.
86202         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
86203         so that we needn't mess with xalloc_msg_memory_exhausted.
86204
86205         * lib/sha1.h: Renamed from sha.h.
86206         (SHA1_H): Renamed from _SHA_H.
86207         (sha1_ctx): Renamed from sha_ctx.
86208         (sha1_init_ctx): Renamed from sha_init_ctx.
86209         (sha1_process_block): Renamed from sha_process_block.
86210         (sha1_process_bytes): Renamed from sha_process_bytes.
86211         (sha1_finish_ctx): Renamed from sha_finish_ctx.
86212         (sha1_read_ctx): Renamed from sha_read_ctx.
86213         (sha1_stream): Renamed from sha_stream.
86214         (sha1_buffer): Renamed from sha_buffer.
86215         * lib/sha1.c: Likewise; renamed from sha.c.
86216         Do not include <sys/types.h>.
86217         Include <stddef.h> rather than <stdlib.h>.
86218
86219 2004-08-08  Bruno Haible  <bruno@clisp.org>
86220
86221         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
86222         FILESYSTEM_PREFIX_LEN.
86223         * lib/progreloc.c: Likewise.
86224         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
86225
86226 2004-08-06  Simon Josefsson  <jas@extundo.com>
86227
86228         * modules/progname (Depends-on): Don't depend on stdbool.
86229
86230 2004-08-06  Simon Josefsson  <jas@extundo.com>
86231
86232         * modules/getsubopt: New file.
86233         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
86234         getsubopt.
86235
86236 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
86237
86238         More merge from coreutils.
86239
86240         * m4/utimens.m4, m4/utimecmp.m4: New files.
86241         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
86242         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
86243         prereq.m4, sha.m4: Import changes from coreutils.
86244
86245 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
86246
86247         More merge from coreutils.
86248         * modules/raise, modules/readtokens0, modules/utimens:
86249         * modules/utimecmp, module/xnanosleep: New files.
86250         * modules/strftime: Add lib/strftime.h.
86251         Change include from <time.h> to "strftime.h".
86252         * modules/yesno: Add lib/yesno.h.
86253         * modules/backupfile: Remove lib/addext.c.
86254         * modules/euidaccess: Add stat-macros.h.
86255         * modules/canonicalize, modules/euidaccess,
86256         modules/filemode, modules/lchown, modules/makepath,
86257         modules/rmdir, modules/stat: Likewise.
86258
86259 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
86260
86261         Merge from tar.
86262         * lib/argp-help.c (make_hol, hol_append): Don't assume that
86263         SIZE_MAX is a valid preprocessor constant.
86264         (__argp_basename): Change from "#ifndef _LIBC"
86265         to "#ifndef __argp_short_program_name", so that
86266         we don't compile these functions for tar.
86267
86268         More merges from coreutils.
86269         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
86270         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
86271         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
86272         * lib/addext.c: Remove; no longer needed.
86273         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
86274         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
86275         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
86276         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
86277         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
86278         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
86279         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
86280         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
86281         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
86282         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
86283         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
86284         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
86285         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
86286         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
86287         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
86288         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
86289         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
86290         Import changes from coreutils.
86291
86292 2004-08-05  Simon Josefsson  <jas@extundo.com>
86293
86294         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
86295
86296 2004-08-05  Simon Josefsson  <jas@extundo.com>
86297
86298         * m4/getsubopt.m4: New file.
86299
86300 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
86301
86302         Merge from coreutils.
86303
86304         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
86305         * m4/getcwd-path-max.m4: New files.
86306
86307         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
86308         FILESYSTEM_PREFIX_LEN ->
86309         FILE_SYSTEM_PREFIX_LEN.
86310         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
86311         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
86312         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
86313         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
86314
86315         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
86316         prerequisite modules now handle the DOS stuff.
86317         Don't check for unistd.h.
86318
86319 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
86320
86321         Merge from coreutils.
86322
86323         * lib/.gdb-history: Remove; this doesn't belong here.
86324
86325         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
86326         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
86327         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
86328         * lib/getcwd.c: New files.
86329
86330         * lib/dirname.h: Include <stdbool.h>.
86331         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
86332         for consistency with POSIX terminology.  All uses changed.
86333         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
86334         (strip_trailing_slashes): Use bool for booleans.
86335         * lib/stripslash.c (strip_trailing_slashes): Likewise.
86336
86337         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
86338         sometimes returns a positive errno value even when it succeeds.
86339         (print_errno_message) [!LIBC]: Fall back on strerror if
86340         __strerror_r fails.
86341
86342         * lib/path-concat.c (mempcpy): Don't define if a system header defines
86343         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
86344         (longest_relative_suffix): New function.
86345         (path_concat): Use it.  Assume first argument is not NULL.
86346         Port to DOS.  Omit redundant separators.
86347         Report an error instead of returning NULL.
86348         Use mempcpy instead of memcpy.
86349         (xpath_concat): Remove: not declared or used.
86350
86351         * lib/same.h: Include <stdbool.h>
86352         (same_name): Return bool, not int.
86353         * lib/same.c (same_name): Likewise.
86354         (errno): Don't declare; we assume C89 or better now.
86355
86356         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
86357         if not already defined.
86358
86359         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
86360         * lib/dup-safer.c (errno): Likewise.
86361
86362 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
86363
86364         Merge from coreutils.
86365         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
86366         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
86367         * modules/path-concat: Don't depend on strdup.
86368
86369 2004-08-03  Simon Josefsson  <jas@extundo.com>
86370
86371         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
86372         * lib/progname.h: Don't include stdbool.h.
86373
86374 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
86375
86376         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
86377         * MODULES.html.sh (func_all_modules): Remove fatal.
86378
86379 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
86380
86381         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
86382
86383 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
86384
86385         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
86386         working.
86387
86388 2004-08-02  Simon Josefsson  <jas@extundo.com>
86389
86390         * lib/getsubopt.h: New file, with comments from Bruno Haible.
86391         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
86392         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
86393
86394 2004-08-01  Simon Josefsson  <jas@extundo.com>
86395
86396         * lib/xgetdomainname.c: Include stdlib.h, for free().
86397
86398 2004-07-19  Bruno Haible  <bruno@clisp.org>
86399
86400         * MODULES.html.sh (func_all_modules): Add dummy.
86401
86402 2004-07-16  Simon Josefsson  <jas@extundo.com>
86403
86404         * modules/dummy: New file.
86405
86406 2004-07-16  Simon Josefsson  <jas@extundo.com>
86407
86408         * lib/dummy.c: New file.
86409
86410 2004-07-16  Bruno Haible  <bruno@clisp.org>
86411
86412         * lib/backupfile.h: Add extern "C" for C++.
86413         * lib/closeout.h: Likewise.
86414         * lib/copy-file.h: Likewise.
86415         * lib/findprog.h: Likewise.
86416         * lib/full-write.h: Likewise.
86417         * lib/pathname.h: Likewise.
86418         * lib/progname.h: Likewise.
86419         * lib/stpcpy.h: Likewise.
86420         * lib/stpncpy.h: Likewise.
86421         * lib/strcase.h: Likewise.
86422         * lib/strstr.h: Likewise.
86423         * lib/xalloc.h: Likewise.
86424
86425         * lib/mbswidth.h: Add extern "C" for C++.
86426         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
86427
86428 2004-07-13  Robert Millan  <robertmh@gnu.org>
86429
86430         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
86431
86432 2004-07-09  Simon Josefsson  <jas@extundo.com>
86433
86434         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
86435         failed without this.)
86436
86437 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
86438
86439         * modules/chown (Files): Add lib/fchown-stub.c, since
86440         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
86441
86442 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
86443
86444         * lib/fchown-stub.c: New file.
86445
86446 2004-06-24  Jim Meyering  <jim@meyering.net>
86447
86448         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
86449
86450 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
86451
86452         * modules/argz: Omit "#include".
86453
86454         * MODULES.html.sh (func_all_modules): Add calloc, to match
86455         2004-06-01 addition of calloc module.
86456
86457 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
86458
86459         * m4/argz.m4: New file, which is autoupdated from libtool.
86460
86461 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
86462
86463         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
86464         libtool.
86465
86466 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
86467
86468         * config/srclist-update: Don't insist on "USA." before the
86469         close-comment, as libtool omits the period and puts the */ on a
86470         separate line.
86471         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
86472         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
86473
86474 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
86475
86476         * modules/argz: New file.
86477         * MODULES.html.sh (func_all_modules): Add argz.
86478
86479 2004-06-12  Jim Meyering  <jim@meyering.net>
86480         and  Paul Eggert  <eggert@cs.ucla.edu>
86481
86482         * modules/hash (Files): Add lib/xalloc.h.
86483         * modules/pipe (Depends-on): Add wait-process.
86484         * modules/stat (Depends-on): Add xalloc.
86485         * modules/userspec (Files): Add lib/userspec.h.
86486         * modules/xstrto
86487
86488         Upgrade from gettext-0.13.
86489         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
86490         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
86491         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
86492
86493 2004-06-10  Jim Meyering  <jim@meyering.net>
86494
86495         * lib/calloc.c: New file.
86496
86497 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
86498
86499         * lib/getdate.y (yylex): Allow space between sign and number.
86500         Problem reported by Dan Jacobson.
86501
86502 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
86503
86504         Merge from coreutils CVS.
86505
86506         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
86507         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
86508         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
86509         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
86510         xstrtol.m4: Fix copyright date and/or serial number.
86511
86512         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
86513         See if we need an fchown replacement.
86514         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
86515         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
86516         and use the replacement function if we detect either defect.
86517
86518         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
86519         gl_UTIMECMP.
86520
86521 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
86522         and  Jim Meyering  <jim@meyering.net>
86523
86524         Merge from coreutils CVS.
86525
86526         * lib/stat-macros.h: New file, with contents from file-type.h
86527         and coreutils' system.h.
86528         * lib/file-type.c: Include "stat-macros.h".
86529         * lib/file-type.h (file_type): Move all macro definitions to new file,
86530         stat-macros.h.
86531
86532         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
86533         Wrap old code with this conditional.
86534         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
86535         function that does not dereference symlinks.
86536         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
86537
86538         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
86539         dependency problems.
86540         (xreadlink): Accept new arg SIZE, for efficiency.
86541         All decls and uses changed.
86542         * lib/xreadlink.h: Include <stddef.h>, for size_t.
86543
86544         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
86545         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
86546
86547         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
86548         sysexits.h.
86549
86550 2004-06-01  Jim Meyering  <jim@meyering.net>
86551
86552         * m4/calloc.m4: New file.
86553
86554 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
86555
86556         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
86557         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
86558         Also, fix a typo in a diagnostic.
86559
86560 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
86561
86562         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
86563         or AC_FUNC_REALLOC.
86564
86565 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
86566
86567         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
86568         macros to be defined.
86569         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
86570         the allocator returns NULL because the requested size is zero.
86571
86572 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
86573
86574         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
86575         var.  Add comment explaining why libc still defines it.  This
86576         merges the following patch from glibc:
86577         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
86578
86579 2004-05-20  Andreas Schwab  <schwab@suse.de>
86580
86581         * m4/free.m4: Replace free if it not known to work, not the other
86582         way round.
86583
86584 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
86585
86586         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
86587         present in glibc since revision 1.1 of this file.
86588         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
86589         obstack_alignment_mask, obstack_alloc, obstack_base,
86590         obstack_blank, obstack_blank_fast, obstack_chunk_size,
86591         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
86592         obstack_grow0, obstack_init, obstack_int_grow,
86593         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
86594         obstack_next_free, obstack_object_size, obstack_ptr_grow,
86595         obstack_ptr_grow_fast, obstack_room): Remove declarations of
86596         nonexistent functions.
86597
86598 2004-05-18  Karl Berry  <karl@gnu.org>
86599
86600         * config/srclist.txt: break link for vasnprintf.c.
86601
86602 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
86603
86604         Port obstack to the AS/400, where pointers are 16 bytes wide and
86605         you cannot cast an integer to a valid pointer.  This patch is
86606         currently waiting to be integrated into glibc; see
86607         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
86608
86609         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
86610         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
86611         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
86612         (struct obstack): temp member is now a union of a pointer and
86613         an integer, instead of an integer.  All integer uses changed.
86614         This does not affect the physical layout of struct obstack,
86615         except on hosts (like the AS/400) where the size or alignment of
86616         void * is greater than that of ptrdiff_t.
86617         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
86618         __STDC__)]: Store temporary in pointer member of union, not
86619         integer member.
86620         * lib/obstack.c: Include <stddef.h>, for offsetof.
86621         (struct fooalign): Remove; it doesn't need a name.
86622         (union fooround): Change double to long double, and add void *.
86623         (DEFAULT_ALIGNMENT): Use offsetof to compute.
86624         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
86625         not a macro.  Hence the values are always int; so remove all
86626         casts-to-int in uses.
86627
86628 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
86629
86630         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
86631         we can get this patch merged into glibc.
86632
86633 2004-05-17  Derek R. Price  <derek@ximbiot.com>
86634             Paul Eggert  <eggert@cs.ucla.edu>
86635
86636         * m4/argp: Depend on alloca.
86637
86638 2004-05-17  Derek R. Price  <derek@ximbiot.com>
86639             Paul Eggert  <eggert@cs.ucla.edu>
86640
86641         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
86642         freecoding.
86643
86644 2004-05-17  Bruno Haible  <bruno@clisp.org>
86645
86646         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
86647         precision that consists of a '.' followed by an empty digit string.
86648         Patch by Tor Lillqvist <tml@iki.fi>.
86649
86650 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
86651
86652         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
86653         for backward compatibility with older code.  We need our own
86654         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
86655         it under some other name, and our alloca.h will define it.
86656
86657 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
86658             Derek Price  <derek@ximbiot.com>
86659
86660         * lib/alloca.c: Include <alloca.h>, to get our interface.
86661         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
86662         include <alloca.h> first.  Use C89 prototype for alloca; this
86663         requires including <stddef.h> for size_t.  Use extern "C" if C++.
86664         Use #elif for simplicity, since we can assume C89 now.
86665         Don't try to source the system alloca.h since it will not be found
86666         and to prevent recursively including its replacement.
86667         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
86668         * lib/regex.c: Likewise.
86669
86670 2004-05-16  Derek Price  <derek@ximbiot.com>
86671             Paul Eggert  <eggert@cs.ucla.edu>
86672
86673         getline cleanup.  This changes the getndelim2 API: both order of
86674         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
86675         no delimiter).
86676
86677         * lib/getline.c: Don't include stddef.h or stdio.h, since our
86678         interface does that.
86679         (getline): Always use getdelim, so that we don't have two
86680         copies of this code.
86681         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
86682         if available.
86683         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
86684         (GETNDELIM2_MAXIMUM): New macro.
86685         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
86686         instead of the old practice of delim2==0.  All callers changed.
86687         Return -1 on overflow, instead of returning junk.
86688         Do not set *linesize unless allocation succeeds.
86689         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
86690         that we include sys/types.h.
86691         * lib/getnline.h: Likewise.
86692         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
86693         (getndelim2): Reorder arguments.
86694         * lib/getnline.c (getnline, getndelim):
86695         Don't discard the NMAX argument.
86696         (getnline): Invoke getndelim, to avoid code duplication.
86697         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
86698         of (size_t) -1 by callers of the getnline family.
86699
86700 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
86701
86702         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
86703         Check for gettimeofday.
86704         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
86705         Check for settimeofday, stime.
86706
86707 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
86708
86709         * lib/nanosleep.c (suspended): Change its type from int to
86710         sig_atomic_t volatile.
86711         (first_call): Make it private to rpl_nanosleep, and have it
86712         be zero initially as that's a bit faster.
86713         (my_usleep): Round up fractional times instead of truncating them,
86714         as this is the usual meaning for 'sleep'.
86715
86716         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
86717         doesn't work.
86718         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
86719         (ENOSYS): Define if not defined.
86720         (settime): Fall back on stime if it exists and settimeofday fails.
86721         But don't bother with fallbacks if a method fails with errno == EPERM.
86722
86723 2004-05-11  Jim Meyering  <jim@meyering.net>
86724
86725         Prior to this change, the save_cwd caller required read access to the
86726         current directory on most systems (ones with the fchdir function).
86727
86728         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
86729         fails, try write-only, and finally, resort to using xgetcwd.
86730
86731 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
86732
86733         * lib/obstack.c, obstack.h: Import changes from libc.
86734
86735 2004-04-28  Bruno Haible  <bruno@clisp.org>
86736
86737         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
86738         also implicitly appends .exe to executables.
86739         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
86740         accepts Windows pathnames.
86741         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
86742         Treat Cygwin like Windows, since it now accepts Windows pathnames.
86743         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
86744         Treat Cygwin like Windows, since it now accepts Windows pathnames.
86745         Reported by Derek Robert Price <derek@ximbiot.com>.
86746
86747 2004-04-21  Karl Berry  <karl@gnu.org>
86748
86749         * config/srclist.txt (localcharset.c): break sync.
86750
86751 2004-04-20  Paul Eggert  <eggert@twinsun.com>
86752
86753         * m4/host-os.m4: Add a copyright notice.
86754
86755 2004-04-20  Jim Meyering  <jim@meyering.net>
86756
86757         Change UTILS_ to gl_ in AC_DEFINE'd names.
86758         Change utils_- and jm_-prefixed variables, too.
86759         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
86760         UTILS_FUNC_MKDIR_TRAILING_SLASH.
86761         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
86762
86763         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
86764         Don't emit trailing blanks.
86765         Also rename jm_-prefixed variables to have gl_ prefix.
86766
86767         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
86768         Also rename jm_-prefixed variables to have gl_ prefix.
86769
86770         * m4/jm-macros.m4: Reflect the renamings.
86771         * m4/prereq.m4: Likewise.
86772
86773 2004-04-20  Jim Meyering  <jim@meyering.net>
86774
86775         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
86776         memory.
86777
86778 2004-04-20  Jim Meyering  <jim@meyering.net>
86779             Bruno Haible  <bruno@clisp.org>
86780
86781         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
86782         memory when realloc fails.
86783
86784 2004-04-19  Jim Meyering  <jim@meyering.net>
86785
86786         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
86787         now that readutmp.c may call `free (0)'.
86788
86789 2004-04-19  Bruno Haible  <bruno@clisp.org>
86790
86791         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
86792         * m4/inttypes_h.m4: Likewise.
86793         * m4/stdint_h.m4: Likewise.
86794         * m4/intmax_t.m4: Likewise.
86795         * m4/uintmax_t.m4: Likewise.
86796
86797 2004-04-18  Jim Meyering  <jim@meyering.net>
86798
86799         * m4/prereq.m4: Don't forbid jm_ prefix.
86800
86801         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
86802         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
86803         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
86804         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
86805         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
86806         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
86807         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
86808         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
86809         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
86810         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
86811         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
86812         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
86813         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
86814         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
86815         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
86816         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
86817         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
86818         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
86819         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
86820
86821 2004-04-18  Jim Meyering  <jim@meyering.net>
86822
86823         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
86824         failure, don't leak memory and do call END_UTMP_ENT.
86825
86826 2004-04-16  Jim Meyering  <jim@meyering.net>
86827
86828         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
86829         coreutils' stat program.
86830         (gl_PREREQ): Don't require jm_PREREQ_STAT.
86831
86832 2004-04-11  Paul Eggert  <eggert@twinsun.com>
86833
86834         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
86835         C89.
86836         (CHAR_BIT): Remove, since we assume C89.
86837         Include <stdint.h> if available, as per current Autoconf CVS advice.
86838
86839 2004-03-31  Jim Meyering  <jim@meyering.net>
86840
86841         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
86842         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
86843         * m4/xalloc.m4: Likewise.
86844
86845 2004-03-30  Paul Eggert  <eggert@twinsun.com>
86846
86847         Merge from coreutils.
86848
86849         * m4/inttostr.m4: New file.
86850         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
86851         Require AM_STDBOOL_H and gl_TIMESPEC instead.
86852         Require gl_CLOCK_TIME.
86853         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
86854
86855 2004-03-30  Paul Eggert  <eggert@twinsun.com>
86856
86857         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
86858         not bool, to be more consistent with Unix conventions.
86859         Suggested by Bruno Haible.
86860
86861         Merge from coreutils.
86862
86863         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
86864         * lib/umaxtostr.c: New files.
86865
86866         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
86867         the usual <time.h> dance.
86868         (get_date): Change signature to support fractional time stamps.
86869         All callers changed.
86870         * lib/getdate.y: Include "getdate.h" first, as we can now
86871         assume C89 and don't need to worry about 'const'.
86872         Similarly, include "unlocked-io.h" near start, not in middle.
86873         Include <limits.h>.
86874         (textint.value): Use long int rather than int.
86875         (textint.digits): Use size_t rather than int.
86876         (BILLION, LOG10_BILLION): New constants.
86877         (parser_control): New member rel_ns.  Members day_ordinal,
86878         time_zone, month, day, hour, minutes, rel_year, rel_month,
86879         rel_day, rel_hour, rel_minutes, rel_seconds
86880         are now long int, not int.  Member seconds is now struct timespec,
86881         not int.  New member timespec_seen.  Members dates_seen, days_seen,
86882         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
86883         not int.
86884         (%union.intval): Now long int, not int.
86885         New member timespec.
86886         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
86887         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
86888         (spec): Now is a timespec or an item list.
86889         (timespec, items): New nonterminals.
86890         (time, rel, relunit, number, get_date):
86891         Add support for fractional seconds.
86892         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
86893         (gmtime, localtime, mktime): Remove decls; not needed with C89.
86894         (to_hour): First arg is now long int, not int.
86895         (to_year): Returns long int, not int.
86896         Don't treat year -70 like 70.
86897         (tm_diff): Returns long int, not int.
86898         (lookup_word): Use bool instead of int when appropriate.
86899         (yylex): Use size_t for count, not int.
86900         Detect overflow when parsing large integer constants.
86901         Add support for fractions.
86902         (get_date): Make pointers 'const' if possible.
86903         Use more-portable code to detect integer overflow.
86904         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
86905         Don't use ctime; it's not reliable if the year has >4 digits.
86906
86907         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
86908         This is for compatibility with BSD.
86909
86910         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
86911         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
86912         From coreutils' system.h.
86913
86914         * lib/userspec.c: Don't include "posixver.h".
86915         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
86916         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
86917         compatible extension.  Simplify code by removing a boolean int
86918         that was always nonzero if a string was nonnull.
86919
86920 2004-03-30  Jim Meyering  <jim@meyering.net>
86921
86922         Merge from coreutils.
86923
86924         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
86925         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
86926         on some systems one must include <grp.h> before it.
86927         Reported by Christian Krackowizer.
86928
86929 2004-03-30  Jim Meyering  <jim@meyering.net>
86930
86931         Merge from coreutils.
86932
86933         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
86934
86935         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
86936         an empty input stream.
86937
86938         * lib/readtokens.c: Include <stdbool.h>.
86939         (readtoken): Use `size_t' rather than int/long.
86940         All callers adjusted.
86941         Use `bool' rather than `int' where appropriate.
86942         Use memset rather than an explicit loop.
86943         Use x2nrealloc rather than xrealloc.
86944         Allow the use of `\0' as a delimiter.
86945         (readtokens): Likewise.
86946         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
86947
86948 2004-03-30  Jim Meyering  <jim@meyering.net>
86949
86950         * m4/realloc.m4: Remove file, since now it does no more than
86951         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
86952         the `configure.ac' section of module/realloc.
86953         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
86954
86955 2004-03-30  Bruno Haible  <bruno@clisp.org>
86956
86957         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
86958         nonnull.
86959
86960 2004-03-29  Paul Eggert  <eggert@twinsun.com>
86961
86962         Merge changes to getloadavg.c from coreutils and Emacs.
86963
86964         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
86965         Define to an expression, not to the empty string.
86966         Include cloexec.h and xalloc.h.
86967         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
86968         Use set_cloexec_flag rather than rolling our own.
86969         * lib/cloexec.c, lib/cloexec.h: New files.
86970
86971 2004-03-29  Paul Eggert  <eggert@twinsun.com>
86972
86973         * m4/cloexec.m4: New file.
86974
86975 2004-03-18  Paul Eggert  <eggert@twinsun.com>
86976
86977         * lib/getopt.h: Sync with libc CVS.
86978
86979 2004-03-18  Paul Eggert  <eggert@twinsun.com>
86980             Bruno Haible  <bruno@clisp.org>
86981
86982         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
86983         mbswidth.
86984
86985 2004-03-18  Paul Eggert  <eggert@twinsun.com>
86986             Bruno Haible  <bruno@clisp.org>
86987
86988         * lib/mbswidth.h: Include <wchar.h> only if
86989         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
86990         <wchar.h>.
86991         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
86992
86993 2004-03-09  Paul Eggert  <eggert@twinsun.com>
86994
86995         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
86996         Sync with libc CVS.
86997         * lib/getopt_int.h: New file, also synced from libc.
86998
86999 2004-03-09  Paul Eggert  <eggert@twinsun.com>
87000
87001         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
87002         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
87003         Bring back getopt.c, getopt.h, getopt1.c.
87004
87005 2004-03-07  Paul Eggert  <eggert@twinsun.com>
87006
87007         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
87008         All uses changed.  Check for sa_sigaction member; this fixes
87009         a bug first reported by Jason Andrade in
87010         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
87011
87012 2004-03-07  Paul Eggert  <eggert@twinsun.com>
87013
87014         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
87015         '#if' expressions.  Unlike the code it replaces, it does not
87016         depend on (defined _SC_PAGESIZE).  However, it does depend on
87017         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
87018         first reported by Jason Andrade in
87019         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
87020
87021 2004-02-25  Simon Josefsson  <jas@extundo.com>
87022
87023         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
87024
87025 2004-02-25  Simon Josefsson  <jas@extundo.com>
87026
87027         * lib/strdup.h: New file.
87028         * lib/strdup.c: Include it.
87029         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
87030         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
87031
87032 2004-02-23  Karl Berry  <karl@gnu.org>
87033
87034         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
87035         (from fencepost.gnu.org:/gd/gnuorg).
87036
87037 2004-02-23  Karl Berry  <karl@gnu.org>
87038
87039         * config/srclistvars.sh (GNUORG) [karl]: redefine.
87040         * config/srclist.txt: add maintain/standards documents.
87041
87042 2004-02-18  Bruno Haible  <bruno@clisp.org>
87043
87044         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
87045         Reported by Derek Robert Price <derek@ximbiot.com>.
87046
87047 2004-02-16  Karl Berry  <karl@gnu.org>
87048
87049         * config/mkinstalldirs, install-sh: update from automake.
87050
87051 2004-02-06  Karl Berry  <karl@gnu.org>
87052
87053         * m4/po.m4: update from gettext 0.14.1.
87054
87055 2004-02-06  Karl Berry  <karl@gnu.org>
87056
87057         * lib/config.charset: update from gettext 0.14.1.
87058
87059 2004-02-05  Paul Eggert  <eggert@twinsun.com>
87060
87061         Add comments and code, prompted by suggestions from Bruno Haible
87062         for sh-quote.
87063         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
87064         describing the enum quoting_style values.
87065         * lib/quotearg.c (quotearg_alloc): New function.
87066         (quotearg_buffer_restyled): Treat lone { and } as special.
87067         Treat = as special.  Work around bug with older shells
87068         that "see" a '\' that is really the 2nd byte of a multibyte char.
87069         Quote empty string with shell_quoting_style.
87070
87071 2004-02-03  Bruno Haible  <bruno@clisp.org>
87072
87073         * m4/pipe.m4: New file, from GNU gettext.
87074
87075 2004-02-03  Bruno Haible  <bruno@clisp.org>
87076
87077         * lib/pipe.h: New file, from GNU gettext.
87078         * lib/pipe.c: New file, from GNU gettext.
87079
87080 2004-01-27  Bruno Haible  <bruno@clisp.org>
87081
87082         * m4/execute.m4: New file, from GNU gettext.
87083
87084 2004-01-27  Bruno Haible  <bruno@clisp.org>
87085
87086         * lib/execute.h: New file, from GNU gettext.
87087         * lib/execute.c: New file, from GNU gettext.
87088         * lib/w32spawn.h: New file, from GNU gettext.
87089
87090 2004-01-24  Paul Eggert  <eggert@twinsun.com>
87091
87092         Merge from diffutils.
87093
87094         * lib/file-type.c (file_type): Add typed memory objects.
87095         * lib/file-type.h (S_TYPEISTMO): New macro.
87096
87097         * lib/c-stack.h (c_stack_action): Remove argv argument.
87098         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
87099         (die): Don't calculate message unless segv_action returns.
87100         (get_stack_location, min_address_from_argv, max_address_from_argv,
87101         volatile stack_base, volatile_stack_size): Remove.
87102         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
87103         that every segmentation violation is a stack overflow.  (Ouch!)
87104         See Debian bug 136249 (still outstanding) for more info about why
87105         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
87106
87107 2004-01-24  Paul Eggert  <eggert@twinsun.com>
87108
87109         Exit-status fix from coreutils.
87110
87111         Use exit_failure consistently in place of EXIT_FAILURE,
87112         so that program exit statuses are consistent on failure.
87113
87114         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
87115         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
87116         * lib/argmatch.h: Comment fix to match the above.
87117         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
87118         Now a macro referring to exit_failure, instead of a separate
87119         variable.  Include "exitfail.h" to get it.
87120         * lib/xstrtol.h: Include "exitfail.h".
87121         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
87122
87123         * lib/long-options.c (parse_long_options): Use prototype
87124         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
87125         for clarity.
87126
87127 2004-01-21  Jim Meyering  <jim@meyering.net>
87128
87129         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
87130         so as not to conflict with a different-sized __mktime_internal
87131         function in GNU libc.
87132         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
87133         Problem building statically-linked `ls' reported by Michael Brunnbauer.
87134
87135 2004-01-20  Karl Berry  <karl@gnu.org>
87136
87137         * config/config.guess: update from config.
87138
87139         * config/srclistvars.sh: GNUWWWLICENSES for karl.
87140
87141 2004-01-20  Bruno Haible  <bruno@clisp.org>
87142
87143         Safer stack allocation.
87144         * lib/setenv.c: Include allocsa.h.
87145         (alloca): Remove fallback definition.
87146         (freea): Remove macro.
87147         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
87148         instead of freea.
87149
87150 2004-01-20  Bruno Haible  <bruno@clisp.org>
87151
87152         * m4/eealloc.m4: New file, from GNU gettext.
87153
87154 2004-01-20  Bruno Haible  <bruno@clisp.org>
87155
87156         * m4/allocsa.m4: New file, from GNU gettext.
87157
87158 2004-01-20  Bruno Haible  <bruno@clisp.org>
87159
87160         * lib/xallocsa.h: New file, from GNU gettext.
87161         * lib/xallocsa.c: New file, from GNU gettext.
87162
87163 2004-01-20  Bruno Haible  <bruno@clisp.org>
87164
87165         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
87166
87167 2004-01-20  Bruno Haible  <bruno@clisp.org>
87168
87169         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
87170         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
87171         specially.
87172
87173 2004-01-20  Bruno Haible  <bruno@clisp.org>
87174
87175         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
87176         patch.
87177
87178 2004-01-20  Bruno Haible  <bruno@clisp.org>
87179
87180         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
87181
87182 2004-01-20  Bruno Haible  <bruno@clisp.org>
87183
87184         * lib/eealloc.h: New file.
87185
87186 2004-01-20  Bruno Haible  <bruno@clisp.org>
87187
87188         * lib/binary-io.h: Avoid warnings on Cygwin.
87189
87190 2004-01-20  Bruno Haible  <bruno@clisp.org>
87191
87192         * lib/allocsa.h: New file, from GNU gettext.
87193         * lib/allocsa.c: New file, from GNU gettext.
87194
87195 2004-01-18  Karl Berry  <karl@gnu.org>
87196
87197         * doc/gpl.texi, doc/lgpl.texi: new files.
87198
87199 2004-01-18  Karl Berry  <karl@gnu.org>
87200
87201         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
87202         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
87203
87204 2004-01-15  Paul Eggert  <eggert@twinsun.com>
87205
87206         Merge from coreutils.
87207
87208         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
87209         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
87210         (gl_DEFAULT_POSIX2_VERSION): Move
87211         the documentation from 'configure' into 'config.hin',
87212         so that 'configure --help' isn't burdened by it and
87213         we don't have to worry about its formatting there.
87214         Reword the documentation so that it's more succinct
87215         and can be run together into a single paragraph.
87216         * m4/same.m4 (gl_SAME): Check for pathconf.
87217
87218 2004-01-15  Paul Eggert  <eggert@twinsun.com>
87219
87220         Merge from coreutils.
87221
87222         * lib/posixver.c: Include posixver.h.
87223
87224         * lib/same.c: Include <stdbool.h>, <limits.h>.
87225         (_POSIX_NAME_MAX): Define if not defined.
87226         (MIN): New macro.
87227         (same_name): If file names are silently truncated, report
87228         that the file names are the same if they are the same after
87229         the silent truncation.
87230
87231         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
87232         conversion function.
87233         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
87234         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
87235         longer needed.
87236
87237 2004-01-15  Jim Meyering  <jim@meyering.net>
87238
87239         Merge from coreutils.
87240
87241         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
87242         if no library is required.
87243         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
87244         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
87245         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
87246         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
87247         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
87248         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
87249         value, $ac_cv_search_crypt, if it's "none required".
87250         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
87251         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
87252         not gl_FUNC_GETLOADAVG.
87253         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
87254         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
87255
87256 2004-01-15  Jim Meyering  <jim@meyering.net>
87257
87258         Merge from coreutils.
87259
87260         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
87261         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
87262         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
87263
87264         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
87265         optional configure-time default.
87266
87267         * lib/version-etc.c (version_etc_copyright): Update copyright date.
87268
87269         * lib/xreadlink.c (xreadlink): Correct outdated comment.
87270
87271 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
87272
87273         Merge from coreutils.
87274
87275         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
87276         value, $ac_cv_search_nanosleep, if it's "none required".
87277
87278 2004-01-14  Paul Eggert  <eggert@twinsun.com>
87279
87280         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
87281         with like-named macro in fnmatch.c.
87282         (EXT): Use an internal constant instead.
87283
87284         Merge fnmatch patches from glibc.
87285         * lib/fnmatch.c (mbsinit): Remove define.
87286         Add libc_hidden_ver (__fnmatch, fnmatch).
87287         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
87288         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
87289
87290 2004-01-14  Karl Berry  <karl@gnu.org>
87291
87292         * config/install-sh: update from automake.
87293
87294 2004-01-13  Karl Berry  <karl@gnu.org>
87295
87296         * config/install-sh: update from automake.
87297
87298 2004-01-09  Karl Berry  <karl@gnu.org>
87299
87300         * config/install-sh: update from automake.
87301
87302 2004-01-05  Karl Berry  <karl@gnu.org>
87303
87304         * config/config.{sub,guess}: update from config.
87305
87306 2003-12-31  Karl Berry  <karl@gnu.org>
87307
87308         * config/depcomp: update from automake.
87309
87310 2003-12-14  Karl Berry  <karl@gnu.org>
87311
87312         * lib/config.charset: update from gettext-runtime.
87313
87314 2003-12-03  Paul Eggert  <eggert@twinsun.com>
87315
87316         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
87317         Bug reported by Alfred M. Szmidt.
87318
87319 2003-12-03  Bruno Haible  <bruno@clisp.org>
87320
87321         * m4/gettext.m4: Upgrade from gettext-0.13.
87322         * m4/po.m4: Upgrade from gettext-0.13.
87323         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
87324         * m4/intmax.m4: New file, from gettext-0.13.
87325         * m4/printf-posix.m4: New file, from gettext-0.13.
87326
87327 2003-11-29  Karl Berry  <karl@gnu.org>
87328
87329         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
87330
87331 2003-11-25  Paul Eggert  <eggert@twinsun.com>
87332             Bruno Haible  <bruno@clisp.org>
87333
87334         * lib/printf-parse.h: Don't include sys/types.h.
87335         (ARG_NONE): New macro.
87336         (char_directive): Change type of *arg_index fields to size_t.
87337         * lib/printf-parse.c: Don't include sys/types.h.
87338         (SSIZE_MAX): Remove macro.
87339         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
87340         Remove unnecessary overflow check.
87341         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
87342         fields.
87343
87344 2003-11-25  Bruno Haible  <bruno@clisp.org>
87345
87346         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
87347
87348 2003-11-25  Bruno Haible  <bruno@clisp.org>
87349
87350         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
87351         gt_TYPE_SSIZE_T.
87352
87353 2003-11-24  Paul Eggert  <eggert@twinsun.com>
87354
87355         * modules/alloca: Remove dependency on xalloc.
87356
87357 2003-11-24  Paul Eggert  <eggert@twinsun.com>
87358
87359         * lib/alloca.c: Remove dependency on xalloc module.
87360         (xalloc_die): Remove.
87361         (memory_full) [!defined emacs]: New macro.
87362         [!defined emacs]: Don't include xalloc.h.
87363         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
87364         address arithmetic overflows.  Change datatypes a bit to avoid
87365         unnecessary casts.
87366
87367 2003-11-22  Jim Meyering  <jim@meyering.net>
87368
87369         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
87370         s/size/size_t/.
87371
87372 2003-11-21  Karl Berry  <karl@gnu.org>
87373
87374         * config/config.{sub,guess}: update from config.
87375
87376 2003-11-18  Karl Berry  <karl@gnu.org>
87377
87378         * config/config.{sub,guess}: update from config.
87379
87380         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
87381
87382 2003-11-17  Paul Eggert  <eggert@twinsun.com>
87383
87384         * README: Mention that S+T cannot overflow if S is the size of
87385         an existing object and T is sufficiently small.
87386
87387 2003-11-17  Jim Meyering  <jim@meyering.net>
87388
87389         On systems without utime and without a utimes function capable of
87390         dealing with a NULL struct utimbuf* argument, this utime replacement
87391         could -- in unusual circumstances -- leak a file descriptor.
87392         * lib/utime.c: Include <unistd.h> and <errno.h>.
87393         (utime_null): Be sure to close `fd' and to preserve errno.
87394         Reported by Geoff Collyer via Arnold Robbins.
87395
87396 2003-11-17  Bruno Haible  <bruno@clisp.org>
87397
87398         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
87399         (Depends-on): Add xsize.
87400
87401 2003-11-17  Bruno Haible  <bruno@clisp.org>
87402
87403         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
87404
87405 2003-11-17  Bruno Haible  <bruno@clisp.org>
87406
87407         * lib/vasnprintf.c (alloca): Remove fallback definition.
87408         (freea): Remove definition.
87409         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
87410         Reported by Paul Eggert.
87411
87412 2003-11-16  Paul Eggert  <eggert@twinsun.com>
87413             Bruno Haible  <bruno@clisp.org>
87414
87415         Protect against address arithmetic overflow.
87416         * lib/printf-args.h: Include stddef.h.
87417         (arguments): Change type of field 'count' to size_t.
87418         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
87419         'unsigned int' where appropriate.
87420         * lib/printf-parse.h: Include sys/types.h.
87421         (char_directive): Change type of *arg_index fields to ssize_t.
87422         (char_directives): Change type of fields 'count', max_*_length to
87423         size_t.
87424         * lib/printf-parse.c: Include sys/types.h and xsize.h.
87425         (SSIZE_MAX): Define fallback value.
87426         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
87427         instead of 'int' where appropriate. Check a_allocated, d_allocated
87428         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
87429         * lib/vasnprintf.c: Include xsize.h.
87430         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
87431         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
87432         overflow. Avoid wraparound when converting a width or precision from
87433         decimal to binary.
87434
87435 2003-11-16  Bruno Haible  <bruno@clisp.org>
87436
87437         Update from GNU gettext.
87438         * lib/printf-parse.c: Generalize to it can be compiled for wide
87439         strings.
87440         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
87441         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
87442         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
87443         SNPRINTF): New macros.
87444         Don't include <alloca.h> if the file is used inside libintl.
87445         (local_wcslen): New function, for Solaris 2.5.1.
87446         (VASNPRINTF): Use it instead of wcslen.
87447
87448 2003-11-16  Bruno Haible  <bruno@clisp.org>
87449
87450         * lib/xsize.h (xmax): New function.
87451         (xsum, xsum3, xsum4): Declare as "pure" functions.
87452
87453 2003-11-12  Paul Eggert  <eggert@twinsun.com>
87454
87455         * modules/xalloc (Files): Undo latest change, since xalloc.h
87456         no longer needs SIZE_MAX or PTRDIFF_MAX.
87457
87458 2003-11-12  Paul Eggert  <eggert@twinsun.com>
87459
87460         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
87461         gl_PTRDIFF_MAX.
87462
87463 2003-11-12  Paul Eggert  <eggert@twinsun.com>
87464
87465         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
87466         "return", to pacify some unknown compiler.  Problem reported
87467         by Joerg Schilling.
87468
87469 2003-11-12  Paul Eggert  <eggert@twinsun.com>
87470
87471         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
87472         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
87473         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
87474         heuristic is just as accurate as far as we know, and it removes a
87475         dependency on size_max.m4 and ptrdiff_max.m4.
87476
87477 2003-11-11  Bruno Haible  <bruno@clisp.org>
87478
87479         * modules/xsize (Files): Add m4/size_max.m4.
87480         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
87481
87482 2003-11-11  Bruno Haible  <bruno@clisp.org>
87483
87484         * m4/size_max.m4: New file.
87485         * m4/ptrdiff_max.m4: New file.
87486         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
87487         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
87488         (gl_XALLOC): Invoke it.
87489
87490 2003-11-11  Bruno Haible  <bruno@clisp.org>
87491
87492         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
87493         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
87494         defined.
87495
87496 2003-11-10  Paul Eggert  <eggert@twinsun.com>
87497
87498         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
87499         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
87500         rejected some allocations of exactly SIZE_MAX - 2 bytes.
87501         From Bruno Haible.
87502         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
87503         not (size_t) -1, since it's defined here.
87504
87505 2003-11-09  Karl Berry  <karl@gnu.org>
87506
87507         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
87508
87509 2003-11-06  Paul Eggert  <eggert@twinsun.com>
87510
87511         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
87512         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
87513         Reject sizes of exactly SIZE_MAX bytes.
87514         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
87515         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
87516
87517 2003-11-05  Bruno Haible  <bruno@clisp.org>
87518
87519         * lib/xsize.h: Include limits.h, to avoid a possible collision with
87520         SIZE_MAX defined in <limits.h> on Solaris.
87521
87522 2003-11-04  Jim Meyering  <jim@meyering.net>
87523
87524         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
87525         variable names, rather than @VAR@.
87526         * modules/poll: Likewise.
87527
87528 2003-11-04  Bruno Haible  <bruno@clisp.org>
87529
87530         * modules/xsize: New file.
87531         * modules/linebreak: Depend on xsize.
87532         * MODULES.html.sh (func_all_modules): Add xsize.
87533
87534 2003-11-04  Bruno Haible  <bruno@clisp.org>
87535
87536         * m4/xsize.m4: New file.
87537
87538 2003-11-04  Bruno Haible  <bruno@clisp.org>
87539
87540         * lib/xsize.h: New file.
87541         * lib/linebreak.c: Include xsize.h.
87542         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
87543         argument for overflow.
87544         Suggested by Paul Eggert.
87545
87546 2003-11-03  Karl Berry  <karl@gnu.org>
87547
87548         * config/config.{guess,sub}: update from config.
87549
87550 2003-11-03  Jim Meyering  <jim@meyering.net>
87551
87552         * modules/userspec (lib_SOURCES): Add userspec.h.
87553         (Include): Add "userspec.h".
87554         Improve description.
87555
87556 2003-11-03  Jim Meyering  <jim@meyering.net>
87557
87558         * lib/userspec.c: Include "userspec.h".
87559         * lib/userspec.h: New file.
87560
87561 2003-11-03  Bruno Haible  <bruno@clisp.org>
87562
87563         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
87564
87565 2003-11-03  Bruno Haible  <bruno@clisp.org>
87566
87567         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
87568         available, to avoid (extremely rare) race condition.
87569         Suggested by Paul Eggert.
87570
87571 2003-11-02  Karl Berry  <karl@gnu.org>
87572
87573         * config/srclist.txt (vasprintf.c): sync broken, sigh.
87574
87575 2003-10-31  Paul Eggert  <eggert@twinsun.com>
87576
87577         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
87578         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
87579         (read_filesystem_list): Set and use me_type_malloced.
87580         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
87581         whatever the type happens to be), for brevity and consistency.
87582         Check for size calculation overflow on Alphas running OSF/1.
87583
87584 2003-10-31  Jim Meyering  <jim@meyering.net>
87585
87586         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
87587
87588         * lib/linebuffer.c: Include <string.h> for declaration of memset.
87589
87590 2003-10-30  Paul Eggert  <eggert@twinsun.com>
87591             Bruno Haible  <bruno@clisp.org>
87592
87593         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
87594         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
87595
87596 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
87597
87598         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
87599         netbsd*-gnu*.  Suggested by Robert Millan.
87600
87601 2003-10-29  Paul Eggert  <eggert@twinsun.com>
87602
87603         * modules/group-member: Depend on stdbool.
87604
87605 2003-10-29  Paul Eggert  <eggert@twinsun.com>
87606
87607         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
87608
87609 2003-10-29  Paul Eggert  <eggert@twinsun.com>
87610
87611         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
87612         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
87613         after the 'gnu' in these cases.  This fixes some bugs in the
87614         previous change, and is based on suggestions by Robert Millan.
87615
87616 2003-10-29  Paul Eggert  <eggert@twinsun.com>
87617
87618         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
87619         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
87620         no longer needed.
87621         * lib/quotearg.c (quotearg_n_options): Use it.
87622         * lib/group-member.c: Include <stdbool.h>.
87623         (free_group_info): Arg is now const *; don't free arg.
87624         (get_group_info): Now returns bool and accepts struct group_info *,
87625         rather than returning a malloc'ed struct group_info *.
87626         All uses changed.  Check for overflow in internal size calculation.
87627
87628         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
87629         rather than xmalloc/xrealloc.
87630         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
87631         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
87632         conformance bug: the old code used a pointer after freeing the
87633         storage that it addressed.
87634         * lib/hash.c (hash_initialize): Simplify the code by using
87635         xalloc_oversized rather than doing it by hand.
87636         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
87637         the buffer preserved.  Use free and xmalloc instead.
87638         * lib/quotearg.c (quotearg_n_options): Likewise.
87639         Use a simpler test for size overflow.  Don't use xalloc_oversized
87640         because unsigned int might be wider than size_t (!); this suggests
87641         that we should switch from unsigned int to size_t for slot numbers.
87642
87643 2003-10-28  Paul Eggert  <eggert@twinsun.com>
87644
87645         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
87646         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
87647         NetBSD kernels.  Requested by Richard Stallman.
87648
87649 2003-10-27  Paul Eggert  <eggert@twinsun.com>
87650
87651         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
87652         to allocate the returned structure.  Do not allocate a subarray,
87653         as x2nrealloc will do that.
87654         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
87655         instead of xnrealloc.
87656         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
87657
87658 2003-10-27  Bruno Haible  <bruno@clisp.org>
87659
87660         * lib/stdbool_.h: Better support for BeOS.
87661
87662 2003-10-26  Paul Eggert  <eggert@twinsun.com>
87663
87664         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
87665         now uses inline.
87666
87667 2003-10-26  Paul Eggert  <eggert@twinsun.com>
87668
87669         * lib/xalloc.h (xalloc_oversized): New static inline function, for
87670         callers that want to do their own size-overflow checking.  Include
87671         <stdbool.h>, since xalloc_oversized returns bool.
87672         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
87673         to use xalloc_oversized.
87674
87675         Add two functions x2realloc, x2nrealloc, for programs that grow
87676         arrays dynamically by doubling their sizes.
87677         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
87678         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
87679         New functions.
87680
87681         Port to C99 semantics for 'inline' of external functions.
87682         Bug reported by Bruno Haible.
87683         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
87684         with the old contents of xnmalloc.
87685         (xnmalloc, xmalloc): Use it.
87686         (xnrealloc_inline): New static inline function,
87687         with the old contents of xnrealloc.
87688         (xnrealloc, xrealloc): Use it.
87689
87690         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
87691         that.
87692
87693 2003-10-26  Karl Berry  <karl@gnu.org>
87694
87695         * config/srclist.txt (COPYING.DOC): no longer available from
87696         /gd/gnuorg; don't know where the ultimate source is.
87697
87698 2003-10-25  Paul Eggert  <eggert@twinsun.com>
87699
87700         Fix several address-calculation bugs in the hash modules,
87701         plus some minor code cleanup.
87702
87703         * lib/hash.h: Include <stdbool.h>, for bool.
87704         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
87705         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
87706         hash_get_n_entries, hash_get_max_bucket_length,
87707         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
87708         hash_rehash): Use size_t rather than unsigned.
87709         * lib/hash.c (struct hash_table, hash_get_n_buckets,
87710         hash_get_n_buckets_used, hash_get_n_entries,
87711         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
87712         hash_get_entries, hash_do_for_each, hash_string, is_prime,
87713         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
87714         Likewise.
87715         (SIZE_MAX): Define if not defined.
87716         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
87717         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
87718         hash_print):
87719         Use const * when possible.
87720         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
87721         (check_tuning): Fix bug: if tuning parameters were very close to
87722         0 or 1, rounding errors could have caused subscript violations.
87723         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
87724         (hash_initialize): Add 'fail:' label
87725         to free table and return NULL, and use it to simplify code.
87726         Use calloc rather than clearing the storage ourself.
87727         (hash_initialize, hash_rehash): Check for arithmetic overflow in
87728         buffer size calculations.
87729         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
87730         Include <stddef.h>, for size_t.
87731         * lib/hash-pjw.c (hash_pjw): Likewise.
87732         Switch to method described by Bruno Haible.
87733         Include <limits.h>, for CHAR_BIT.
87734         (SIZE_BITS): New macro.
87735
87736 2003-10-23  Paul Eggert  <eggert@twinsun.com>
87737
87738         * m4/getline.m4 (AM_FUNC_GETLINE):
87739         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
87740         hosts.  Problem reported by Derek Robert Price in
87741         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
87742         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
87743         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
87744
87745 2003-10-21  Paul Eggert  <eggert@twinsun.com>
87746
87747         * lib/getndelim2.c (getndelim2): When size calculation overflows,
87748         ceiling the allocation at NMAX bytes rather than silently
87749         discarding input bytes before NMAX is reached.  This makes
87750         a difference only if NMAX exceeds SIZE_MAX / 2.
87751
87752         * lib/obstack.c: Merge from glibc.
87753         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
87754         Add libc_hidden_def (_obstack_newchunk).
87755         (_obstack_free) [! defined _LIBC]: Remove.
87756         [defined _LIBC]: Make a strong alias from obstack_free, rather than
87757         a clone of the function body.
87758         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
87759         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
87760
87761         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
87762         glibc.
87763         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
87764         arg to memcpy.
87765
87766         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
87767         (obstack_ptr_grow_fast, obstack_int_grow_fast):
87768         Don't use lvalue casts, as GCC plans to remove support for them
87769         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
87770         was also present in the non-GCC version, indicating that this
87771         code had always been buggy and had never been widely used.
87772         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
87773         Use the fast variant of each macro, rather than copying the
87774         definiens of the fast variant; that way, we'll be more likely to
87775         catch future bugs in the fast variants.
87776
87777 2003-10-20  Bruno Haible  <bruno@clisp.org>
87778
87779         * modules/wait-process: New file.
87780         * MODULES.html.sh (func_all_modules): Add wait-process.
87781
87782 2003-10-20  Bruno Haible  <bruno@clisp.org>
87783
87784         * m4/wait-process.m4: New file.
87785
87786 2003-10-20  Bruno Haible  <bruno@clisp.org>
87787
87788         * lib/wait-process.h: New file, from GNU gettext.
87789         * lib/wait-process.c: New file, from GNU gettext.
87790
87791 2003-10-19  Jim Meyering  <jim@meyering.net>
87792
87793         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
87794         HPUX 10.20.
87795
87796 2003-10-18  Karl Berry  <karl@gnu.org>
87797
87798         * config/config.guess: update from config.
87799
87800 2003-10-16  Paul Eggert  <eggert@twinsun.com>
87801
87802         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
87803         (getgroups): First arg is int, not size_t.
87804         Don't let 'free' mangle errno.
87805
87806 2003-10-16  Paul Eggert  <eggert@twinsun.com>
87807
87808         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
87809
87810 2003-10-16  Karl Berry  <karl@gnu.org>
87811
87812         * config/config.{guess,sub}: update from config.
87813
87814 2003-10-16  Jim Meyering  <jim@meyering.net>
87815
87816         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
87817         memcpy.
87818
87819 2003-10-15  Paul Eggert  <eggert@twinsun.com>
87820
87821         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
87822         (SIZE_MAX): Remove.
87823         (new_exclude, add_exclude_file): Initial size no longer needs to
87824         be a power of 2.
87825         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
87826         our own address arithmetic overflow checking.
87827
87828         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
87829         (fnmatch): Do not alloca more than 2000 wide characters;
87830         instead, use malloc for large buffers.
87831         Check for address arithmetic overflow, and return -1
87832         with errno set to ENOMEM in that case.
87833         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
87834         (NEW_PATTERN): Do not alloca more than 8000 bytes;
87835         instead, return -1.  Check for address arithmetic overflow.
87836
87837 2003-10-14  Paul Eggert  <eggert@twinsun.com>
87838
87839         Handle invalid suffixes and overflow independently, so that
87840         callers can treat them independently as needed.  Fix some bugs in
87841         suffix handling, e.g., "100k@" was not diagnosed as an invalid
87842         suffix for a human-readable blocksize.  The major caller-visible
87843         change is the addition of a new
87844         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
87845         that both overflow and suffix chars were found.
87846
87847         * lib/human.c (humblock): Don't check separately for invalid suffix
87848         char; that is xstrtoumax's job (now that its bug is fixed).
87849         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
87850         INTMAX_MAX]: New macros.
87851         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
87852         TYPE_MAXIMUM): New macros.
87853         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
87854         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
87855         if overflow occurs, as it's what __strtol does and it's more useful
87856         in practice.
87857         (__xstrtol): If __strtol reports some error other than ERANGE,
87858         reflect it to the caller as LONGINT_INVALID.  If it reports
87859         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
87860         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
87861         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
87862         value.
87863         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
87864         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
87865         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
87866         [defined UINTMAX_MAX]: New macros.
87867
87868 2003-10-14  Bruno Haible  <bruno@clisp.org>
87869
87870         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
87871
87872 2003-10-14  Bruno Haible  <bruno@clisp.org>
87873
87874         * m4/sig_atomic_t: New file, from GNU gettext.
87875         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
87876
87877 2003-10-14  Bruno Haible  <bruno@clisp.org>
87878
87879         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
87880         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
87881         Also use volatile where needed.
87882
87883 2003-10-12  Paul Eggert  <eggert@twinsun.com>
87884
87885         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
87886         Change maintainer from Bruno Haible to 'all'.
87887
87888 2003-10-12  Paul Eggert  <eggert@twinsun.com>
87889
87890         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
87891
87892 2003-10-12  Paul Eggert  <eggert@twinsun.com>
87893
87894         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
87895         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
87896         and define in terms of the other primitives.
87897         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
87898         (SIZE_MAX): Define if not already defined.
87899         (array_size_overflow): New function.
87900         (xalloc_die): Abort instead of exiting if 'error' returns.
87901         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
87902         (xmalloc, xrealloc): Use them.
87903         (xcalloc): Check for address arithmetic overflow.
87904         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
87905         a bit faster than strcpy.
87906
87907 2003-10-10  Simon Josefsson  <jas@extundo.com>
87908
87909         * modules/argp (Depends-on): Add restrict and strcase.
87910
87911 2003-10-10  Simon Josefsson  <jas@extundo.com>
87912
87913         * m4/argp.m4: Add AC_C_INLINE.
87914
87915 2003-10-08  Paul Eggert  <eggert@twinsun.com>
87916
87917         Merge getpass from libc, plus a few fixes.
87918
87919         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
87920         Include <stdbool.h>.
87921         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
87922         __fsetlocking to empty.
87923         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
87924         do include <bits/libc-lock.h>.
87925         Do not include <fcntl.h>; not needed.
87926         [_LIBC]: Include <wchar.h>.
87927         (NOTCANCEL_MODE): New macro.
87928         (flockfile, funlockfile) [_LIBC]: New macros.
87929         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
87930         [!_LIBC]: New macros.
87931         (call_fclose): New function.
87932         (getpass): Use it.  Save tty stream separately; this simplifies the
87933         code and makes it more reliable if stdin happens to equal stdout.
87934         Invoke __fsetlocking on tty.
87935         Handle thread cancellation if needed.
87936         Namespace cleanup (use __tcgetattr, __getline).
87937         Use bool for Booleans.
87938         [USE_IN_LIBIO]: Handle wide streams.
87939         [!_LIBC]: Unconditionally do the fseek, since we don't know what
87940         stream might go where.
87941
87942         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
87943         doesn't have to include <stdio.h> before us.
87944         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
87945         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
87946         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
87947         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
87948         if not declared, so that we can use getpass.c code from libc without
87949         rewriting it.
87950         (flockfile, ftrylockfile, funlockfile): New macros.
87951
87952 2003-10-08  Paul Eggert  <eggert@twinsun.com>
87953
87954         * modules/getpass: Depend on stdbool.
87955
87956 2003-10-08  Paul Eggert  <eggert@twinsun.com>
87957
87958         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
87959
87960 2003-10-07  Karl Berry  <karl@gnu.org>
87961
87962         * config/config.{guess,sub}: update from config.
87963
87964 2003-10-06  Jim Meyering  <jim@meyering.net>
87965             Bruno Haible  <bruno@clisp.org>
87966
87967         This lets translators provide better translations for the
87968         "Written by ..." part of --version output.
87969         * lib/version-etc.h: Include stdarg.h.
87970         (version_etc_copyright): Declare as readonly.
87971         (version_etc): Make this function variadic with a NULL-terminated list
87972         of author name strings.
87973         (version_etc_va): New declaration.
87974         * lib/version-etc.c: Include stdarg.h, stdlib.h.
87975         (version_etc_copyright): Declare as readonly.
87976         (version_etc_va): New function. Provide a different translatable string
87977         for each possible number of authors < 10. Abbreviate when there are 10
87978         authors or more.
87979         (version_etc): Make this function variadic. Call version_etc_va.
87980         Suggestion from Gary V. Vaughan.
87981
87982         * lib/long-options.h (parse_long_options): Change prototype: the
87983         authors string is moved to the end and becomes variadic.
87984         * lib/long-options.c: Include stdarg.h.
87985         (parse_long_options): Make this function variadic, too.
87986         Call version_etc_va, not version_etc.
87987
87988 2003-10-06  Bruno Haible  <bruno@clisp.org>
87989
87990         * modules/version-etc-2: Remove file.
87991         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
87992
87993 2003-10-06  Bruno Haible  <bruno@clisp.org>
87994
87995         * modules/fatal-signal: New file.
87996         * MODULES.html.sh (func_all_modules): Add fatal-signal.
87997
87998 2003-10-06  Bruno Haible  <bruno@clisp.org>
87999
88000         * m4/fatal-signal.m4: New file.
88001         * m4/signalblocking.m4: New file, from GNU gettext.
88002
88003 2003-10-06  Bruno Haible  <bruno@clisp.org>
88004
88005         * lib/version-etc-2.h: Remove file.
88006         * lib/version-etc-2.c: Remove file.
88007
88008 2003-10-06  Bruno Haible  <bruno@clisp.org>
88009
88010         * lib/fatal-signal.h: New file, from GNU gettext.
88011         * lib/fatal-signal.c: New file, from GNU gettext.
88012
88013 2003-10-05  Paul Eggert  <eggert@twinsun.com>
88014
88015         * README: Rework advice for preventing empty .o files.
88016         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
88017         not <sys/types.h>.
88018
88019 2003-10-04  Karl Berry  <karl@gnu.org>
88020
88021         * lib/argp*: update from libc.
88022
88023 2003-10-04  Karl Berry  <karl@gnu.org>
88024
88025         * config/config.{guess,sub}: update from config.
88026
88027 2003-10-02  Bruno Haible  <bruno@clisp.org>
88028
88029         * modules/lchown (Include): Add lchown.h.
88030         * modules/time_r (Include): Use "..." syntax.
88031         * modules/xgetdomainname (Include): Add xgetdomainname.h.
88032
88033 2003-10-01  Simon Josefsson  <jas@extundo.com>
88034
88035         * MODULES.html.sh (func_all_modules): Move gethostname from section
88036         'based on' to section 'lacking' POSIX:2001.
88037
88038 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
88039
88040         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
88041         to output mode on the same stream.
88042
88043 2003-09-29  Paul Eggert  <eggert@twinsun.com>
88044
88045         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
88046         Fix arg typo in previous patch.
88047
88048 2003-09-28  Jim Meyering  <jim@meyering.net>
88049
88050         * lib/error.c: Correct cpp indentation.
88051
88052 2003-09-27  Paul Eggert  <eggert@twinsun.com>
88053
88054         * modules/free: New file.
88055
88056 2003-09-27  Paul Eggert  <eggert@twinsun.com>
88057
88058         * m4/free.m4: New file.
88059
88060 2003-09-27  Paul Eggert  <eggert@twinsun.com>
88061
88062         * lib/minmax.h (MIN, MAX)
88063         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
88064         Omit the special code that used __typeof__, since we worry that
88065         it could be more trouble than it's worth.  See:
88066         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
88067         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
88068
88069         * lib/free.c: New file.
88070
88071 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
88072
88073         Trivial fixes to Makefile.am parts of module listings.
88074         * modules/strstr: Append strstr.h to lib_SOURCES.
88075         * modules/strcase: Likewise, for strcase.h.
88076
88077 2003-09-27  Karl Berry  <karl@gnu.org>
88078
88079         * config/mkinstalldirs: update from automake.
88080
88081 2003-09-26  Paul Eggert  <eggert@twinsun.com>
88082
88083         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
88084         (error_tail): Do not loop, reallocating temporary buffer, since
88085         the output cannot contain more wide characters than the input
88086         contains bytes, the size must be big enough already.  This avoids
88087         one potential size overflow calculation.  Check for size overflow
88088         when calculating temporary buffer size.  Free temporary buffer
88089         when done, if it was allocated with malloc; this plugs a memory
88090         leak.  Remove casts from void * to pointers, that are no longer
88091         needed now that we're assuming C89 or better.
88092
88093         Merge error changes from glibc.
88094
88095         * lib/error.c, error.h: Update copyright notice header to match glibc.
88096         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
88097         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
88098         Disable cancellation while printing error.
88099         * lib/error.h: Prepend __ to parameter names.
88100
88101 2003-09-26  Jim Meyering  <jim@meyering.net>
88102
88103         * lib/error.c (error_tail): Move some declarations
88104         into inner scope where the local variables are used.
88105
88106 2003-09-26  Bruno Haible  <bruno@clisp.org>
88107
88108         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
88109         stpncpy().
88110         Don't define stpncpy through config.h; it's now done through stpncpy.h.
88111
88112 2003-09-26  Bruno Haible  <bruno@clisp.org>
88113
88114         * lib/stpncpy.h (gnu_stpncpy): New declaration.
88115         (stpncpy): Define as alias for gnu_stpncpy.
88116         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
88117
88118 2003-09-25  Simon Josefsson  <jas@extundo.com>
88119
88120         * lib/xgetdomainname.h: New file.
88121         * lib/xgetdomainname.c: New file.
88122
88123 2003-09-25  Simon Josefsson  <jas@extundo.com>
88124             Bruno Haible  <bruno@clisp.org>
88125
88126         * modules/getdomainname: New file.
88127         * modules/xgetdomainname: New file.
88128         * MODULES.html.sh (func_all_modules): Add getdomainname,
88129         xgetdomainname.
88130
88131 2003-09-25  Simon Josefsson  <jas@extundo.com>
88132             Bruno Haible  <bruno@clisp.org>
88133
88134         * m4/getdomainname.m4: New file.
88135
88136 2003-09-25  Simon Josefsson  <jas@extundo.com>
88137             Bruno Haible  <bruno@clisp.org>
88138
88139         * lib/getdomainname.h: New file.
88140         * lib/getdomainname.c: New file.
88141
88142 2003-09-25  Karl Berry  <karl@gnu.org>
88143
88144         * lib/argp-fmtstream.c, argp-help.c: update from libc.
88145
88146 2003-09-25  Karl Berry  <karl@gnu.org>
88147
88148         * config/install-sh: update from automake.
88149
88150 2003-09-25  Bruno Haible  <bruno@clisp.org>
88151
88152         * modules/version-etc-2: New file, from modules/version-etc with
88153         modifications.
88154         * MODULES.html.sh (func_all_modules): Add version-etc-2.
88155
88156 2003-09-25  Bruno Haible  <bruno@clisp.org>
88157
88158         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
88159         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
88160
88161 2003-09-24  Simon Josefsson  <jas@extundo.com>
88162
88163         * modules/xgethostname: Add xgethostname.h.
88164
88165 2003-09-24  Paul Eggert  <eggert@twinsun.com>
88166
88167         * lib/linebuffer.c (freebuffer): Don't free the argument, just
88168         the buffer associated with the argument.  Bug reported by
88169         Simon Josefsson.
88170
88171 2003-09-24  Paul Eggert  <eggert@twinsun.com>
88172
88173         * README: Document assumptions that 'int' is at least 32 bits
88174         wide, that integer arithmetic is 2's complement without overflow,
88175         that there are no holes in integer values, that adding sizes of
88176         two nonoverlapping objects can't overflow, and that all-bits-zero
88177         yields scalar zero.  Fix spelling and capitalization typos.
88178
88179 2003-09-19  Karl Berry  <karl@gnu.org>
88180
88181         * lib/argp.h: update from libc.
88182
88183 2003-09-17  Paul Eggert  <eggert@twinsun.com>
88184
88185         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
88186         to avoid spurious warnings like "AC_RUN_IFELSE was called before
88187         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
88188
88189 2003-09-17  Paul Eggert  <eggert@twinsun.com>
88190
88191         * gnulib-tool: Use "test -h", not "test -L", for portability
88192         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
88193         (tags_regexp): Remove, since \| doesn't conform to POSIX.
88194         (sed_extract_prog): Issue s commands one-by-one, rather than
88195         using \| in one s command.
88196
88197 2003-09-16  Paul Eggert  <eggert@twinsun.com>
88198
88199         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
88200         input error, instead of returning NULL the next time we are called
88201         (and therefore losing track of errno).
88202
88203 2003-09-16  Bruno Haible  <bruno@clisp.org>
88204
88205         * gnulib-tool (func_create_testdir): Warn about duplicated
88206         dependencies.
88207
88208 2003-09-15  Paul Eggert  <eggert@twinsun.com>
88209
88210         * modules/argmatch, modules/fatal, modules/obstack,
88211         modules/xalloc, modules/xgethostname: Sort dependencies by
88212         importance, not alphabetically.
88213
88214 2003-09-15  Paul Eggert  <eggert@twinsun.com>
88215
88216         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
88217         fails, so that the caller gets the proper errno.
88218
88219         * lib/readutmp.c (read_utmp): Likewise.
88220         Check for fstat error.  Close stream and free storage
88221         when failing.
88222
88223 2003-09-14  Karl Berry  <karl@gnu.org>
88224
88225         * config/srclist.txt (strdup.c): disable for c89 changes.
88226
88227 2003-09-14  Jim Meyering  <jim@meyering.net>
88228
88229         * lib/getloadavg.c: Correct cpp indentation.
88230         * lib/strdup.c: Likewise.
88231         * lib/vasnprintf.c: Likewise.
88232
88233 2003-09-14  Bruno Haible  <bruno@clisp.org>
88234
88235         * modules/fwriteerror: New file.
88236         * MODULES.html.sh (func_all_modules): Add fwriteerror.
88237
88238 2003-09-14  Bruno Haible  <bruno@clisp.org>
88239
88240         * lib/fwriteerror.h: New file.
88241         * lib/fwriteerror.c: New file.
88242
88243 2003-09-12  Paul Eggert  <eggert@twinsun.com>
88244
88245         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
88246         modules/xgethostname, modules/xalloc: Depend on exit.
88247
88248 2003-09-12  Paul Eggert  <eggert@twinsun.com>
88249
88250         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
88251
88252         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
88253         and AC_MINIX, too, so that their extensions are available.
88254
88255         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
88256         This macro has been superseded by gl_BACKUPFILE.
88257
88258         More patches to assume C89 or better.
88259
88260         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
88261
88262         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
88263         unconditionally.
88264         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
88265         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
88266         Include <string.h>, <stdlib.h> unconditionally.
88267         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
88268         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
88269         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
88270         headers or for string.h.
88271         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
88272         or strtoul.
88273
88274         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
88275         headers.
88276         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
88277         * m4/userspec.m4 (gl_USERSPEC): Likewise.
88278         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
88279         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
88280         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
88281         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
88282         memcpy, memset.
88283         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
88284         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
88285         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
88286         strtol.
88287         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
88288         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
88289         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
88290         strtoul.
88291
88292 2003-09-12  Paul Eggert  <eggert@twinsun.com>
88293
88294         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
88295         * lib/obstack.c [!defined _LIBC]: Likewise.
88296         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
88297         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
88298         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
88299
88300         More changes to assume C89 or better.
88301
88302         * lib/error.c (error_tail): Assume vprintf.
88303
88304         * lib/argmatch.c (getenv): Remove decl.
88305         * lib/progreloc.c (get_full_program_name): Define via prototype.
88306         * lib/setenv.c (clearenv): Likewise.
88307         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
88308         needed.
88309         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
88310         (malloc, memcpy): Remove decls.
88311         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
88312         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
88313         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
88314         (memcpy): Remove macro.
88315         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
88316         (__P): Remove.  All uses removed.
88317         (PTR): Remove.  All uses changed to void *.
88318         (CHAR_BIT, NULL): Remove.
88319         (spaces, zeros, memset_space, memset_zero)
88320         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
88321         Remove.
88322         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
88323         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
88324         Define with prototype.
88325         Remove now-unnecessary prototype decl.
88326         (extra_args_spec): Assume ANSI C.  All uses changed.
88327         (extra_args_spec_iso): Remove.
88328         (my_strftime, emacs_strftimeu): Define via prototype.
88329         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
88330         unconditionally.
88331         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
88332         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
88333         (strtoul, strtol): Remove decls.
88334         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
88335         LONG_MAX): Remove.
88336         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
88337         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
88338         (LOCALE_PARAM_PROTO): New macro.
88339         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
88340         (INTERNAL (strtol), strtol): Define with a prototype.
88341         (PARAMS): Remove.  All uses removed.
88342         * lib/tempname.c: Include <string.h> unconditionally.
88343         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
88344         * lib/xgethostname.c (main): Define with a prototype.
88345         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
88346         Include <stdlib.h> unconditionally.
88347         (calloc, malloc, realloc, free): Remove decls.
88348         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
88349         Include <stdlib.h> unconditionally.  Sort include file names.
88350         (strtod): Remove.
88351         (xstrtod): Define with a prototype.
88352         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
88353         (strtol, strtoul): Remove decls.
88354
88355 2003-09-11  Paul Eggert  <eggert@twinsun.com>
88356
88357         More patches to assume C89 or better.
88358         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
88359         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
88360         string.h, memchr, STDC_HEADERS.
88361
88362 2003-09-11  Paul Eggert  <eggert@twinsun.com>
88363
88364         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
88365         Include <stdlib.h>, <string.h> unconditionally.
88366         Remove now-unnecessary cast to char *.
88367         * lib/strnlen.c: Include <string.h> unconditionally.
88368         * lib/yesno.c (yesno): Define with a prototype.
88369
88370 2003-09-11  Bruno Haible  <bruno@clisp.org>
88371
88372         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
88373
88374 2003-09-10  Jim Meyering  <jim@meyering.net>
88375
88376         * lib/error.c: Correct indentation of cpp directives.
88377
88378 2003-09-10  Bruno Haible  <bruno@clisp.org>
88379
88380         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
88381         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
88382         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
88383         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
88384         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
88385         <stdlib.h> and <string.h> checks.
88386         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
88387         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
88388
88389 2003-09-10  Bruno Haible  <bruno@clisp.org>
88390
88391         * lib/strcspn.c: Include <string.h> unconditionally.
88392         * lib/strpbrk.c: Include <string.h> unconditionally.
88393         * lib/strstr.c: Include <string.h> unconditionally.
88394         * lib/unicodeio.c: Include <string.h> unconditionally.
88395         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
88396         * lib/unsetenv.c: Likewise.
88397         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
88398         * lib/yesno.c: Include <stdlib.h> unconditionally.
88399         (rpmatch): Add prototype.
88400
88401 2003-09-09  Paul Eggert  <eggert@twinsun.com>
88402
88403         More patches to assume C89 or better.
88404         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
88405         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
88406         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
88407         or for string.h.
88408         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
88409         stdlib.h.
88410         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
88411         C headers.
88412         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
88413         string.h.
88414         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
88415         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
88416         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
88417         or for string.h.
88418         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
88419         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
88420         C headers.
88421         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
88422         memcpy.
88423         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
88424         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
88425         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
88426         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
88427         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
88428         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
88429         string.h, free.
88430         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
88431         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
88432         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
88433         C headers, or for string.h.
88434         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
88435         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
88436         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
88437         headers, memory.h, stdlib.h, string.h, strings.h.
88438         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
88439         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
88440         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
88441         strchr.
88442         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
88443         headers, memory.h, string.h.
88444         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
88445         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
88446         free.
88447         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
88448         headers.
88449         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
88450         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
88451         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
88452         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
88453         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
88454
88455 2003-09-09  Paul Eggert  <eggert@twinsun.com>
88456
88457         More K&R removal.
88458
88459         * lib/acosl.c (main): Use a prototype.
88460         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
88461         tanl.c: Likewise.
88462
88463         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
88464
88465         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
88466         (getopt, etopt_long, getopt_long_only, _getopt_internal)
88467         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
88468         with a prototype.
88469         * lib/getopt.c (const): Remove macro.
88470         Include <string.h> unconditionally.
88471         (my_index): Remove; all uses changed to strchr.
88472         (strlen): Remove decl.
88473         (exchange): Remove forward decl; no longer needed.
88474         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
88475         Define with prototype.
88476         * lib/getopt1.c (const): Remove macro.
88477         (getopt_long, getopt_long_only, main): Define with prototype.
88478
88479         * lib/getugroups.c: Include <string.h> unconditionally.
88480
88481         * lib/getusershell.c: Include <stdlib.h> unconditionally.
88482         (getusershell, setusershell, endusershell, readname, main):
88483         Define with prototypes.
88484
88485         * lib/group-member.c: Include group-member.h first.
88486         Include <stdlib.h> unconditionally.
88487
88488         * lib/hard-locale.c: Include hard-locale.h first.
88489         Include <stdlib.h>, <string.h> unconditionally.
88490
88491         * lib/hash.c (free, malloc): Remove decls.
88492         Include <stdlib.h> unconditionally.
88493
88494         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
88495         (getenv): Do not declare.
88496
88497         * lib/idcache.c: Include <string.h> unconditionally.
88498
88499         * lib/long-options.c: Include long-options.h first, to test interface.
88500         Include <stdlib.h> unconditionally.
88501
88502         * lib/makepath.c: Include makepath.h first, to test interface.
88503         Include <stdlib.h> and <string.h> unconditionally.
88504
88505         * lib/linebuffer.c: Include <stdlib.h>.
88506         (free): Remove decl.
88507
88508         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
88509         stddef.h. rpl_malloc returns void *, not char *.
88510         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
88511         prototype.
88512
88513         * lib/md5.h: Include <limits.h> unconditionally.
88514         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
88515         (__P): Remove; all uses removed.
88516         * lib/md5.c: Include "md5.h" first.
88517         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
88518         md5_buffer, md5_process_bytes, md5_process_block):
88519         Define with prototypes.
88520         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
88521         * lib/sha.c: Include "sha.h" first.
88522         Include <stdlib.h>, <string.h> unconditionally.
88523
88524         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
88525         * lib/memcmp.c (__ptr_t): Likewise.
88526         * lib/memrchr.c (__ptr_t): Likewise.
88527         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
88528         Include <string.h> unconditionally.
88529         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
88530         * lib/memchr.c: Include <stdlib.h> unconditionally.
88531         * lib/memchr.c (LONG_MAX): Remove.
88532         * lib/memrchr.c (LONG_MAX): Likewise.
88533         * lib/memchr.c (__memchr): Define via a prototype.
88534         * lib/memrchr.c (__memrchr): Likewise.
88535         * lib/memcmp.c (__P): Remove, and remove all uses.
88536         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
88537         Remove forward decls; no longer needed.
88538         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
88539         Use types required by C89 in prototype.
88540
88541         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
88542         * lib/savedir.c: Likewise.
88543         * lib/mkdir.c (free): Remove decl.
88544         * lib/rmdir.c (rmdir): Define with a prototype.
88545         * lib/savedir.c: Include savedir.h first, to test interface.
88546
88547         * lib/mktime.c (STDC_HEADERS): Remove.
88548         Include <stdlib.h>, <string.h> unconditionally.
88549
88550         * lib/modechange.c: Include <stdlib.h> unconditionally.
88551         (malloc): Remove decl.
88552
88553         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
88554         (free): Remove decl.
88555
88556         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
88557         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
88558         (This type really should be intptr_t, but that's a C99ism.)
88559         (_obstack_memcpy): Remove: all uses changed to memcpy.
88560         Include <string.h> unconditionally.
88561         (struct obstack): Assume __STDC__ for types of members
88562         chunkfun, freefun, extra_arg.
88563         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
88564         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
88565         obstack_begin, obstack_specify_allocation,
88566         obstack_specify_allocation_with_arg, obstack_chunkfun,
88567         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
88568         Remove unprototyped decls and the macros that use them.
88569         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
88570         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
88571         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
88572         (defined __STDC__ && __STDC__)]:
88573         Remove nonprototyped code.
88574         Include <stdlib.h> unconditionally.
88575         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
88576         _obstack_allocated_p, _obstack_free, obstack_free,
88577         _obstack_memory_used, print_and_abort):
88578         Define using prototypes.
88579         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
88580         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
88581         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
88582         obstack_next_free, obstack_object_size, obstack_room) [0]:
88583         Remove unused, unprototyped code.
88584
88585         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
88586
88587         * lib/physmem.c (physmem_total, physmem_available, main): Define
88588         with prototypes.
88589
88590         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
88591         (main): Define with a prototype.
88592
88593         * lib/posixver.c (getenv): Remove decl.
88594
88595         * lib/putenv.c (malloc): Returns void *, not char *.
88596         Include <string.h> unconditionally.
88597         (strchr, memcpy, NULL): Do not define.
88598
88599         * lib/readtokens.c: Include readtokens.h first, to test interface.
88600         Include <stdlib.h>, <string.h> unconditionally.
88601         (init_tokenbuffer): Define with a prototype.
88602
88603         * lib/regex.c (PARAMS): Remove.  All uses removed.
88604         All uses of _RE_ARGS removed, too.
88605         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
88606         unconditionally.
88607         (bzero): Assume memset exists.
88608         (memcmp, memcpy, NULL): Remove.
88609         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
88610         char, or assignments to local vars of type signed char.
88611         (init_syntax_once, PREFIX(extract_number_and_incr),
88612         PREFIX(print_partial_compiled_pattern),
88613         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
88614         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
88615         PREFIX(regex_grow_registers), PREFIX(regex_compile),
88616         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
88617         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
88618         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
88619         wcs_compile_range, byte_compile_range, truncate_wchar,
88620         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
88621         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
88622         count_mbs_length, wcs_re_match_2_internal,
88623         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
88624         PREFIX(alt_match_null_string_p),
88625         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
88626         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
88627         regfree, PREFIX(extract_number)): Define with prototype.  Remove
88628         now-unnecessary declaration, if any.
88629         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
88630         regcomp, regexec):
88631         Remove now-unnecessary casts among pointer types.
88632         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
88633
88634         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
88635         (free): Remove decl.
88636
88637         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
88638
88639         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
88640         (free): Remove decl.
88641
88642         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
88643         * lib/xgetcwd.c: Likewise.
88644
88645         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
88646         (free): Remove decl.
88647
88648         * lib/strchrnul.c (strchrnul): Define with a prototype.
88649         Fix bug: c_in was not converted to char before searching.
88650
88651         The following changes are not K&R related:
88652
88653         * lib/group-member.h: Include <sys/types.h>, so that this file is
88654         self-contained.
88655         * lib/makepath.h: Likewise.
88656
88657         * lib/getusershell.c (readname, default_index, line_size, readname):
88658         Use size_t, not int, for sizes.
88659         (readname): If the size overflows, report an error instead of
88660         looping forever.
88661
88662 2003-09-09  Paul Eggert  <eggert@twinsun.com>
88663
88664         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
88665         libc.
88666
88667 2003-09-09  Paul Eggert  <eggert@twinsun.com>
88668
88669         * README: New section: portability guidelines.
88670
88671 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
88672
88673         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
88674         C89 spec.
88675
88676 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
88677
88678         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
88679
88680 2003-09-08  Paul Eggert  <eggert@twinsun.com>
88681
88682         Assume C89 or better; remove K&R cruft.
88683         A few of these changes were first proposed by Derek Robert Price
88684         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
88685
88686         * lib/addext.c: Include <string.h> unconditionally.
88687         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
88688         Don't declare getenv or malloc.
88689
88690         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
88691         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
88692         (NULL): Remove.
88693         (find_stack_direction, alloca): Use prototypes.
88694
88695         * lib/atexit.c (atexit): Define using a prototype.
88696
88697         * lib/basename.c, dirname.c, stripslash.c:
88698         Include <string.h> unconditionally.
88699
88700         * lib/bcopy.c: Include <stddef.h>.
88701         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
88702
88703         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
88704
88705         * lib/error.h (error, error_at_line, error_print_progname)
88706         [! (defined (__STDC__) && __STDC__)]: Remove decls.
88707         * lib/error.c: Include error.h first, to check interface.
88708         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
88709         (VA_START): Remove; all uses changeed to va_start.
88710         (exit, strerror): Remove decls.
88711         (error_print_progname): Prototype uncondionally.
88712         Don't include <errno.h>; no longer needed.
88713         (private_strerror): Remove.
88714         (error_tail): Always define.
88715         (error, error_at_line): Assume C89 or better; always use prototypes.
88716         * lib/fatal.c: Include "fatal.h" first, to test interface.
88717         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
88718         (VA_START): Remove; all uses changed to va_start.
88719         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
88720         this case.
88721         (exit): Remove decl.
88722         (fatal): Prototype unconditionally.  Assume va_start works.
88723         Abort at end, to pacify gcc.
88724
88725         * lib/euidaccess.c (main): Define with a prototype.
88726
88727         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
88728
88729         * lib/exitfail.c: Include <stdlib.h> unconditionally.
88730
88731         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
88732         prototypes.
88733         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
88734         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
88735         (getenv): Remove decl.
88736         (fnmatch): Define using a prototype.
88737         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
88738         (FCT): Define using a prototype.
88739
88740         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
88741
88742         * lib/gethostname.c: Include <stddef.h>.
88743         (gethostname): Define with prototype.  Length is size_t, not int.
88744
88745 2003-09-08  Paul Eggert  <eggert@twinsun.com>
88746
88747         Assume C89 or better; remove K&R cruft.
88748         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
88749         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
88750         string.h, getenv, malloc.
88751         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
88752         headers.
88753         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
88754         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
88755         do not check for strerror.
88756         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
88757         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
88758         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
88759         do not check for doprnt or vprintf.
88760         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
88761         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
88762
88763 2003-09-08  Paul Eggert  <eggert@twinsun.com>
88764
88765         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
88766         getversion.c should have been removed then, but was accidentally
88767         preserved.
88768
88769         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
88770         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
88771
88772 2003-09-08  Karl Berry  <karl@gnu.org>
88773
88774         * config/config.sub, config.guess, srclistvars.sh: update from savannah
88775                 config, forget about prep.
88776
88777         * config/depcomp, missing: update from automake.
88778
88779 2003-09-07  Paul Eggert  <eggert@twinsun.com>
88780
88781         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
88782         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
88783
88784 2003-09-07  Paul Eggert  <eggert@twinsun.com>
88785
88786         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
88787         copy_tm_result.  Bug reported by Simon Josefsson in
88788         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
88789
88790 2003-09-06  Paul Eggert  <eggert@twinsun.com>
88791
88792         * m4/time_r.m4: New file.
88793         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
88794         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
88795         is. Check for timegm declaration.
88796         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
88797         Do not check for gmtime_r.
88798         Replace mktime if __mktime_internal does not exist and if mktime
88799         hasn't been replaced already.
88800
88801 2003-09-06  Paul Eggert  <eggert@twinsun.com>
88802
88803         * lib/time_r.c, lib/time_r.h: New files.
88804
88805         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
88806         __localtime_r.
88807         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
88808         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
88809
88810         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
88811         __gmtime_r.
88812         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
88813         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
88814         Include <time_r.h>.
88815
88816         * lib/timegm.c: Switch to glibc implementation, with the following
88817         changes:
88818         [defined HAVE_CONFIG_H]: Include <config.h>.
88819         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
88820         (__mktime_internal) [!defined _LIBC]: New decl.
88821         (__gmtime_r) [!defined _LIBC]: New macro and function.
88822         (timegm): Use a prototype, since gnulib assumes C89.
88823         Do not bother declaring tmp to be const, as it's not really usefu.
88824         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
88825         (timegm): Declare only if HAVE_DECL_TIMEGM.
88826
88827 2003-09-06  Paul Eggert  <eggert@twinsun.com>
88828
88829         * MODULES.html.sh (func_all_modules): Add time_r.
88830         * modules/time_r: New file.
88831         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
88832         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
88833
88834 2003-09-03  Paul Eggert  <eggert@twinsun.com>
88835
88836         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
88837         Bug reported by Lute Kamstra in
88838         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
88839
88840         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
88841         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
88842         course with correspondingly smaller numbers for tomorrow and
88843         yesterday.  From Tadayoshi Funaba.  Originally installed into
88844         sh-utils on 1999-08-07, but the patch got lost (I guess during the
88845         coreutils merge?).
88846
88847 2003-08-31  Simon Josefsson  <jas@extundo.com>
88848
88849         * modules/timegm: New file.
88850         * MODULES.html.sh (func_all_modules): Add timegm.
88851
88852 2003-08-31  Simon Josefsson  <jas@extundo.com>
88853
88854         * m4/timegm.m4: New file.
88855
88856 2003-08-31  Simon Josefsson  <jas@extundo.com>
88857
88858         * lib/timegm.h: New file.
88859         * lib/timegm.c: New file.  Based on
88860         wget-1.8.2/src/http.c:mktime_from_utc.
88861
88862 2003-08-31  Karl Berry  <karl@gnu.org>
88863
88864         * lib/argp.h: update from libc.
88865
88866 2003-08-28  Bruno Haible  <bruno@clisp.org>
88867
88868         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
88869         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
88870         followed by '#define fnmatch fnmatch_posix' gives an error.
88871
88872 2003-08-28  Bruno Haible  <bruno@clisp.org>
88873
88874         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
88875         warning on QNX, which defines O_BINARY to 000000.
88876
88877 2003-08-27  Jim Meyering  <jim@meyering.net>
88878
88879         * m4/mkstemp.m4: Require that the system mkstemp be able to create
88880         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
88881         would fail after 32.  Reported by Danny Levinson.  Details here:
88882         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
88883
88884 2003-08-24  Bruno Haible  <bruno@clisp.org>
88885
88886         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
88887         MSVC7 <stdio.h> is included later.
88888
88889 2003-08-22  Simon Josefsson  <jas@extundo.com>
88890
88891         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
88892
88893 2003-08-20  Karl Berry  <karl@gnu.org>
88894
88895         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
88896
88897 2003-08-20  Bruno Haible  <bruno@clisp.org>
88898
88899         * modules/progname: New file.
88900         * MODULES.html.sh (func_all_modules): Add progname.
88901
88902 2003-08-20  Bruno Haible  <bruno@clisp.org>
88903
88904         * lib/progname.h: New file, from GNU gettext.
88905         * lib/progname.c: New file, from GNU gettext.
88906         * lib/progreloc.c: New file, from GNU gettext.
88907
88908 2003-08-19  Jim Meyering  <jim@meyering.net>
88909
88910         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
88911         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
88912
88913 2003-08-19  Bruno Haible  <bruno@clisp.org>
88914
88915         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
88916         more.
88917
88918 2003-08-19  Bruno Haible  <bruno@clisp.org>
88919
88920         * lib/xstrdup.c: Assume <string.h> exists.
88921
88922 2003-08-18  Paul Eggert  <eggert@twinsun.com>
88923
88924         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
88925         in makefile rules.
88926
88927 2003-08-18  Jim Meyering  <jim@meyering.net>
88928
88929         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
88930         * m4/lib-ld.m4: Likewise.
88931
88932 2003-08-18  Jim Meyering  <jim@meyering.net>
88933
88934         * lib/setenv.h: Indent nested cpp directive.
88935         * lib/vasnprintf.c: Remove trailing blanks.
88936
88937 2003-08-17  Simon Josefsson  <jas@extundo.com>
88938
88939         * modules/xstrndup: New file.
88940         * MODULES.html.sh (func_all_modules): Add xstrndup.
88941
88942 2003-08-17  Simon Josefsson  <jas@extundo.com>
88943
88944         * modules/argp: Fix autoconf macro name. Add more dependencies.
88945
88946 2003-08-17  Simon Josefsson  <jas@extundo.com>
88947
88948         * m4/xstrndup.m4: New file.
88949
88950 2003-08-17  Simon Josefsson  <jas@extundo.com>
88951
88952         * m4/argp.m4: New file.
88953
88954 2003-08-17  Simon Josefsson  <jas@extundo.com>
88955             Bruno Haible  <bruno@clisp.org>
88956
88957         * lib/xstrndup.h: New file.
88958         * lib/xstrndup.c: New file.
88959
88960 2003-08-17  Bruno Haible  <bruno@clisp.org>
88961
88962         * modules/strndup (Files, Include): Add lib/strndup.h.
88963
88964 2003-08-17  Bruno Haible  <bruno@clisp.org>
88965
88966         * modules/euidaccess (Files): Add lib/euidaccess.h.
88967
88968 2003-08-17  Bruno Haible  <bruno@clisp.org>
88969
88970         * lib/strndup.h: New file.
88971
88972 2003-08-17  Bruno Haible  <bruno@clisp.org>
88973
88974         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
88975         like AC_GNU_SOURCE.
88976         * modules/extensions (configure.ac): Comment out the invocation of
88977         gl_USE_SYSTEM_EXTENSIONS.
88978
88979 2003-08-16  Paul Eggert  <eggert@twinsun.com>
88980
88981         Merges from coreutils, etc.
88982         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
88983         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
88984         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
88985         fixing a typo.
88986         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
88987         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
88988
88989 2003-08-16  Paul Eggert  <eggert@twinsun.com>
88990
88991         Document merge from coreutils.
88992         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
88993         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
88994         * modules/utime: Add m4/utimes-null.m4.
88995
88996 2003-08-16  Paul Eggert  <eggert@twinsun.com>
88997
88998         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
88999         space, undoing this 2003-08-12 change:
89000         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
89001
89002 2003-08-16  Paul Eggert  <eggert@twinsun.com>
89003
89004         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
89005         strtoul.c from libc, undoing this 2003-08-12 change:
89006         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
89007
89008 2003-08-16  Jim Meyering  <jim@meyering.net>
89009
89010         Merges from coreutils.
89011         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
89012         prefix.  Adjust cache variables similarly.  Create 500 rather than
89013         just 300 files, to exercise bug on Darwin6.5, too.
89014         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
89015         $missing_dir.
89016         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
89017         AM_SYS_POSIX_TERMIOS.
89018         Reported by mkc@mathdogs.com.
89019         Also change use of $am_cv_sys_posix_termios
89020         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
89021         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
89022         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
89023         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
89024         in /proc/mounts until it finds one with matching device number.  This
89025         is unnecessary when the FILE argument *is* a mount point.  No stat call
89026         is necessary in that case.  So, disable the statvfs-testing code on
89027         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
89028         as RedHat bug# 84846.
89029         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
89030         to 1MB, so as not to render systems with no stack size limit (e.g.,
89031         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
89032         Include <unistd.h>.  On some systems,
89033         it is required for the definition of _SC_PAGESIZE.
89034
89035 2003-08-16  Jim Meyering  <jim@meyering.net>
89036
89037         Merge from coreutils.
89038         * lib/xstrtoimax.c: #else #if -> #elif.
89039         * lib/xstrtoumax.c: Likewise.
89040
89041 2003-08-16  Jim Meyering  <jim@meyering.net>
89042
89043         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
89044         * m4/utimes.m4: Removed.
89045         * m4/utimes-null.m4: Renamed from utimes.m4.
89046
89047         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
89048         to 1MB, so as not to render systems with no stack size limit (e.g.,
89049         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
89050         Include <unistd.h>.  On some systems,
89051         it is required for the definition of _SC_PAGESIZE.
89052
89053 2003-08-16  Jim Meyering  <jim@meyering.net>
89054         and Paul Eggert  <eggert@cs.ucla.edu>
89055
89056         Merges from coreutils, etc.
89057
89058         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
89059         using the latest version from cvs.  This avoids problems with #line
89060         directives using a vendor (Sun) compiler.
89061         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
89062         Don't set GETGROUPS_LIB here; now it's
89063         done via getgroups.m4's wrapper function.
89064         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
89065         rather than just in sh-util/configure.in, so that the
89066         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
89067         same.
89068         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
89069         AC_FUNC_GETLOADAVG where to find getloadavg.c.
89070         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
89071         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
89072         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
89073         Remove code that is now done by the newly-required macros.
89074         Append $(EXEEXT) to DF_PROG.
89075         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
89076         Do not invoke or require the following here,
89077         since prereq.m4 or some gnulib .m4 now does this for us:
89078         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
89079         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
89080         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
89081         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
89082         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
89083         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
89084         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
89085         AC_FUNC_OBSTACK.
89086         Do not replace the following functions, as this is now the job
89087         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
89088         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
89089         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
89090         atexit getpass, strdup, getpagesize.
89091         Replace 'raise'.
89092         Do not check for the following functions, as this is now the job
89093         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
89094         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
89095         setregid.
89096         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
89097         Check for sys/sysctl.h.
89098         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
89099         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
89100         of checking for ssize_t ourselves.
89101
89102         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
89103         Require every macro that gnulib/modules/* suggests for us.
89104         (jm_PREREQ_ADDEXT): New macro.
89105         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
89106         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
89107
89108         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
89109         (gl_PHYSMEM): Use it.
89110         Also check for `table' function.
89111         Check for new headers and functions.
89112         Add check for sys/sysmp.h.
89113         With suggestions from Kaveh Ghazi.
89114         Ignore headers that are present but cannot be compiled.  This
89115         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
89116         C 5.4.
89117
89118 2003-08-15  Paul Eggert  <eggert@twinsun.com>
89119
89120         Document merge from coreutils.
89121         * modules/userspec: Depend on posixver.
89122         * modules/strftime: Depend on tzset.
89123
89124 2003-08-15  Paul Eggert  <eggert@twinsun.com>
89125
89126         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
89127         rather than tab, after '#' in shell-script copyright notices.
89128         Suggested by Bruno Haible.
89129
89130 2003-08-15  Paul Eggert  <eggert@twinsun.com>
89131
89132         * config/srclist-update: Use three spaces, rather than tab, after '#'
89133         in shell-script copyright notices.  Suggested by Bruno Haible.
89134         Remove unnecessary parenthesization in regular expression.
89135
89136 2003-08-15  Jim Meyering  <jim@meyering.net>
89137
89138         Merge from coreutils.
89139         * lib/xgethostname.c: Include <stdlib.h>.
89140         (xghostname): Don't exit for anything other than memory-related
89141         failure; just return NULL.
89142         * lib/userspec.c: Include "posixver.h".
89143         (parse_user_spec): Accept `.' as a separator only
89144         in pre-POSIX-200112 mode.
89145         * lib/strtoimax.c: Use #elif rather than #else #if.
89146         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
89147         Remove function, now that we can rely on a working tzset function.
89148         [!_LIBC]: Ensure that the required autoconf test has been run.
89149         [!defined _NL_CURRENT && HAVE_STRFTIME]:
89150         Use underlying_strftime for %r.
89151         * lib/sha.c: Merge in some clean-up and optimization changes from
89152         glibc.
89153         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
89154         Ensure that it is a multiple of 64.
89155         Rearrange loop exit tests so as to avoid performing an
89156         additional fread after encountering an error or EOF.
89157         * lib/realloc.c: Update copyright date.
89158
89159 2003-08-15  Jim Meyering  <jim@meyering.net>
89160         and Paul Eggert  <eggert@twinsun.com>
89161
89162         Merge from coreutils.
89163         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
89164         member but strut utmpx does not.  Needed for AIX 4.3.3.
89165         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
89166
89167 2003-08-15  Jim Meyering  <jim@meyering.net>
89168         and Paul Eggert  <eggert@cs.ucla.edu>
89169
89170         Merges from coreutils, etc.
89171         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
89172         Require gl_FUNC_TZSET_CLOBBER.
89173         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
89174         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
89175         members.
89176
89177 2003-08-14  Paul Eggert  <eggert@twinsun.com>
89178
89179         Help the merge from coreutils.
89180         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
89181         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
89182         * m4/tzset.m4: Use it too.
89183
89184 2003-08-14  Paul Eggert  <eggert@twinsun.com>
89185
89186         * modules/tzset: New file.
89187
89188 2003-08-14  Jim Meyering  <jim@meyering.net>
89189
89190         Merges from coreutils.
89191         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
89192         variable names, rather than @FNMATCH_H@.
89193         * modules/alloca: Likewise for $(ALLOCA_H).
89194
89195         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
89196         the three copies of the literal target, `fnmatch.h'.
89197         * modules/alloca (alloca.h): Likewise.
89198
89199 2003-08-14  Jim Meyering  <jim@meyering.net>
89200
89201         Merge from coreutils.
89202         * m4/tzset.m4: New file.
89203         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
89204         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
89205         otherwise, AIX 5.1 systems would end up using the latter.
89206         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
89207         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
89208         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
89209         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
89210
89211 2003-08-14  Jim Meyering  <jim@meyering.net>
89212
89213         Merge from coreutils.
89214         * lib/obstack.h: Whitespace changes.
89215         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
89216         and xcalloc return values.
89217         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
89218         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
89219         hang on OSF/1 5.1 for DIR on both local and remote file systems.
89220         Reported by (and fix confirmed by) Nelson H. F. Beebe.
89221         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
89222         error from mntctl.
89223         Use mntctl's return value to drive the entry-processing loop, since
89224         we can't rely on the value of the vmt_length member in the last
89225         entry.  On some systems doing so could result in exhausting
89226         virtual memory.  Based in part on a patch from Mike Jetzer.
89227
89228 2003-08-14  Jim Meyering  <jim@meyering.net>
89229         and Paul Eggert  <eggert@twinsun.com>
89230
89231         Merges from coreutils, plus other fixes.
89232         * lib/physmem.c: Merge in portability changes from gcc/libiberty
89233         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
89234         for credits and details.  Thanks to Kaveh Ghazi for helping
89235         to keep these files in sync.
89236         (ARRAY_SIZE): Define it.
89237         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
89238         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
89239         (memcasecmp): Don't assume size_t fits in unsigned int.
89240         Remove casts and duplicate code.
89241         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
89242         (memcpy): Remove definition.
89243         Merge in some clean-up and optimization changes from glibc.
89244         [BLOCKSIZE]: Move definition to top of file.
89245         Ensure that it is a multiple of 64.
89246         Rearrange loop exit tests so as to avoid performing an
89247         additional fread after encountering an error or EOF.
89248         * lib/md5.h (md5_uintptr): Define.
89249         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
89250         return to the initial working directory.  Preserve errno
89251         for caller.
89252         * lib/idcache.c: Include "xalloc.h".
89253         (xmalloc, xrealloc): Remove decls.
89254         (getuser): Remove casts no longer required in C89.
89255         * lib/human.c: Include stdio.h, for sprintf.
89256         * lib/group-member.c: Include "xalloc.h".
89257         (xmalloc, xrealloc): Remove decls.
89258         (get_group_info): Remove casts no longer required in C89.
89259         * lib/getusershell.c (readname): Remove casts no longer required in
89260         C89.
89261         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
89262         * lib/getline.c: Whitespace fix, from coreutils.
89263
89264 2003-08-13  Paul Eggert  <eggert@twinsun.com>
89265
89266         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
89267         Check for isascii.
89268
89269         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
89270         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
89271         Undo previous (whitespace-only) change.
89272
89273 2003-08-13  Paul Eggert  <eggert@twinsun.com>
89274
89275         * lib/exclude.c: Include <ctype.h>
89276         (IN_CTYPE_DOMAIN): New macro.
89277         (is_space): New fn.
89278         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
89279         and empty lines.
89280
89281         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
89282         Undo previous (whitespace-only) change.
89283
89284 2003-08-13  Paul Eggert  <eggert@twinsun.com>
89285
89286         * config/srclist-update: Change update back to the old behavior,
89287         leaving whitespace alone.  Use one 'sed' command rather than a
89288         pipeline.
89289         (fixlicense): Now a variable, not a function.
89290         (remove_trailing_blanks): Remove.
89291         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
89292         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
89293         Undo previous (whitespace-only) change.
89294
89295 2003-08-12  Paul Eggert  <eggert@twinsun.com>
89296
89297         Merge from coreutils.
89298         * modules/euidaccess: Add lib_SOURCES, include for new
89299         file euidaccess.h
89300
89301 2003-08-12  Paul Eggert  <eggert@twinsun.com>
89302
89303         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
89304         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
89305         Normalize leading white space and remove trailing white space.
89306
89307         Merge from coreutils
89308         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
89309
89310         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
89311         0.12.1.  These files are now being upgraded automatically by
89312         ../config/srclist-update.
89313
89314 2003-08-12  Paul Eggert  <eggert@twinsun.com>
89315
89316         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
89317         Normalize leading white space and remove trailing white space.
89318         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
89319         notice, as per ../config/srclist-update.
89320
89321         Merge from coreutils.
89322         * lib/euidaccess.h: New file.
89323         * lib/euidaccess.c: Include it.
89324         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
89325         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
89326         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
89327
89328 2003-08-12  Paul Eggert  <eggert@twinsun.com>
89329
89330         * config/srclist-update: Add copyright notice.
89331         (remove_id_lines, remove_trailing_blanks): New constants.
89332         (fixfile): Use them to normalize spacing a bit in copied files.
89333         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
89334         Normalize leading white space and remove trailing white space.
89335
89336         * config/texinfo.tex: Sync with texinfo.
89337
89338         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
89339         strtoul.c from libc, to merge coreutils whitespace changes.
89340
89341         * config/srclist.txt: Get the following m4 files from gettext:
89342         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
89343         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
89344         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
89345         wint_t.m4.
89346
89347 2003-08-12  Karl Berry  <karl@gnu.org>
89348
89349         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
89350         been made.
89351
89352 2003-08-11  Paul Eggert  <eggert@twinsun.com>
89353
89354         * modules/gnu-source, m4/gnu-source.m4:
89355         Remove; we're assuming Autoconf 2.54 or later now.
89356         Suggested by Bruno Haible.
89357         * MODULES.html.sh (func_all_modules): Remove gnu-source.
89358
89359 2003-08-11  Bruno Haible  <bruno@clisp.org>
89360
89361         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
89362
89363 2003-08-11  Bruno Haible  <bruno@clisp.org>
89364
89365         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
89366         (vasnprintf): Use it instead of wcslen.
89367
89368 2003-08-11  Bruno Haible  <bruno@clisp.org>
89369
89370         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
89371         value to ensure that _Bool promotes to int. Use #define for _Bool when
89372         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
89373
89374 2003-08-10  Karl Berry  <karl@gnu.org>
89375
89376         * lib/regex.h: update from libc (whitespace fix).
89377
89378 2003-08-09  Paul Eggert  <eggert@twinsun.com>
89379
89380         Merge some files from coreutils.  These changes were
89381         originally made by Jim Meyering.
89382         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
89383         many older Unixes require this.
89384         * lib/alloca.c (alloca): Remove cast to argument of free;
89385         no longer needed in C89.
89386         * lib/alloca_.h, regex.h: Fix white space to match
89387         what GNU indent does.
89388
89389 2003-08-09  Paul Eggert  <eggert@twinsun.com>
89390
89391         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
89392         apparently Emacs's Unicode mode got confused before my 2003-08-05
89393         checkin.
89394
89395 2003-08-08  Paul Eggert  <eggert@twinsun.com>
89396
89397         * m4/extensions.m4: New file.
89398         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
89399         Require gl_USE_SYSTEM_EXTENSIONS.
89400         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
89401         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
89402
89403 2003-08-08  Paul Eggert  <eggert@twinsun.com>
89404
89405         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
89406         * modules/extensions, modules/gnu-source: New files.
89407         * modules/timespec, modules/unlocked-io: Depend on extensions.
89408
89409 2003-08-07  Paul Eggert  <eggert@twinsun.com>
89410
89411         * modules/restrict: New file.
89412         * MODULES.html.sh (func_all_modules): Add restrict.
89413         * modules/regex: Depend on restrict.
89414
89415 2003-08-07  Paul Eggert  <eggert@twinsun.com>
89416
89417         * m4/restrict.m4: New file.
89418         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
89419
89420 2003-08-07  Bruno Haible  <bruno@clisp.org>
89421
89422         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
89423         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
89424
89425 2003-08-07  Bruno Haible  <bruno@clisp.org>
89426
89427         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
89428         makes the module 'getndelim2' compatible with the module 'getline'.
89429
89430 2003-08-05  Paul Eggert  <eggert@twinsun.com>
89431
89432         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
89433         byte with "\201" to avoid glitches when editing that source file
89434         with multi-gnome-terminal.
89435
89436 2003-08-05  Paul Eggert  <eggert@twinsun.com>
89437
89438         * lib/bumpalloc.h: Remove.
89439
89440 2003-08-05  Paul Eggert  <eggert@twinsun.com>
89441
89442         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
89443         * modules/bumpalloc: Remove.
89444
89445 2003-08-04  Paul Eggert  <eggert@twinsun.com>
89446
89447         * lib/getloadavg.c: Change copyright notice and spacing to conform to
89448         GNU coding style.
89449
89450         Merge from coreutils.
89451         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
89452         1. From glibc.
89453         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
89454         from Karl Berry, implemented by Jim Meyering.
89455         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
89456         from Dmitry V. Levin.
89457         Remove anachronistic cast of xrealloc.
89458         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
89459         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
89460         type. Otherwise, it wouldn't compile with at least /bin/cc on
89461         ymp-cray-unicos9.0.2.X.
89462         Combine two mostly-identical uses of alloca into one.
89463         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
89464
89465 2003-08-04  Dave Love  <d.love@dl.ac.uk>
89466
89467         [From Emacs.]
89468
89469         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
89470         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
89471         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
89472         obsolete NLIST_NAME_UNION.
89473         [__GNU__]: Undef BSD and FSCALE.
89474         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
89475
89476 2003-08-03  Paul Eggert  <eggert@twinsun.com>
89477
89478         * lib/stdbool_.h (_Bool): Make it signed char, instead of
89479         an enum type, so that it's guaranteed to promote to int.  See:
89480         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
89481
89482 2003-08-03  Karl Berry  <karl@gnu.org>
89483
89484         * config/depcomp: update from automake.
89485
89486 2003-07-31  Paul Eggert  <eggert@twinsun.com>
89487
89488         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
89489         (strerror): Don't assume that a printable int fits in 14 bytes.
89490
89491 2003-07-31  Bruno Haible  <bruno@clisp.org>
89492
89493         * modules/getpass-gnu: New file.
89494         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
89495
89496 2003-07-31  Bruno Haible  <bruno@clisp.org>
89497
89498         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
89499
89500 2003-07-24  Karl Berry  <karl@gnu.org>
89501
89502         * config/missing: update from automake.
89503
89504 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
89505             Bruno Haible  <bruno@clisp.org>
89506
89507         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
89508         * lib/getline.c (getline, getdelim): Likewise.
89509         Remove _GNU_SOURCE define; now it's defined in config.h through
89510         m4/getline.m4.
89511
89512 2003-07-23  Karl Berry  <karl@gnu.org>
89513
89514         * config/config.sub: update from prep.
89515
89516 2003-07-22  Paul Eggert  <eggert@twinsun.com>
89517
89518         * modules/xalloc (Depends-on): Add exitfail.
89519         * modules/xmemcoll: Likewise.
89520
89521 2003-07-22  Paul Eggert  <eggert@twinsun.com>
89522
89523         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
89524         over-parenthesization in macros.
89525
89526         Sync with coreutils.
89527
89528         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
89529         required by C99.
89530
89531         Use `exit_failure' for xalloc and xmemcoll instead of their own
89532         private exit-failure variables.
89533         * lib/xalloc.h (xalloc_exit_failure): Remove.
89534         * lib/xmalloc.c: Likewise.  Include exitfail.h.
89535         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
89536         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
89537         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
89538         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
89539
89540 2003-07-20  Jim Meyering  <jim@meyering.net>
89541
89542         * modules/closeout (Depends-on): Add exitfail.
89543         Suggestion from Bruno Haible.
89544
89545 2003-07-19  Karl Berry  <karl@gnu.org>
89546
89547         * config/config.sub: update from prep.
89548
89549 2003-07-18  Paul Eggert  <eggert@twinsun.com>
89550
89551         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
89552         Remove.
89553         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
89554         to test that it can stand by itself.  Include "exitfail.h".
89555         Clients should set exit_failure instead.
89556         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
89557
89558 2003-07-18  Bruno Haible  <bruno@clisp.org>
89559
89560         * modules/getndelim2: New file.
89561         * modules/getline: Share files with module getndelim2.
89562         * modules/getnline: Depend on getndelim2 instead of sharing files with
89563         it. Add getnline.c to lib_SOURCES.
89564         * MODULES.html.sh (func_all_modules): Add getndelim2.
89565
89566 2003-07-18  Bruno Haible  <bruno@clisp.org>
89567
89568         * m4/getndelim2.m4: New file.
89569         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
89570         invoke gl_PREREQ_GETNDELIM2.
89571         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
89572         gl_PREREQ_GETNDELIM2.
89573         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
89574         gl_GETNDELIM2.
89575
89576 2003-07-18  Bruno Haible  <bruno@clisp.org>
89577
89578         * lib/getndelim2.h: New file.
89579         * lib/getndelim2.c: Make into a module of its own. Include config.h,
89580         getndelim2.h.
89581         (getndelim2): Make non-static. Change return type to ssize_t.
89582         * lib/getline.h: Change argument names.
89583         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
89584         * lib/getnline.c: Include getndelim2.h.
89585
89586 2003-07-18  Andreas Schwab  <schwab@suse.de>
89587
89588         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
89589
89590 2003-07-17  Karl Berry  <karl@gnu.org>
89591
89592         * config/config.sub: update from prep.
89593
89594 2003-07-17  Bruno Haible  <bruno@clisp.org>
89595
89596         * modules/getnline: New file.
89597         * modules/getline: Add lib/getndelim2.c to source file list.
89598         * MODULES.html.sh (func_all_modules): Add getnline.
89599
89600 2003-07-17  Bruno Haible  <bruno@clisp.org>
89601
89602         * m4/getnline.m4: New file.
89603
89604 2003-07-17  Bruno Haible  <bruno@clisp.org>
89605
89606         * m4/Makefile.am.in: Remove file.
89607         * m4/Makefile.am: Remove file.
89608         * m4/Makefile.in: Remove file.
89609
89610 2003-07-17  Bruno Haible  <bruno@clisp.org>
89611
89612         * lib/getnline.h: New file.
89613         * lib/getnline.c: New file.
89614         * lib/getndelim2.c: New file, extracted from getline.c.
89615         (getndelim2): Renamed from getdelim2, with added nmax argument.
89616         * lib/getline.c: Include getndelim2.c.
89617         (getdelim2): Moved out to getndelim2.c.
89618         (getline, getdelim): Update.
89619
89620 2003-07-17  Bruno Haible  <bruno@clisp.org>
89621
89622         * lib/Makefile.am: Remove file.
89623         * lib/Makefile.in: Remove file.
89624
89625 2003-07-17  Bruno Haible  <bruno@clisp.org>
89626
89627         * configure.in: Remove file.
89628         * Makefile.in: Remove file.
89629
89630 2003-07-17  Bruno Haible  <bruno@clisp.org>
89631
89632         * MODULES.html.sh: Put the </BODY> right before </HTML>.
89633
89634 2003-07-16  Karl Berry  <karl@gnu.org>
89635
89636         * config/srclist-update: was running fixlicense twice, which caused
89637                 texinfo.tex to be nullified for some reason.  Simplify,
89638                 $gplsrc is no longer needed as far as I can see?
89639
89640 2003-07-16  Jim Meyering  <jim@meyering.net>
89641
89642         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
89643
89644 2003-07-15  Paul Eggert  <eggert@twinsun.com>
89645
89646         * config/srclist.txt: Get the following files from gettext-runtime/intl
89647         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
89648         ref-del.sin.  From Bruno Haible.
89649         * config/srclist-update (fixfile): Change grep pattern again, since the
89650         previous fix didn't work (there was another trailing $).  Use
89651         '[$]' to escape the $s.
89652
89653 2003-07-15  Karl Berry  <karl@gnu.org>
89654
89655         * lib/vasnprintf.c: update from gettext.
89656
89657 2003-07-15  Karl Berry  <karl@gnu.org>
89658
89659         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
89660         gets expanded when surrounded by '$'.
89661
89662 2003-07-15  Jim Meyering  <jim@meyering.net>
89663
89664         * modules/save-cwd: Don't depend on error.  From Derek Price.
89665
89666 2003-07-15  Jim Meyering  <jim@meyering.net>
89667
89668         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
89669
89670 2003-07-14  Simon Josefsson  <jas@extundo.com>
89671
89672         * modules/mempcpy: New file.
89673         * MODULES.html.sh (func_all_modules): Add mempcpy.
89674
89675 2003-07-14  Simon Josefsson  <jas@extundo.com>
89676
89677         * m4/mempcpy.m4: New file.
89678
89679 2003-07-14  Simon Josefsson  <jas@extundo.com>
89680
89681         * lib/mempcpy.h: New file.
89682         * lib/mempcpy.c: New file.
89683
89684 2003-07-14  Paul Eggert  <eggert@twinsun.com>
89685
89686         * modules/getdate, modules/posixtm: Depend on mktime.
89687
89688 2003-07-14  Paul Eggert  <eggert@twinsun.com>
89689
89690         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
89691         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
89692         unicodeio.c, unicodeio.h, unlocked-io.h:
89693         Switch from LGPL to GPL.
89694
89695 2003-07-14  Paul Eggert  <eggert@twinsun.com>
89696
89697         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
89698         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
89699         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
89700         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
89701         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
89702         updated automatically by ../config/srclist-update.  This changes
89703         their license from LPGL to GPL.
89704
89705 2003-07-14  Paul Eggert  <eggert@twinsun.com>
89706
89707         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
89708         assumed to refer to the root of the most recent stable gettext version.
89709         * config/srclistvars.sh: Add defaults for eggert.
89710         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
89711         Match "This program" as well as "The program".  This is needed
89712         for gettext.
89713
89714 2003-07-14  Jim Meyering  <jim@meyering.net>
89715
89716         Don't emit diagnostics.  Let callers do that.
89717         * lib/save-cwd.c: Don't include "error.h".
89718         (save_cwd): Don't call error.  Ensure that errno is valid
89719         when returning nonzero.
89720
89721         * lib/save-cwd.h (restore_cwd): Update prototype.
89722         * lib/save-cwd.c (restore_cwd): Remove two parameters.
89723         Simplify.  Don't call error upon failure.  Let callers do that.
89724         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
89725         when auditing is enabled.  But don't bother updating the #if.
89726
89727 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
89728
89729         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
89730         it breaks C++ compilation.
89731         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
89732
89733 2003-07-10  Simon Josefsson  <jas@extundo.com>
89734
89735         * modules/strchrnul (Makefile.am): Add strchrnul.h.
89736
89737 2003-07-10  Jim Meyering  <jim@meyering.net>
89738
89739         * m4/clock_time.m4: Remove trailing blank.
89740         * m4/intmax_t.m4: Likewise.
89741
89742 2003-07-10  Jim Meyering  <jim@meyering.net>
89743
89744         * lib/vasnprintf.c: Remove trailing blanks.
89745         Make cpp indentation consistent.
89746
89747 2003-07-09  Paul Eggert  <eggert@twinsun.com>
89748
89749         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
89750         posixver.c, strftime.c, strnlen.c, strverscmp.c:
89751         Switch from LGPL to GPL.
89752
89753 2003-07-09  Paul Eggert  <eggert@twinsun.com>
89754
89755         * config/srclist.txt: Sort sublists.  Add
89756         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
89757         that differ from gnulib for one reason or another; we'd like this list
89758         to be smaller but for now let's document what we have.
89759
89760 2003-07-08  Paul Eggert  <eggert@twinsun.com>
89761
89762         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
89763         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
89764         and sweeter "eval x=$x".
89765         * config/srclist.txt: Get lib/argp* from glibc.
89766
89767 2003-07-07  Paul Eggert  <eggert@twinsun.com>
89768
89769         * lib/mktime.c: Fix some boundary cases and remove need for floating
89770         point.
89771
89772         Issue a compile-time diagnostic if time_t is floating point, or if
89773         two's complement arithmetic is not in effect, or if arithmetic
89774         right shift does not propagate the sign.  These assumptions were
89775         all in the original code but they weren't checked.
89776
89777         (TIME_T_MIDPOINT, verify): New macros.
89778         (__isleap): Remove; it has integer overflow problems.
89779         (leapyear): New function, without those problems.
89780         (ydhms_tm_diff): Remove; splitting into two parts.
89781         (ydhms_diff): New function, containing the arithmetic part of
89782         the old ydhms_tm_diff function.  Issue a compile-time
89783         diagnostic if we are not using C99 integer division.
89784         Avoid casts when possible.
89785         (guess_time_tm): New function, containing the checking part of
89786         the old ydhms_tm_diff function.  Return the new value, rather than
89787         the difference between it and the old.  Accept a new argument T
89788         so that *T specifies the old value.  Check for overflow in the result.
89789
89790         (__mktime_internal): Use a time_t offset, not a long int offset.
89791         This undoes the 2003-06-04 change, which is no longer needed now
89792         that we have better overflow checking.
89793         (localtime_offset): Likewise.
89794
89795         (__mktime_internal): Avoid harmful overflow on hosts where time_t
89796         and long are 64-bit but int is only 32-bit.
89797         (ydhms_diff): Use long int to store year1 and yday1.
89798         Issue a compile-time diagnostic if long int is not wide enough.
89799
89800         (__mktime_internal): Use long int to store adjusted year and yday.
89801         Use plain C rather than preprocessor commands, if that doesn't
89802         affect efficiency.
89803         Check for overflow (and try to repair) after each probe
89804         rather than checking only at the very end.  This avoids some bugs
89805         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
89806         does not equal GMT offset at maximum time).
89807         Use integer to check for overflow rather than floating point; this
89808         is more portable to non-IEEE hosts, and is a tad faster.
89809         When we detect that we are oscillating between two values,
89810         don't check whether tm_isdst has the requested value, since
89811         we already know the answer.  When tm_isdst has the wrong value,
89812         use a different heuristic to find the right one, based on the
89813         extreme values actually observed in practice in tz2003a,
89814         rather than the (overly optimistic) "previous 3 calendar quarters".
89815
89816         (not_equal_tm, print_tm, check_result): Use "const T" rather than
89817         "T const" to accommodate glibc style.
89818         (check_result): Use less-confusing report format.  "long" -> "long int.
89819         (main): Likewise.
89820         Don't loop if the iteration overflows time_t.
89821         Allow a negative step in the iteration.
89822
89823 2003-07-06  Karl Berry  <karl@gnu.org>
89824
89825         * config/depcomp: update from automake.
89826         * config/config.sub: update from prep.
89827
89828 2003-07-03  Karl Berry  <karl@gnu.org>
89829
89830         * config/config.guess: update from prep.
89831
89832 2003-07-01  Paul Eggert  <eggert@twinsun.com>
89833
89834         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
89835         xreadlink.c now includes it unconditionally.
89836
89837 2003-07-01  Paul Eggert  <eggert@twinsun.com>
89838
89839         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
89840         having it depend on HAVE_SYS_TYPES_H.
89841
89842 2003-07-01  Bruno Haible  <bruno@clisp.org>
89843
89844         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
89845         <sys/types.h> should be sufficient.
89846         Reported by Paul Eggert.
89847
89848 2003-06-26  Karl Berry  <karl@gnu.org>
89849
89850         * config/depcomp: update from automake.
89851
89852 2003-06-26  Bruno Haible  <bruno@clisp.org>
89853
89854         * modules/human: Depend on module stdbool.
89855
89856 2003-06-25  Bruno Haible  <bruno@clisp.org>
89857
89858         * modules/readlink: New file.
89859         * modules/xreadlink: Depend on it.
89860         * MODULES.html.sh (func_all_modules): Add readlink.
89861
89862 2003-06-25  Bruno Haible  <bruno@clisp.org>
89863
89864         * m4/readlink.m4: New file.
89865
89866 2003-06-25  Bruno Haible  <bruno@clisp.org>
89867
89868         * lib/readlink.c: New file.
89869
89870 2003-06-22  Karl Berry  <karl@gnu.org>
89871
89872         * config/srclist.txt: update mkinstalldirs from automake.
89873         * config/mkinstalldirs: update.
89874
89875 2003-06-22  Bruno Haible  <bruno@clisp.org>
89876
89877         Portability to mingw32.
89878         * m4/ssize_t.m4: New file, from GNU gettext.
89879         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
89880         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
89881
89882 2003-06-22  Bruno Haible  <bruno@clisp.org>
89883
89884         * modules/safe-read: Add m4/ssize_t.m4.
89885         * modules/xreadlink: Add m4/ssize_t.m4.
89886
89887 2003-06-20  Bruno Haible  <bruno@clisp.org>
89888
89889         Assume C89, so PARAMS isn't needed.
89890         * lib/unicodeio.h (PARAMS): Remove.
89891         * lib/unicodeio.c: Don't use PARAMS.
89892
89893 2003-06-18  Karl Berry  <karl@gnu.org>
89894
89895         * config/config.{guess,sub}: update from prep.
89896
89897 2003-06-18  Jim Meyering  <jim@meyering.net>
89898
89899         Merge changes from coreutils.
89900         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
89901         Remove explicit declarations of xmalloc and realloc.
89902         Include xalloc.h.
89903         (read_utmp): Remove anachronistic cast of xmalloc.
89904
89905 2003-06-17  Paul Eggert  <eggert@twinsun.com>
89906
89907         Assume C89, so PARAMS isn't needed.
89908         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
89909         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
89910         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
89911         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
89912         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
89913         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
89914         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
89915         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
89916         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
89917         lib/xstrtod.h, lib/xstrtol.h: Likewise.
89918         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
89919         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
89920         no longer needed. Anyway, config.h should always be included before any
89921         other file.
89922
89923 2003-06-11  Simon Josefsson  <jas@extundo.com>
89924
89925         * modules/sysexits: New file.
89926         * MODULES.html.sh (func_all_modules): Add sysexits.
89927
89928 2003-06-11  Simon Josefsson  <jas@extundo.com>
89929
89930         * lib/sysexit_.h: New file.
89931
89932 2003-06-11  Derek Price  <derek@ximbiot.com>
89933
89934         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
89935         necessary.
89936
89937 2003-06-11  Bruno Haible  <bruno@clisp.org>
89938
89939         * m4/sysexits.m4: New file.
89940
89941 2003-06-10  Simon Josefsson  <jas@extundo.com>
89942
89943         * lib/argp.h: New file, from glibc.
89944         * lib/argp-ba.c: New file, from glibc.
89945         * lib/argp-eexst.c: New file, from glibc.
89946         * lib/argp-fmtstream.c: New file, from glibc.
89947         * lib/argp-fmtstream.h: New file, from glibc.
89948         * lib/argp-fs-xinl.c: New file, from glibc.
89949         * lib/argp-help.c: New file, from glibc.
89950         * lib/argp-namefrob.h: New file, from glibc.
89951         * lib/argp-parse.c: New file, from glibc.
89952         * lib/argp-pv.c: New file, from glibc.
89953         * lib/argp-pvh.c: New file, from glibc.
89954         * lib/argp-xinl.c: New file, from glibc.
89955
89956 2003-06-10  Simon Josefsson  <jas@extundo.com>
89957
89958         * modules/strchrnul: New file.
89959
89960 2003-06-10  Simon Josefsson  <jas@extundo.com>
89961
89962         * modules/argp: New file.
89963
89964 2003-06-10  Simon Josefsson  <jas@extundo.com>
89965
89966         * m4/strchrnul.m4: New file.
89967
89968 2003-06-10  Simon Josefsson  <jas@extundo.com>
89969
89970         * lib/strchrnul.h: New file.
89971         * lib/strchrnul.c: New file.
89972
89973 2003-06-10  Bruno Haible  <bruno@clisp.org>
89974
89975         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
89976
89977 2003-06-07  Karl Berry  <karl@gnu.org>
89978
89979         * config/config.{guess,sub}: update from prep.
89980
89981 2003-06-07  Jim Meyering  <jim@meyering.net>
89982
89983         * modules/strtod: Use $(...) notation, not @...@ for
89984         AC_REPLACE'd variables.
89985         * modules/localcharset: Likewise.
89986
89987 2003-06-07  Jim Meyering  <jim@meyering.net>
89988
89989         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
89990         in place of my name in the copyright comment.
89991         Remove definition and uses of __P.
89992
89993         From coreutils.
89994         * lib/stat.c: Don't declare xmalloc explicitly.
89995         Instead, include "xalloc.h".
89996         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
89997         xrealloc, and xcalloc return values.
89998         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
89999         Improve comment.
90000         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
90001
90002 2003-06-07  Bruno Haible  <bruno@clisp.org>
90003
90004         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
90005         avoid AC_CONFIG_LINKS.
90006         * modules/fnmatch (Makefile.am): Use explicit creation rule for
90007         fnmatch.h, to avoid AC_CONFIG_LINKS.
90008         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
90009
90010 2003-06-07  Bruno Haible  <bruno@clisp.org>
90011
90012         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
90013         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
90014         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
90015         directory.
90016         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
90017         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
90018         directory.
90019
90020 2003-06-06  Jim Meyering  <jim@meyering.net>
90021
90022         Merge from coreutils.
90023         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
90024         Consolidate declarations and initializations of *_base* locals.
90025
90026         Merge from coreutils.
90027         This avoids a core dump on systems without GNU putenv,
90028         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
90029         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
90030         (unsetenv): New static function, from GNU libc.
90031         (rpl_putenv): Use it.
90032
90033         * lib/modechange.c: Remove trailing blanks.
90034
90035         Merge from coreutils.
90036         * lib/fsusage.c: Remove declaration of statfs.
90037         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
90038
90039         * lib/posixtm.c: Include <stdbool.h> unconditionally.
90040
90041 2003-06-06  Jim Meyering  <jim@meyering.net>
90042
90043         * lib/stdbool_.h: Renamed from stdbool.h.in.
90044
90045 2003-06-06  Jim Meyering  <jim@meyering.net>
90046             Bruno Haible  <bruno@clisp.org>
90047
90048         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
90049         Adjust Makefile.am snippet not to redirect directly to target.
90050         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
90051
90052 2003-06-05  Paul Eggert  <eggert@twinsun.com>
90053
90054         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
90055         mismatch, look in future quarters as well as past.  This fixes a
90056         bug when processing fall-backwards gaps immediately after a long
90057         period of daylight-saving time.
90058
90059         * lib/mktime.c: Assume freestanding C89 or better.
90060         (HAVE_LIMITS_H): Remove.  Assume it's 1.
90061         (__P): Remove; not used.
90062         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
90063         (mktime, not_equal_tm, print_tm, check_result,
90064         main): Use prototypes.  Use const * where appropriate.
90065         (main): Fix typo in testing code that uncovered by above changes.
90066         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
90067
90068 2003-06-04  Paul Eggert  <eggert@twinsun.com>
90069
90070         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
90071         locale.h, localeconv.  This merges changes from coreutils.
90072
90073         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
90074         It can be removed after the next Autoconf is released.
90075         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
90076         needed.
90077
90078 2003-06-04  Paul Eggert  <eggert@twinsun.com>
90079
90080         * lib/mktime.c: Fix Debian bug 177940
90081         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
90082         (localtime_offset): Now long int, not time_t, because we want it
90083         to be guaranteed to be signed.  All uses changed.
90084         (__mktime_internal): If overflow would occur when adding offset,
90085         don't add it.
90086
90087         Merge 'human' changes from coreutils.  Rewrite to support
90088         locale-specific notations like thousands separators.
90089         * lib/human.c: Simplify authorship notice.
90090         Include human.h immediately after config.h.
90091         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
90092         <limits.h>: Do not include, since human.h does.
90093         (SIZE_MAX, UINTMAX_MAX): New macros.
90094         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
90095         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
90096         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
90097         (power_letter): Renamed from suffixes.
90098         (generate_suffix_backwards): Remove.
90099         (adjust_value): Now takes int style (because of human.h changes)
90100         and long double value (for greater precision on some platforms).
90101         (group_number): New function.
90102         (human_readable): Use it.  Use integer options, not enum.
90103         Put the options before the sizes in the arg list.
90104         Support all the new options.
90105         The old human_readable function has been removed;
90106         use inttostr.h instead.
90107         (human_readable, default_block_size, humblock):
90108         Use uintmax_t, not int, for block sizes.
90109         (human_readable_inexact, block_size_types): Remove.
90110         (block_size_opts): New constant.
90111         (human_options): Renamed from human_block_size, with new signature
90112         that allows block sizes up to UINTMAX_MAX.  All callers changed.
90113         * lib/human.h: Add copyright and authorship notice.
90114         Include <limits.h> and <stdbool.h> unconditionally.
90115         (PARAMS): Remove.  All uses removed.
90116         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
90117         (enum human_inexact_style): Remove tag; now a nameless enum.
90118         (human_floor, human_ceiling, human_round_to_even): Now have
90119         values 2, 0, 1 rather than -1, 1, 0.
90120         (human_group_digits, human_suppress_point_zero, human_autoscale,
90121         human_base_1024, human_SI, human_B): New constants.
90122         (human_readable_inexact, human_block_size): Remove.
90123         (human_readable): Size args are now uintmax_t, not int.
90124         (human_options): New decl.
90125
90126         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
90127         unnecessary now that we assume C89 or better.  This change
90128         imported from coreutils.
90129
90130         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
90131         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
90132         in the 2003-05-30 sync from glibc.
90133
90134         .h files should stand alone, but we shouldn't include <sys/types.h>
90135         if we can get away with just <stddef.h>.
90136
90137         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
90138         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
90139         rather than <sys/types.h>, as we merely need size_t.
90140         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
90141         to get size_t.
90142         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
90143         Include <stdio.h>, to get FILE.
90144         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
90145         memcasecmp.h has included <stddef.h> and all we need is size_t.
90146         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
90147         our interface, instead of including <sys/types.h>
90148
90149 2003-06-04  Paul Eggert  <eggert@twinsun.com>
90150
90151         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
90152         now, as glibc mktime is buggy on non-glibc systems.
90153
90154 2003-06-03  Karl Berry  <karl@gnu.org>
90155
90156         * config/config.sub: update from prep.
90157
90158 2003-06-02  Paul Eggert  <eggert@twinsun.com>
90159
90160         [from coreutils]
90161         Fix some minor time-related bugs with POSIX time arguments.
90162         Some valid time stamps were being rejected (notably -1, and
90163         time stamps before 1900 on 64-bit hosts).  And some invalid
90164         time stamps were being accepted, e.g. September 31.
90165
90166         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
90167         that we can return (time_t) -1 successfully.
90168         * lib/posixtm.c: Likewise.
90169         [HAVE_STDBOOL_H]: Include <stdbool.h>.
90170         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
90171         (t): Remove static var.
90172         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
90173         of static var.  All uses changed.
90174         (year): Do not reject years before 1900; they can occur with
90175         64-bit time_t.
90176         (posix_time_parse): Do not check for out-of-range components;
90177         that is now the caller's responsibility, since our checks were
90178         only approximations.
90179         (posixtime): Use mktime to check for out-of-range components,
90180         since it knows them exactly.
90181         If mktime returns (time_t) -1, check whether an error actually occurred
90182         by invoking localtime on -1.
90183         (main) [TEST_POSIXTIME]: Check for input data errors, and report
90184         posixtime failures better.
90185         Improve the test data (in comments only).
90186
90187 2003-06-02  Karl Berry  <karl@gnu.org>
90188
90189         * config/mkinstalldirs (version): new variable.
90190         (--version): new option.
90191         (usage): improve message.
90192
90193 2003-05-30  Karl Berry  <karl@gnu.org>
90194
90195         * lib/mktime.c: update from libc.
90196
90197 2003-05-30  Bruno Haible  <bruno@clisp.org>
90198
90199         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
90200         * config/config.rpath: Upgrade to gettext-0.12.1.
90201
90202 2003-05-30  Bruno Haible  <bruno@clisp.org>
90203
90204         * m4/gettext.m4: Upgrade to gettext-0.12.1.
90205         * m4/nls.m4: New file, from gettext-0.12.1.
90206         * m4/po.m4: New file, from gettext-0.12.1.
90207         * m4/progtest.m4: Upgrade to gettext-0.12.1.
90208
90209 2003-05-30  Bruno Haible  <bruno@clisp.org>
90210
90211         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
90212         * lib/localcharset.h: Likewise.
90213         * lib/localcharset.c: Likewise.
90214
90215 2003-05-29  Karl Berry  <karl@gnu.org>
90216
90217         * config/config.rpath: update from gettext.
90218
90219 2003-05-28  Paul Eggert  <eggert@twinsun.com>
90220
90221         Assume the headers required for C89 freestanding compilers.
90222         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
90223         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
90224         * m4/human.m4 (gl_HUMAN): Likewise.
90225         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
90226         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
90227         * m4/userspec.m4 (gl_USERSPEC): Likewise.
90228         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
90229         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
90230         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
90231
90232 2003-05-28  Paul Eggert  <eggert@twinsun.com>
90233
90234         Assume the headers required for C89 freestanding compilers.
90235         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
90236         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
90237         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
90238         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
90239         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
90240         define, since <limits.h> is guaranteed to do that.
90241         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
90242         * lib/exclude.c: Include <stdbool.h> unconditionally.
90243         * lib/tempname.c: Include <stddef.h> unconditionally.
90244         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
90245         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
90246         <stddef.h> does that.
90247         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
90248         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
90249         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
90250         needed.
90251         * lib/xstrtol.c: Likewise.
90252         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
90253         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
90254
90255         * lib/addext.c (addext): Use assignment rather than cast, to avoid
90256         warnings on some platforms.
90257
90258         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
90259         arbitrarily.
90260
90261 2003-05-26  Jim Meyering  <jim@meyering.net>
90262
90263         Merge in a change from coreutils:
90264         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
90265         that is guaranteed to be `no'.  Use `no_such_member' to indicate
90266         that condition, rather than `-1' which is slightly misleading.
90267         Change the name of the cache variable to have the gl_ prefix.
90268         Prompted by a patch from Richard Dawe for DJGPP.
90269
90270 2003-05-24  Karl Berry  <karl@gnu.org>
90271
90272         * config/config.guess: update from prep.
90273
90274 2003-05-22  Karl Berry  <karl@gnu.org>
90275
90276         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
90277
90278 2003-05-20  Karl Berry  <karl@gnu.org>
90279
90280         * config/config.guess: update from prep.
90281
90282 2003-05-18  Karl Berry  <karl@gnu.org>
90283
90284         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
90285         might actually be set by the user.
90286
90287         * config/depcomp, install-sh, mdate-sh: update from automake.
90288
90289 2003-05-17  Bruno Haible  <bruno@clisp.org>
90290
90291         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
90292         invalid expansion for AC_EGREP_CPP.
90293         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
90294         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
90295         Suggested by Akim Demaille <akim@epita.fr> in
90296         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
90297
90298 2003-05-12  Jim Meyering  <jim@meyering.net>
90299
90300         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
90301         the space-padded-by-default conversion specifiers, %e, %k, %l.
90302
90303 2003-05-12  Bruno Haible  <bruno@clisp.org>
90304
90305         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
90306         the string is longer than 4 KB.
90307
90308 2003-05-11  Karl Berry  <karl@gnu.org>
90309
90310         * config/config.{guess,sub}: update from prep.
90311
90312 2003-05-09  Bruno Haible  <bruno@clisp.org>
90313
90314         * modules/error: Add m4/strerror_r.m4 to file list.
90315
90316 2003-05-03  Bruno Haible  <bruno@clisp.org>
90317
90318         Upgrade to Unicode-4.0.
90319         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
90320         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
90321         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
90322         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
90323         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
90324         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
90325         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
90326         Change width of U+E0100..U+E01EF from 1 to 0.
90327
90328 2003-04-25  Jim Meyering  <jim@meyering.net>
90329
90330         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
90331         of type size_t, not int.
90332
90333 2003-04-25  Bruno Haible  <bruno@clisp.org>
90334
90335         * lib/copy-file.c: Include <stddef.h>, for size_t.
90336
90337 2003-04-21  Paul Eggert  <eggert@twinsun.com>
90338
90339         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
90340         code which expansion is under static control.  Patch imported from
90341         Akim Demaille's patch to Bison; see
90342         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
90343
90344 2003-04-14  Bruno Haible  <bruno@clisp.org>
90345
90346         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
90347
90348 2003-04-11  Jim Meyering  <jim@meyering.net>
90349
90350         Merge changes from Coreutils.
90351
90352         2003-03-22  Jim Meyering  <jim@meyering.net>
90353
90354         * lib/strftime.c (widen): Cast alloca return value to proper type.
90355
90356         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
90357
90358         From GNU libc.
90359         * lib/strftime.c (my_strftime): Handle very large width
90360         specifications for numeric values correctly.  Improve checks for
90361         overflow.
90362
90363         2003-01-19  Jim Meyering  <jim@meyering.net>
90364
90365         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
90366         definitions.
90367         (nl_get_alt_digit) [! defined my_strftime]: Define.
90368         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
90369         _nl_get_alt_digit and _nl_get_walt_digit.
90370
90371         * lib/strftime.c (my_strftime): Merge in locale-related changes from
90372         libc. These changes have no effect outside of _LIBC.
90373
90374 2003-04-10  Bruno Haible  <bruno@clisp.org>
90375
90376         * modules/findprog: New file.
90377         * MODULES.html.sh (func_all_modules): Add it.
90378
90379 2003-04-10  Bruno Haible  <bruno@clisp.org>
90380
90381         * m4/findprog.m4: New file.
90382         * m4/eaccess.m4: New file.
90383
90384 2003-04-10  Bruno Haible  <bruno@clisp.org>
90385
90386         * lib/findprog.h: New file, from GNU gettext.
90387         * lib/findprog.c: New file, from GNU gettext.
90388
90389 2003-04-05  Jim Meyering  <jim@meyering.net>
90390
90391         Merge changes from Coreutils.
90392
90393         * lib/exclude.h (PARAMS): Remove definition and uses.
90394         * lib/exclude.c: Remove uses of `PARAMS'.
90395
90396         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
90397         Add test-cases for DOS filenames. Declare program_name.
90398         (main): Set up program_name.  Patch by Rich Dawe.
90399
90400         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
90401         error from mntctl.
90402         Use mntctl's return value to drive the entry-processing loop, since
90403         we can't rely on the value of the vmt_length member in the last
90404         entry.  On some systems doing so could result in exhausting
90405         virtual memory.  Based in part on a patch from Mike Jetzer.
90406
90407 2003-04-04  Bruno Haible  <bruno@clisp.org>
90408
90409         * modules/linebreak: New file.
90410         * MODULES.html.sh (func_all_modules): Add it.
90411
90412 2003-04-04  Bruno Haible  <bruno@clisp.org>
90413
90414         * m4/linebreak.m4: New file.
90415
90416 2003-04-04  Bruno Haible  <bruno@clisp.org>
90417
90418         * lib/linebreak.h: New file, from GNU gettext.
90419         * lib/linebreak.c: New file, from GNU gettext with slight
90420         modifications.
90421         * lib/lbrkprop.h: New file, from GNU gettext.
90422
90423 2003-04-03  Bruno Haible  <bruno@clisp.org>
90424
90425         * modules/utf8-ucs4: New file.
90426         * modules/utf16-ucs4: New file.
90427         * modules/ucs4-utf8: New file.
90428         * modules/ucs4-utf16: New file.
90429         * MODULES.html.sh (func_all_modules): Add them.
90430
90431 2003-04-03  Bruno Haible  <bruno@clisp.org>
90432
90433         * m4/utf-ucs4.m4: New file.
90434         * m4/ucs4-utf.m4: New file.
90435
90436 2003-04-03  Bruno Haible  <bruno@clisp.org>
90437
90438         * lib/utf8-ucs4.h: New file, from GNU gettext.
90439         * lib/utf16-ucs4.h: New file, from GNU gettext.
90440         * lib/ucs4-utf8.h: New file, from GNU gettext.
90441         * lib/ucs4-utf16.h: New file, from GNU gettext.
90442
90443 2003-04-02  Bruno Haible  <bruno@clisp.org>
90444
90445         * modules/binary-io: New file.
90446         * MODULES.html.sh (func_all_modules): Add it.
90447
90448 2003-04-02  Bruno Haible  <bruno@clisp.org>
90449
90450         * lib/binary-io.h: New file, from GNU gettext.
90451
90452 2003-04-01  Bruno Haible  <bruno@clisp.org>
90453
90454         * modules/pathname: New file.
90455         * MODULES.html.sh (func_all_modules): Add it.
90456
90457 2003-04-01  Bruno Haible  <bruno@clisp.org>
90458
90459         * lib/pathname.h: New file, from GNU gettext.
90460         * lib/concatpath.c: New file, from GNU gettext.
90461
90462 2003-03-30  Bruno Haible  <bruno@clisp.org>
90463
90464         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
90465
90466 2003-03-30  Bruno Haible  <bruno@clisp.org>
90467
90468         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
90469         function chown() doesn't exist.
90470
90471 2003-03-28  Bruno Haible  <bruno@clisp.org>
90472
90473         * modules/copy-file: New file.
90474         * MODULES.html.sh (func_all_modules): Add it.
90475
90476 2003-03-28  Bruno Haible  <bruno@clisp.org>
90477
90478         * m4/copy-file.m4: New file.
90479
90480 2003-03-28  Bruno Haible  <bruno@clisp.org>
90481
90482         * lib/copy-file.h: New file, from GNU gettext.
90483         * lib/copy-file.c: New file, from GNU gettext.
90484
90485 2003-03-18  Jim Meyering  <jim@meyering.net>
90486
90487         * lib/quote.c (quote_n): Fix typo in comment.
90488
90489 2003-03-18  Bruno Haible  <bruno@clisp.org>
90490
90491         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
90492         checking.
90493         * m4/onceonly_2_57.m4: Likewise.
90494
90495 2003-03-17  Bruno Haible  <bruno@clisp.org>
90496
90497         * m4/onceonly.m4: Require autoconf 2.54 or newer.
90498         (m4_quote): Remove macro.
90499         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
90500
90501 2003-03-14  Jim Meyering  <jim@meyering.net>
90502
90503         Merge changes from Coreutils.
90504         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
90505         to be const, in order to avoid warnings.
90506         (obstack_room): Likewise.
90507         (obstack_empty_p): Likewise.
90508
90509 2003-03-14  Bruno Haible  <bruno@clisp.org>
90510
90511         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
90512         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
90513
90514 2003-03-13  Paul Eggert  <eggert@twinsun.com>
90515
90516         Merge changes from Bison.
90517         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
90518         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
90519         when compiling Bison 1.875's `bitset bset = obstack_alloc
90520         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
90521         * lib/hash.c: Include <stdbool.h> unconditionally.
90522
90523 2003-03-13  Paul Eggert  <eggert@twinsun.com>
90524
90525         * m4/onceonly.m4 (m4_quote): New macro.
90526         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
90527         Quote AC_FOREACH variable-expansions properly.
90528
90529 2003-03-13  Paul Eggert  <eggert@twinsun.com>
90530
90531         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
90532
90533 2003-03-09  Paul Eggert  <eggert@twinsun.com>
90534
90535         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
90536         Reported by Bruce Becker; see:
90537         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
90538
90539 2003-03-03  Paul Eggert  <eggert@twinsun.com>
90540             Bruno Haible  <bruno@clisp.org>
90541
90542         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
90543         Reported by John Hughes, see
90544         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
90545
90546 2003-02-20  Bruno Haible  <bruno@clisp.org>
90547
90548         * MODULES.html.sh (func_all_modules): Add poll.
90549
90550 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
90551
90552         * modules/poll: New file.
90553
90554 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
90555
90556         * lib/poll_.h: New file.
90557         * lib/poll.c: New file.
90558
90559 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
90560
90561         * m4/poll.m4: New file.
90562
90563 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
90564
90565         * modules/mathl: New file.
90566
90567 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
90568
90569         * lib/mathl.h: New file.
90570         * lib/acosl.c: New file.
90571         * lib/asinl.c: New file.
90572         * lib/atanl.c: New file.
90573         * lib/ceill.c: New file.
90574         * lib/cosl.c: New file.
90575         * lib/expl.c: New file.
90576         * lib/floorl.c: New file.
90577         * lib/frexpl.c: New file.
90578         * lib/ldexpl.c: New file.
90579         * lib/logl.c: New file.
90580         * lib/sincosl.c: New file.
90581         * lib/sinl.c: New file.
90582         * lib/sqrtl.c: New file.
90583         * lib/tanl.c: New file.
90584         * lib/trigl.c: New file.
90585         * lib/trigl.h: New file.
90586
90587 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
90588
90589         * m4/mathl.m4: New file.
90590
90591 2003-02-18  Bruno Haible  <bruno@clisp.org>
90592
90593         * MODULES.html.sh (func_all_modules): Add mathl.
90594
90595 2003-02-17  Bruno Haible  <bruno@clisp.org>
90596
90597         * modules/mkdtemp: New module.
90598         * MODULES.html.sh (func_all_modules): Add it.
90599
90600 2003-02-17  Bruno Haible  <bruno@clisp.org>
90601
90602         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
90603
90604 2003-02-17  Bruno Haible  <bruno@clisp.org>
90605
90606         * lib/mkdtemp.h: New file, from GNU gettext.
90607         * lib/mkdtemp.c: New file, from GNU gettext.
90608
90609 2003-02-02  Jim Meyering  <jim@meyering.net>
90610
90611         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
90612         e.g. glibc-2.2.93.
90613
90614 2003-01-31  Bruno Haible  <bruno@clisp.org>
90615
90616         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
90617         'rpl_rename'.
90618         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
90619         'rpl_strnlen'.
90620         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
90621         'rpl_strtod'.
90622         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
90623         'rpl_utime'.
90624
90625 2003-01-31  Bruno Haible  <bruno@clisp.org>
90626
90627         * lib/rename.c: #undef rename before defining rpl_rename.
90628         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
90629
90630 2003-01-30  Bruno Haible  <bruno@clisp.org>
90631
90632         * modules/vasnprintf, modules/vasprintf: New modules.
90633         * MODULES.html.sh (func_all_modules): Add them.
90634
90635 2003-01-30  Bruno Haible  <bruno@clisp.org>
90636
90637         * m4/signed.m4: New file, from GNU gettext.
90638         * m4/longdouble.m4: New file, from GNU gettext.
90639         * m4/wchar_t.m4: New file, from GNU gettext.
90640         * m4/wint_t.m4: New file, from GNU gettext.
90641         * m4/vasnprintf.m4: New file.
90642         * m4/vasprintf.m4: New file.
90643
90644 2003-01-30  Bruno Haible  <bruno@clisp.org>
90645
90646         * lib/printf-args.h: New file, from GNU gettext.
90647         * lib/printf-args.c: New file, from GNU gettext.
90648         * lib/printf-parse.h: New file, from GNU gettext.
90649         * lib/printf-parse.c: New file, from GNU gettext.
90650         * lib/vasnprintf.h: New file, from GNU gettext.
90651         * lib/vasnprintf.c: New file, from GNU gettext.
90652         * lib/asnprintf.c: New file, from GNU gettext.
90653         * lib/vasprintf.h: New file, from GNU gettext with modifications.
90654         * lib/vasprintf.c: New file, from GNU gettext.
90655         * lib/asprintf.c: New file, from GNU gettext.
90656
90657 2003-01-29  Bruno Haible  <bruno@clisp.org>
90658
90659         * modules/stpncpy: New module.
90660         * MODULES.html.sh (func_all_modules): Add it.
90661
90662 2003-01-29  Bruno Haible  <bruno@clisp.org>
90663
90664         * m4/stpncpy.m4: New file.
90665
90666 2003-01-29  Bruno Haible  <bruno@clisp.org>
90667
90668         * lib/stpncpy.h: New file, from GNU gettext with modifications.
90669         * lib/stpncpy.c: New file, from GNU gettext with modifications.
90670
90671 2003-01-28  Bruno Haible  <bruno@clisp.org>
90672
90673         * modules/c-ctype: New module.
90674         * MODULES.html.sh (func_all_modules): Add it.
90675
90676 2003-01-28  Bruno Haible  <bruno@clisp.org>
90677
90678         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
90679         Paul Eggert.
90680         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
90681         Paul Eggert.
90682
90683 2003-01-27  Bruno Haible  <bruno@clisp.org>
90684
90685         * modules/xsetenv: New module.
90686         * MODULES.html.sh (func_all_modules): Add it.
90687
90688 2003-01-27  Bruno Haible  <bruno@clisp.org>
90689
90690         * lib/xsetenv.h: New file, from GNU gettext.
90691         * lib/xsetenv.c: New file, from GNU gettext.
90692
90693 2003-01-23  Jim Meyering  <jim@meyering.net>
90694
90695         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
90696         from working on systems without dirfd (at least Irix and OSF1/Tru64).
90697
90698 2003-01-23  Bruno Haible  <bruno@clisp.org>
90699
90700         * modules/minmax: New module.
90701         * MODULES.html.sh (func_all_modules): Add it.
90702
90703 2003-01-23  Bruno Haible  <bruno@clisp.org>
90704
90705         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
90706         Eggert.
90707
90708 2003-01-22  Bruno Haible  <bruno@clisp.org>
90709
90710         * modules/exit: New module.
90711         * MODULES.html.sh (func_all_modules): Add it.
90712
90713 2003-01-22  Bruno Haible  <bruno@clisp.org>
90714
90715         * lib/exit.h: New file, from GNU gettext.
90716
90717 2003-01-19  Bruno Haible  <bruno@clisp.org>
90718
90719         * gnulib-tool: Recognize option --extract-maintainer.
90720         (func_get_maintainer): New function.
90721         * modules/*: Add Maintainer entry.
90722
90723 2003-01-16  Jim Meyering  <jim@meyering.net>
90724
90725         * m4/regex.m4: The `regex' struct is both input and output.
90726         Initialize it before each use.  Patch by Tim Waugh.
90727
90728 2003-01-16  Bruno Haible  <bruno@clisp.org>
90729
90730         * MODULES.html.sh: Add a table of contents. Add the module name as
90731         leftmost column. Add hyperlinks.
90732
90733 2003-01-15  Bruno Haible  <bruno@clisp.org>
90734
90735         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
90736
90737 2003-01-15  Bruno Haible  <bruno@clisp.org>
90738
90739         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
90740         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
90741         suffix.
90742
90743 2003-01-15  Bruno Haible  <bruno@clisp.org>
90744
90745         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
90746
90747 2003-01-15  Bruno Haible  <bruno@clisp.org>
90748
90749         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
90750         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
90751
90752 2003-01-14  Jim Meyering  <jim@meyering.net>
90753
90754         * lib/same.c (same_name): Tweak a comment.
90755
90756 2003-01-14  Bruno Haible  <bruno@clisp.org>
90757
90758         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
90759         when a string comparison is sufficient.
90760
90761 2003-01-14  Bruno Haible  <bruno@clisp.org>
90762
90763         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
90764         'unsigned int'.
90765
90766 2003-01-14  Bruno Haible  <bruno@clisp.org>
90767
90768         * lib/hash-pjw.c: Add comment about low quality of this function.
90769
90770 2003-01-13  Bruno Haible  <bruno@clisp.org>
90771
90772         * modules/stpcpy: Distribute lib/stpcpy.h.
90773         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
90774
90775 2003-01-13  Bruno Haible  <bruno@clisp.org>
90776
90777         * modules/*: Add a description.
90778         * modules/strpbrk: Fix Makefile.am snippet.
90779         * modules/strtoimax: Fix dependencies.
90780         * modules/strtoumax: Likewise.
90781
90782 2003-01-13  Bruno Haible  <bruno@clisp.org>
90783
90784         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
90785         * modules/alloca (Makefile.am): All object files depend on alloca.h.
90786         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
90787
90788 2003-01-13  Bruno Haible  <bruno@clisp.org>
90789
90790         * gnulib-tool (func_create_testdir): Store config/* files in the main
90791         directory.
90792         * config.rpath: Move to ...
90793         * config/config.rpath: ... here.
90794         * modules/gettext: Contains config/config.rpath, not config.rpath.
90795         * modules/iconv: Likewise.
90796
90797 2003-01-12  Paul Eggert  <eggert@twinsun.com>
90798
90799         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
90800         to avoid collisions with libcurses and libreadline.
90801
90802         * m4/getstr.m4: Remove.
90803         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
90804
90805 2003-01-12  Paul Eggert  <eggert@twinsun.com>
90806
90807         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
90808         to avoid collisions with libcurses and libreadline.
90809
90810         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
90811         * lib/getstr.h, getstr.c: Remove.
90812         * lib/getline.c: Include "getline.h", to check interface.
90813         Move body of old getstr.c here: this defines MIN_CHUNK and
90814         declares getdelim2, which is renamed from getstr.
90815         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
90816
90817         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
90818         All uses changed.
90819         * lib/linebuffer.h: Likewise.
90820         (readline): Remove backward-compatibility macro.
90821
90822 2003-01-12  Paul Eggert  <eggert@twinsun.com>
90823
90824         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
90825         to avoid collisions with libcurses and libreadline.
90826         * getstr: Remove.
90827         * MODULES.html.sh: Remove getstr.
90828         * modules/getline: Depend on unlocked-io, not getstr.
90829
90830 2003-01-12  Jim Meyering  <jim@meyering.net>
90831
90832         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
90833
90834 2003-01-10  Bruno Haible  <bruno@clisp.org>
90835
90836         * modules/alloca: Change Makefile.am requirements. Simplify Include
90837         requirements. Add lib/alloca_.h to file list.
90838
90839 2003-01-10  Bruno Haible  <bruno@clisp.org>
90840
90841         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
90842
90843 2003-01-10  Bruno Haible  <bruno@clisp.org>
90844
90845         * lib/alloca_.h: New file.
90846         * lib/getdate.y: Unconditionally include alloca.h.
90847         * lib/makepath.c: Likewise.
90848         * lib/setenv.c: Likewise.
90849         * lib/userspec.c: Likewise.
90850
90851 2003-01-09  Karl Berry  <karl@gnu.org>
90852
90853         * MODULES.html.sh: include `dirname $0` in PATH, to find
90854         gnulib-tool.
90855
90856 2003-01-09  Bruno Haible  <bruno@clisp.org>
90857
90858         * modules/stdbool: Change configure.ac, Makefile.am requirements.
90859         Simplify Include requirements. Add lib/stdbool.h.in to file list.
90860
90861 2003-01-09  Bruno Haible  <bruno@clisp.org>
90862
90863         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
90864
90865 2003-01-09  Bruno Haible  <bruno@clisp.org>
90866
90867         * lib/stdbool.h.in: New file.
90868
90869 2003-01-09  Bruno Haible  <bruno@clisp.org>
90870
90871         * gnulib-tool (func_all_modules): Ignore files ending in ~.
90872         * MODULES.html.sh: Likewise.
90873
90874 2003-01-08  Jim Meyering  <jim@meyering.net>
90875
90876         * lib/full-write.c: Undefine and define-away `const' after inclusion
90877         of errno.h, not before.  Suggestion from Bruno Haible.
90878
90879 2003-01-08  Bruno Haible  <bruno@clisp.org>
90880
90881         * modules/full-read: Depend on full-write.
90882
90883 2003-01-08  Bruno Haible  <bruno@clisp.org>
90884
90885         * lib/safe-read.c: Include specification header first, to ensure its
90886         selfcontainedness.
90887         * lib/full-write.c: Likewise.
90888
90889 2003-01-07  Jim Meyering  <jim@meyering.net>
90890
90891         * lib/full-write.c: Rework so that it may serve to define full_read,
90892         too.
90893         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
90894
90895 2003-01-07  Bruno Haible  <bruno@clisp.org>
90896
90897         * lib/strtoimax.c: Include <stdint.h> as an alternative to
90898         <inttypes.h>.
90899         * lib/xstrtol.h: Likewise.
90900         * lib/xstrtoimax.c: Likewise.
90901         * lib/xstrtoumax.c: Likewise.
90902         * lib/human.h: Likewise.
90903
90904         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
90905         on systems that have <inttypes.h> but not <stdint.h>.
90906
90907 2003-01-07  Bruno Haible  <bruno@clisp.org>
90908
90909         * MODULES.html.sh: Add copyright notice.
90910         (missed_files): Omit CVS directory entries.
90911         (func_module): Make it work with sed-3.02.
90912         * MODULES.txt: Remove file.
90913
90914 2003-01-06  Jim Meyering  <jim@meyering.net>
90915
90916         * lib/version-etc.c: Update year in translatable copyright string.
90917
90918 2003-01-03  Karl Berry  <karl@gnu.org>
90919
90920         * config/config.{guess,sub}: update from prep.
90921
90922 2003-01-02  Karl Berry  <karl@gnu.org>
90923
90924         * doc/COPYING.DOC: belatedly updated to 1.2.
90925
90926 2003-01-01  Karl Berry  <karl@gnu.org>
90927
90928         * gnulib-tool (func_verify_module): report module name $module in
90929         error message, not $1.
90930         * gnulib-tool (create-testdir): don't complain if destdir couldn't
90931         be created, only if it doesn't exist.
90932         * gnulib-tool (last_checkin_date): don't expand the $Date here.
90933
90934 2002-12-31  Paul Eggert  <eggert@twinsun.com>
90935
90936         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
90937
90938 2002-12-31  Paul Eggert  <eggert@twinsun.com>
90939
90940         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
90941         memcmp if strcoll doesn't work.
90942
90943 2002-12-31  Bruno Haible  <bruno@clisp.org>
90944
90945         * lib/utime.c (utime_null): No need to call ftruncate if the file was
90946         nonempty.
90947
90948 2002-12-31  Bruno Haible  <bruno@clisp.org>
90949
90950         * lib/memcoll.c (STRCOLL): New macro.
90951         (memcoll): Use it.
90952
90953 2002-12-31  Bruno Haible  <bruno@clisp.org>
90954
90955         * lib/localcharset.h: New file.
90956         * lib/localcharset.c: Include it.
90957         * lib/unicodeio.c: Likewise.
90958
90959 2002-12-31  Bruno Haible  <bruno@clisp.org>
90960
90961         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
90962         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
90963
90964 2002-12-31  Bruno Haible  <bruno@clisp.org>
90965
90966         * lib/getline.h: Include <stddef.h>, for size_t.
90967
90968         * lib/unicodeio.h: Include <stddef.h>, for size_t.
90969         * lib/unicodeio.c: Don't include <stddef.h>.
90970
90971 2002-12-31  Bruno Haible  <bruno@clisp.org>
90972
90973         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
90974         HAVE_TM_ZONE.
90975
90976 2002-12-24  Karl Berry  <karl@gnu.org>
90977
90978         * config/config.guess: update from prep.
90979
90980 2002-12-24  Bruno Haible  <bruno@clisp.org>
90981
90982         General infrasructure.
90983         * m4/README: Rewritten.
90984         * m4/onceonly.m4: New file.
90985         * m4/onceonly_2_57.m4: New file.
90986
90987         Module atexit.
90988         * m4/atexit.m4: New file.
90989
90990         Module strtod.
90991         * m4/strtod.m4: New file.
90992
90993         Module strtol.
90994         * m4/strtol.m4: New file.
90995
90996         Module strtoul.
90997         * m4/strtoul.m4: New file.
90998
90999         Module memchr.
91000         * m4/memchr.m4: New file.
91001
91002         Module memcmp.
91003         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
91004         (jm_FUNC_MEMCMP): Invoke it.
91005
91006         Module memcpy.
91007         * m4/memcpy.m4: New file.
91008
91009         Module memmove.
91010         * m4/memmove.m4: New file.
91011
91012         Module memset.
91013         * m4/memset.m4: New file.
91014
91015         Module strcspn.
91016         * m4/strcspn.m4: New file.
91017
91018         Module strpbrk.
91019         * m4/strpbrk.m4: New file.
91020
91021         Module strstr.
91022         * m4/strstr.m4: New file.
91023
91024         Module strerror.
91025         * m4/strerror.m4: New file.
91026
91027         Module mktime.
91028         * m4/mktime.m4: Renamed from jm-mktime.m4.
91029         (gl_PREREQ_MKTIME): New macro.
91030         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
91031
91032         Module malloc.
91033         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
91034         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
91035         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
91036
91037         Module realloc.
91038         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
91039         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
91040         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
91041
91042         Module strftime.
91043         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
91044         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
91045         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
91046         gl_TM_GMTOFF.
91047         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
91048
91049         Module xalloc.
91050         * m4/xalloc.m4: New file.
91051
91052         Module alloca.
91053         * m4/alloca.m4: New file.
91054
91055         Module putenv.
91056         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
91057         (jm_FUNC_PUTENV): Invoke it.
91058
91059         Module setenv.
91060         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
91061         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
91062         when invoked twice.
91063         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
91064         gt_FUNC_SETENV.
91065
91066         Module memrchr.
91067         * m4/memrchr.m4: New file.
91068
91069         Module stpcpy.
91070         * m4/stpcpy.m4: New file.
91071
91072         Module strcase.
91073         * m4/strcase.m4: New file.
91074
91075         Module strdup.
91076         * m4/strdup.m4: New file.
91077
91078         Module strnlen.
91079         * m4/strnlen.m4: New file.
91080
91081         Module strndup.
91082         * m4/strndup.m4: New file.
91083
91084         Module xstrtod.
91085         * m4/xstrtod.m4: New file.
91086
91087         Module xstrtol.
91088         * m4/xstrtol.m4: New file.
91089
91090         Module getdate.
91091         * m4/getdate.m4: New file.
91092
91093         Module unlocked-io.
91094         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
91095         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
91096         * m4/jm-glibc-io.m4n: Remove file.
91097
91098         Module long-options.
91099         * m4/long-options.m4: New file.
91100
91101         Module md5.
91102         * m4/md5.m4: New file.
91103
91104         Module sha.
91105         * m4/sha.m4: New file.
91106
91107         Module getstr.
91108         * m4/getstr.m4: New file.
91109
91110         Module getline.
91111         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
91112         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
91113         <sys/types.h>, for size_t. Use the function name gnu_getline, not
91114         simply getline. Infoke gl_PREREQ_GETLINE.
91115
91116         Module obstack.
91117         * m4/obstack.m4: New file.
91118
91119         Module hash.
91120         * m4/hash.m4: New file.
91121
91122         Module readtokens.
91123         * m4/readtokens.m4: New file.
91124
91125         Module strverscmp.
91126         * m4/strverscmp.m4: New file.
91127
91128         Module stdbool.
91129         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
91130         OSF/1.
91131
91132         Module strtoll.
91133         * m4/strtoll.m4: New file.
91134
91135         Module strtoull.
91136         * m4/strtoull.m4: New file.
91137
91138         Module strtoimax.
91139         * m4/strtoimax.m4: New file.
91140
91141         Module strtoumax.
91142         * m4/strtoumax.m4: New file.
91143
91144         Module xstrtoimax.
91145         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
91146         jm_AC_PREREQ_XSTRTOIMAX.
91147         Moved the strtol prerequisites to strtol.m4.
91148         Moved the strtoll prerequisites to strtoll.m4.
91149         Moved the strtoimax prerequisites to strtoimax.m4.
91150
91151         Module xstrtoumax.
91152         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
91153         jm_AC_PREREQ_XSTRTOUMAX.
91154         Moved the strtoul prerequisites to strtoul.m4.
91155         Moved the strtoull prerequisites to strtoull.m4.
91156         Moved the strtoumax prerequisites to strtoumax.m4.
91157
91158         Module chown.
91159         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
91160         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
91161
91162         Module dup2.
91163         * m4/dup2.m4: New file.
91164
91165         Module ftruncate.
91166         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
91167         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
91168
91169         Module getgroups.
91170         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
91171         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
91172
91173         Module gettimeofday.
91174         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
91175         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
91176         gl_PREREQ_GETTIMEOFDAY.
91177
91178         Module mkdir.
91179         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
91180         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
91181
91182         Module mkstemp.
91183         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
91184         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
91185         jm_AC_TYPE_UINTMAX_T.
91186         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
91187
91188         Module stat.
91189         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
91190         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
91191
91192         Module lstat.
91193         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
91194         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
91195
91196         Module timespec.
91197         * m4/timespec.m4 (gl_TIMESPEC): New macro.
91198         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
91199         * m4/st_mtim.m4: Indentation.
91200
91201         Module nanosleep.
91202         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
91203         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
91204         gl_PREREQ_NANOSLEEP.
91205
91206         Module regex.
91207         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
91208         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
91209         (gl_REGEX): New macro.
91210
91211         Module rename.
91212         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
91213         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
91214
91215         Module rmdir.
91216         * m4/rmdir.m4: New file.
91217
91218         Module utime.
91219         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
91220         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
91221         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
91222
91223         Module dirname.
91224         * m4/dirname.m4: New file.
91225
91226         Module getopt.
91227         * m4/getopt.m4: New file.
91228
91229         Module unistd-safer.
91230         * m4/unistd-safer.m4: New file.
91231
91232         Module fnmatch.
91233         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
91234         declaration.
91235         (gl_PREREQ_FNMATCH_EXTRA): New macro.
91236         (gl_FUNC_FNMATCH_POSIX): New macro.
91237         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
91238         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
91239         simply fnmatch.
91240
91241         Module exclude.
91242         * m4/exclude.m4: New file.
91243
91244         Module human.
91245         * m4/human.m4: New file.
91246
91247         Module acl.
91248         * m4/acl.m4: Nop.
91249
91250         Module backupfile.
91251         * m4/backupfile.m4: New file.
91252         * m4/d-ino.m4: Indentation.
91253
91254         Module fsusage.
91255         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
91256         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
91257         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
91258
91259         Module dirfd.
91260         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
91261         requirements.
91262
91263         Module euidaccess.
91264         * m4/euidaccess.m4: New file.
91265
91266         Module file-type.
91267         * m4/file-type.m4: New file.
91268
91269         Module fileblocks.
91270         * m4/fileblocks.m4: New file.
91271
91272         Module filemode.
91273         * m4/filemode.m4: New file.
91274
91275         Module isdir.
91276         * m4/isdir.m4: New file.
91277
91278         Module lchown.
91279         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
91280         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
91281
91282         Module makepath.
91283         * m4/makepath.m4: New file.
91284
91285         Module modechange.
91286         * m4/modechange.m4: New file.
91287
91288         Module mountlist.
91289         * m4/mountlist.m4: New file.
91290         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
91291         Indentation.
91292
91293         Module path-concat.
91294         * m4/path-concat.m4: New file.
91295
91296         Module pathmax.
91297         * m4/pathmax.m4: New file.
91298
91299         Module same.
91300         * m4/same.m4: New file.
91301
91302         Module save-cwd.
91303         * m4/save-cwd.m4: New file.
91304
91305         Module savedir.
91306         * m4/savedir.m4: New file.
91307
91308         Module xgetcwd.
91309         * m4/xgetcwd.m4: New file.
91310         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
91311
91312         Module xreadlink.
91313         * m4/xreadlink.m4: New file.
91314
91315         Module safe-read.
91316         * m4/safe-read.m4: New file.
91317
91318         Module safe-write.
91319         * m4/safe-write.m4: New file.
91320
91321         Module closeout.
91322         * m4/closeout.m4: New file.
91323
91324         Module stdio-safer.
91325         * m4/stdio-safer.m4: New file.
91326
91327         Module getpass.
91328         * m4/getpass.m4: New file.
91329
91330         Module getugroups.
91331         * m4/getugroups.m4: New file.
91332
91333         Module group-member.
91334         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
91335         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
91336
91337         Module idcache.
91338         * m4/idcache.m4: New file.
91339
91340         Module userspec.
91341         * m4/userspec.m4: New file.
91342
91343         Module gettime.
91344         * m4/clock_time.m4: New file.
91345         * m4/gettime.m4: New file.
91346
91347         Module settime.
91348         * m4/settime.m4: New file.
91349
91350         Module posixtm.
91351         * m4/posixtm.m4: New file.
91352
91353         Module gethostname.
91354         * m4/gethostname.m4: New file.
91355
91356         Module canon-host.
91357         * m4/canon-host.m4: New file.
91358
91359         Module gettext.
91360         * m4/codeset.m4: New file, from gettext-0.11.5.
91361         * m4/gettext.m4: New file, from gettext-0.11.5.
91362         * m4/glibc21.m4: New file, from gettext-0.11.5.
91363         * m4/iconv.m4: New file, from gettext-0.11.5.
91364         * m4/intdiv0.m4: New file, from gettext-0.11.5.
91365         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
91366         * m4/inttypes.m4: New file, from gettext-0.11.5.
91367         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
91368         * m4/isc-posix.m4: New file, from gettext-0.11.5.
91369         * m4/lcmessage.m4: New file, from gettext-0.11.5.
91370         * m4/lib-ld.m4: New file, from gettext-0.11.5.
91371         * m4/lib-link.m4: New file, from gettext-0.11.5.
91372         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
91373         * m4/progtest.m4: New file, from gettext-0.11.5.
91374         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
91375         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
91376         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
91377
91378         Module localcharset.
91379         * m4/localcharset.m4: New file.
91380
91381         Module hard-locale.
91382         * m4/hard-locale.m4: New file.
91383
91384         Module mbswidth.
91385         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
91386         onceonly macros.
91387         * m4/mbrtowc.m4: Add comment.
91388
91389         Module memcasecmp.
91390         * m4/memcasecmp.m4: New file.
91391
91392         Module memcoll.
91393         * m4/memcoll.m4: New file.
91394
91395         Module unicodeio.
91396         * m4/unicodeio.m4: New file.
91397
91398         Module rpmatch.
91399         * m4/rpmatch.m4: New file.
91400
91401         Module yesno.
91402         * m4/yesno.m4: New file.
91403
91404         Module exitfail.
91405         * m4/exitfail.m4: New file.
91406
91407         Module c-stack.
91408         * m4/c-stack.m4 (gl_C_STACK): New macro.
91409         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
91410
91411         Module error.
91412         * m4/error.m4 (gl_ERROR): New macro.
91413         (jm_PREREQ_ERROR): Use onceonly macros.
91414
91415         Module fatal.
91416         * m4/fatal.m4: New file.
91417
91418         Module getloadavg.
91419         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
91420         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
91421
91422         Module getpagesize.
91423         * m4/getpagesize.m4: New file.
91424
91425         Module getusershell.
91426         * m4/getusershell.m4: New file.
91427
91428         Module physmem.
91429         * m4/physmem.m4: New file.
91430
91431         Module posixver.
91432         * m4/posixver.m4: New file.
91433
91434         Module quotearg.
91435         * m4/quotearg.m4: New file.
91436
91437         Module quote.
91438         * m4/quote.m4: New file.
91439
91440         Module readutmp.
91441         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
91442
91443         Module sig2str.
91444         * m4/sig2str.m4: New file.
91445
91446         Other.
91447         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
91448         ulonglong.m4.
91449         * m4/intmax_t.m4: New file.
91450         * m4/d-type.m4: Indentation.
91451         * m4/jm-macros.m4: Update.
91452         * m4/prereq.m4 (jm_PREREQ): Update.
91453         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
91454         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
91455         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
91456         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
91457         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
91458         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
91459         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
91460         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
91461         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
91462         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
91463         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
91464         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
91465         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
91466         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
91467         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
91468         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
91469         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
91470         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
91471         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
91472
91473 2002-12-24  Bruno Haible  <bruno@clisp.org>
91474
91475         * MODULES.txt: Update according to m4/ changes.
91476
91477         Module gettext.
91478         * config.rpath: New file, from gettext-0.11.5.
91479
91480         * modules/*: New module descriptions.
91481         * gnulib-tool: New file.
91482         * MODULES.html.sh: New file.
91483
91484 2002-12-21  Karl Berry  <karl@gnu.org>
91485
91486         * doc/fdl.texi: update to version 1.2.
91487
91488 2002-12-19  Karl Berry  <karl@gnu.org>
91489
91490         * config/config.guess: update from prep.
91491
91492 2002-12-18  Bruno Haible  <bruno@clisp.org>
91493
91494         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
91495         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
91496
91497 2002-12-17  Bruno Haible  <bruno@clisp.org>
91498
91499         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
91500         stdlib.h, string.h.
91501
91502 2002-12-17  Bruno Haible  <bruno@clisp.org>
91503
91504         * lib/canon-host.c (strdup): Remove unused declaration.
91505
91506         * lib/fsusage.c: Include full_read.h.
91507         (get_fs_usage): Use full_read instead of safe_read.
91508
91509         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
91510
91511 2002-12-12  Karl Berry  <karl@gnu.org>
91512
91513         * config/config.guess: update from prep.
91514
91515 2002-12-11  Bruno Haible  <bruno@clisp.org>
91516
91517         * m4/setenv.m4: New file, from gettext-0.11.5.
91518
91519 2002-12-11  Bruno Haible  <bruno@clisp.org>
91520
91521         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
91522         not unsetenv().
91523         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
91524         modifications:
91525
91526         2002-12-11  Bruno Haible  <bruno@clisp.org>
91527
91528                 * setenv.c (alloca): Fall back to malloc.
91529                 (freea): New macro.
91530                 (setenv): Use freea() to free memory allocated with alloca().
91531
91532         2002-11-13  Bruno Haible  <bruno@clisp.org>
91533
91534                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
91535                 function declarations.
91536                 * unsetenv.c (unsetenv): Likewise.
91537
91538         2002-03-04  Bruno Haible  <bruno@clisp.org>
91539
91540                 Portability to AIX 4.3.3.
91541                 * unsetenv.c: New file, extracted from setenv.c.
91542                 * setenv.c: Move the unsetenv() function to unsetenv.c.
91543
91544         2001-12-20  Bruno Haible  <bruno@clisp.org>
91545
91546                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
91547                 use malloc instead. For SunOS 4.
91548
91549         2001-12-11  Bruno Haible  <bruno@clisp.org>
91550
91551                 * setenv.c: Declare alloca.
91552                 (compar_fn_t): New typedef.
91553                 (KNOWN_VALUE, STORE_VALUE): Use it.
91554
91555         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
91556         setenv.h.
91557
91558 2002-12-10  Paul Eggert  <eggert@twinsun.com>
91559
91560         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
91561         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
91562         Choose values that are less likely to collide with system fnmatch
91563         options.
91564         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
91565         defined (e.g., a pure POSIX system).
91566         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
91567         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
91568
91569 2002-12-06  Paul Eggert  <eggert@twinsun.com>
91570
91571         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
91572         a pain in practice to deal with generated m4 files.  This change
91573         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
91574
91575         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
91576         and jm-glibc-io.m4, as they are no longer a special case.
91577         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
91578         kludge and the auto-generation stuff.  Check only whether the
91579         functions are declared, not whether they exist, since older hosts
91580         that don't declare the functions can't use the optimization anyway.
91581
91582 2002-12-06  Jim Meyering  <jim@meyering.net>
91583
91584         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
91585
91586         Merge in changes from libc's misc/error.c, in preparation
91587         for the merge of gnulib's changes back into libc.
91588
91589         * lib/error.c (_): Define only if not already defined.
91590         Move definition to follow all #include directives.
91591         Include unlocked-io.h only if !_LIBC.
91592         [_LIBC]: Include <libio/libioP.h>.
91593         [USE_IN_LIBIO]: Include <libio/iolibio.h>
91594         (fflush): Tweak definition to use INTUSE.
91595         (putc): Define.
91596
91597 2002-12-05  Paul Eggert  <eggert@twinsun.com>
91598
91599         * lib/alloca.c [defined emacs]: Include "lisp.h".
91600         (xalloc_die) [defined emacs]: New macro.
91601         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
91602         [! defined emacs]: Include <xalloc.h>.
91603         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
91604         (pointer): Typedef to POINTER_TYPE *.
91605         (malloc): Remove decl; we now always use xmalloc.
91606         (alloca): Use old-style definition, since Emacs needs this.
91607         Check for arithmetic overflow when computing combined size.
91608
91609 2002-12-04  Paul Eggert  <eggert@twinsun.com>
91610
91611         Do not generate unlocked-io.h automatically, since it's easier to
91612         maintain it by hand.
91613
91614         * lib/unlocked-io.h: New file, from GNU diffutils,
91615         but with proper copyright notice and attribution.
91616         * lib/gen-uio: Remove.
91617         * lib/Makefile.am: Add copyright notice.
91618         (libfetish_a_SOURCES): Add unlocked-io.h.
91619         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
91620         (DISTCLEANFILES, io_functions): Remove macros.
91621         (EXTRA_DIST): Remove gen_uio.
91622         (unlocked-io.h): Remove rule.
91623
91624 2002-12-04  Jim Meyering  <jim@meyering.net>
91625
91626         Reflect the fact that stat.c and lstat.c are no longer generated.
91627         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
91628         (DISTCLEANFILES): Likewise.
91629         (EXTRA_DIST): Likewise.
91630         (all_local): Don't depend on stat.c or lstat.c.
91631         (stat.c, lstat.c): Remove rules.
91632         (EXTRA_DIST): Remove xstat.in.
91633
91634         * lib/xstat.in: Remove file.  Contents moved into stat.c.
91635         * lib/stat.c: New file.  Contents mostly from xstat.in.
91636         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
91637         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
91638
91639         * lib/safe-read.c: Rework so that it may serve to define safe_write,
91640         too.
91641         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
91642
91643 2002-12-03  Jim Meyering  <jim@meyering.net>
91644
91645         * lib/safe-read.c, safe-write.c: Change variable names and comments,
91646         but not semantics, to minimize the differences between these two files.
91647         (safe_read): Change comment to mention SAFE_READ_ERROR.
91648
91649         * lib/safe-read.c (IS_EINTR): Define.
91650         (safe_read): Use IS_EINTR in place of in-function cpp directives.
91651
91652 2002-12-02  Jim Meyering  <jim@meyering.net>
91653
91654         * lib/safe-read.c (EINTR): Define.
91655         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
91656         (INT_MAX): Provide fallback.
91657         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
91658
91659         * lib/safe-read.h (SAFE_READ_ERROR): Define.
91660
91661 2002-12-02  Bruno Haible  <bruno@clisp.org>
91662
91663         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
91664         Define, taken from safe-read.c.
91665         (INT_MAX): Provide fallback.
91666         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
91667         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
91668
91669         * lib/safe-read.c (EINTR): Remove definition.
91670         (safe_read): Don't use EINTR if it is absent.
91671
91672 2002-12-01  Jim Meyering  <jim@meyering.net>
91673
91674         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
91675         zero.
91676         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
91677
91678 2002-11-27  Paul Eggert  <eggert@twinsun.com>
91679
91680         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
91681         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
91682         with `if (! (value < limit)) abort ();', for readability.
91683
91684 2002-11-26  Karl Berry  <karl@gnu.org>
91685
91686         * lib/strdup.c: copy from libc again, with jim's ok.
91687         * lib/.cppi-disable: re-add strdup.c
91688
91689 2002-11-25  Karl Berry  <karl@gnu.org>
91690
91691         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
91692         instead of "strtol.c".
91693
91694 2002-11-25  Karl Berry  <karl@gnu.org>
91695
91696         * config/install-sh: update from automake for variable quoting, $0 in
91697         error msgs, etc.
91698
91699         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
91700         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
91701         entry.
91702
91703 2002-11-25  Jim Meyering  <jim@meyering.net>
91704
91705         * lib/mktime.c: Sync from libc, now that it has the latest fix.
91706
91707 2002-11-24  Karl Berry  <karl@gnu.org>
91708
91709         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
91710         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
91711
91712 2002-11-24  Jim Meyering  <jim@meyering.net>
91713
91714         Update from coreutils:
91715
91716         * lib/mktime.c: Merge in changes from libc.
91717
91718         Avoid a link-time failure on some Linux systems.
91719         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
91720         (otherwise).
91721         (__mon_yday): Declare with the STATIC attribute.
91722         (__mktime_internal): Likewise.
91723         Based on a report from Greg Schafer.
91724
91725 2002-11-23  Jim Meyering  <jim@meyering.net>
91726
91727         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
91728         Use `unsigned', not `int', as type of index.
91729
91730         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
91731
91732         * lib/fsusage.c: Remove unneeded parentheses around operands of
91733         `defined'.
91734
91735 2002-11-22  Paul Eggert  <eggert@twinsun.com>
91736
91737         * lib/quotearg.h: Allow multiple inclusion by surrounding with
91738         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
91739         so that we can be included first.
91740         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
91741         * lib/quotearg.c: Include quotearg.h immediately after config.h.
91742         No need to include stddef.h or sys/types.h any more.
91743         Surround local include files with "", not "<>".
91744         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
91745         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
91746         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
91747         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
91748         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
91749         (ISPRINT): Remove; no longer needed now that we assume C89.
91750
91751         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
91752         Preserve errno.
91753
91754         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
91755         quotearg_char): Use SIZE_MAX rather than
91756         (size_t) -1 when we are talking about "infinity".
91757
91758         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
91759
91760 2002-11-22  Paul Eggert  <eggert@twinsun.com>
91761
91762         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
91763         hint that one should use `if (! x) abort ();' rather than `assert
91764         (x);', and anyway it's one less thing to worry about configuring.
91765         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
91766         hash_rehash, hash_insert): Use abort rather than assert.
91767
91768 2002-11-22  Bruno Haible  <bruno@clisp.org>
91769
91770         * lib/safe-read.h: Assume C89. Add comments.
91771         (safe_read): Change return type to size_t.
91772         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
91773         byte counts > SSIZE_MAX correctly.
91774         * lib/safe-write.h: New file.
91775         * lib/safe-write.c: New file.
91776         * lib/full-read.h: New file.
91777         * lib/full-read.c: New file.
91778         * lib/full-write.h: Assume C89. Add comments.
91779         * lib/full-write.c: Include safe-write.h.
91780         (full_write): Rewritten to use safe_write.
91781         Suggested by Jim Meyering and Paul Eggert.
91782
91783 2002-11-21  Jim Meyering  <jim@meyering.net>
91784
91785         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
91786
91787         Merge in changes from the coreutils.
91788
91789         2002-09-25  Paul Eggert  <eggert@twinsun.com>
91790         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
91791         <stdint.h>.
91792         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
91793         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
91794         int.  Work more efficiently if X is the same width as uintmax_t.
91795         Do not compare X to -1, to avoid bogus compiler warning.
91796         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
91797         Don't assume that f_frsize and f_bsize are the same type.
91798
91799         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
91800         warning on FreeBSD.
91801
91802         * lib/makepath.c (make_path): Restore umask *before* creating the final
91803         component.
91804         (make_path): Minor reformatting.
91805
91806         * lib/xmalloc.c: Adjust to work with new autoconf macros,
91807         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
91808         HAVE_MALLOC/HAVE_REALLOC.
91809
91810         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
91811         dummy ones.  At least on GNU/Linux systems, `auto' means something
91812         else.
91813         From Michael Stone.
91814
91815 2002-11-21  Bruno Haible  <bruno@clisp.org>
91816
91817         Remove case insensitive option matching.
91818         * lib/argmatch.h (argcasematch): Remove declaration.
91819         (ARGCASEMATCH): Remove macro.
91820         (__xargmatch_internal): Remove case_sensitive argument.
91821         (XARGMATCH): Update.
91822         (XARGCASEMATCH): Remove macro.
91823         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
91824         case_sensitive argument.
91825         (argcasematch): Remove function.
91826         (__xargmatch_internal): Remove case_sensitive argument.
91827         (main): Use XARGMATCH instead of XARGCASEMATCH.
91828
91829         * lib/xmalloc.c: Change compile-time error message. Add comment about
91830         required autoconf version.
91831
91832 2002-11-20  Paul Eggert  <eggert@twinsun.com>
91833
91834         Merge argmatch cleanups from Bison.  Assume C89.
91835
91836         * lib/argmatch.c: Include config.h here, not in argmatch.h.
91837         Include stdlib.h, for EXIT_FAILURE.
91838         Always include <string.h>, since we assume C89.
91839         (EXIT_FAILURE): Remove pre-C89 bug workaround.
91840         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
91841         Include <stddef.h> instead, since it's all we need for size_t.
91842         (PARAMS): Remove.  All uses removed.
91843         (ARRAY_CARDINALITY): Do not bother to #undef.
91844         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
91845         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
91846         Remove unnecessary parentheses.
91847         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
91848         Insert necessary parentheses.
91849         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
91850         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
91851
91852 2002-11-19  Bruno Haible  <bruno@clisp.org>
91853
91854         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
91855         * lib/mbswidth.h: Include <stddef.h>, for size_t.
91856
91857         * lib/mbswidth.h (PARAMS): Remove macro.
91858         (mbswidth, mbsnwidth): Use ANSI C function declarations.
91859         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
91860
91861         * lib/gcd.h (PARAMS): Remove macro.
91862         (gcd): Use ANSI C function declarations.
91863         * lib/gcd.c (gcd): Likewise.
91864
91865 2002-11-15  Bruno Haible  <bruno@clisp.org>
91866
91867         * lib/strcspn.c: Include <stddef.h>.
91868         (strcspn): Use ANSI C function declaration. Change return type to
91869         size_t. Use NULL.
91870         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
91871         (strpbrk): Use NULL.
91872         * lib/strpbrk.h (PARAMS): Remove macro.
91873         (strpbrk): Use ANSI C function declaration.
91874         * lib/strstr.c: Don't include <sys/types.h>.
91875         * lib/strstr.h (PARAMS): Remove macro.
91876         (strstr): Use ANSI C function declarations.
91877
91878 2002-11-14  Karl Berry  <karl@gnu.org>
91879
91880         * config/mkinstalldirs: `do' on separate line, instead of
91881         `for var; do'.
91882
91883 2002-11-06  Bruno Haible  <bruno@clisp.org>
91884
91885         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
91886         * lib/gcd.c (gcd): Likewise.
91887
91888 2002-11-05  Bruno Haible  <bruno@clisp.org>
91889
91890         * lib/gcd.h: New file, from gettext-0.11.5.
91891         * lib/gcd.c: New file, from gettext-0.11.5.
91892
91893 2002-11-05  Bruno Haible  <bruno@clisp.org>
91894
91895         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
91896         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
91897         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
91898         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
91899
91900         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
91901         <libintl.h>.
91902         * lib/makepath.c: Include gettext.h instead of <locale.h> and
91903         <libintl.h>.
91904
91905         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
91906         * lib/human.c: Include gettext.h instead of <libintl.h>.
91907         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
91908         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
91909         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
91910         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
91911         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
91912         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
91913         (textdomain): Remove definition.
91914         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
91915
91916         * lib/long-options.c: Remove include of <libintl.h> and definition of
91917         _.
91918         * lib/same.c: Remove include of <libintl.h> and definition of _.
91919
91920 2002-11-04  Owen Taylor  <otaylor@redhat.com>
91921
91922         * lib/config.charset: A few additions for Solaris.
91923
91924 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
91925
91926         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
91927         * lib/localcharset.c (locale_charset): Declare as extern "C".
91928
91929 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
91930
91931         * lib/config.charset: msdos in uk_UA uses CP1125.
91932
91933 2002-11-04  Bruno Haible  <bruno@clisp.org>
91934
91935         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
91936         * lib/strcase.h: New file, from GNU gettext-0.11.5.
91937         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
91938         * lib/strstr.h: New file, from GNU gettext-0.11.5.
91939         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
91940
91941 2002-11-04  Bruno Haible  <bruno@clisp.org>
91942
91943         * lib/localcharset.c (locale_charset): Don't return an empty string.
91944
91945 2002-11-04  Bruno Haible  <bruno@clisp.org>
91946
91947         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
91948         aliases.
91949
91950 2002-11-04  Bruno Haible  <bruno@clisp.org>
91951
91952         * lib/config.charset: Update for newest glibc. Add canonical names
91953         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
91954
91955 2002-11-04  Bruno Haible  <bruno@clisp.org>
91956
91957         * lib/config.charset: Add support for NetBSD.
91958
91959 2002-11-04  Bruno Haible  <bruno@clisp.org>
91960
91961         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
91962
91963 2002-11-01  Bruno Haible  <bruno@clisp.org>
91964
91965         * configure.in: Add AC_CONFIG_AUX_DIR call.
91966         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
91967         test/Makefile.
91968         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
91969
91970 2002-09-28  Karl Berry  <karl@gnu.org>
91971
91972         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
91973         installed automake until the next release, since changes have been
91974         made.
91975
91976 2002-09-25  Karl Berry  <karl@gnu.org>
91977
91978         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
91979         * lib/getopt*: copy from libc/posix.
91980         * lib/gettext.h: copy from gettext.
91981         * lib/.cppi-disable: add strdup.c, gettext.h.
91982
91983 2002-09-25  Karl Berry  <karl@gnu.org>
91984
91985         * config/srclist.txt: enable gettext.h check.
91986         * config/config.{guess,sub}: update from prep.
91987         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
91988                 from automake 1.6.3.
91989         See srclist*.
91990
91991 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
91992
91993         * regex.c (PATFETCH): Remove the translating fetch.
91994         (PATFETCH_RAW): Rename to PATFETCH.
91995         (set_image_of_range): New fun.
91996         (SET_RANGE_TABLE_WORK_AREA): Use it.
91997         (regex_compile): Don't translate the pattern chars so eagerly.
91998         Only do it when inserting an `exactn' bytecode or when handling
91999         a char-range.
92000         (mutually_exclusive_p): Avoid empty statement.
92001
92002 2002-07-06  Jim Meyering  <meyering@lucent.com>
92003
92004         * m4/README: Don't mention Makefile.am.in.
92005         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
92006
92007 2002-07-01  Jim Meyering  <meyering@lucent.com>
92008
92009         * lib/c-stack.c: Include sys/time.h.
92010         From Volker Borchert.
92011
92012 2002-06-26  Paul Eggert  <eggert@twinsun.com>
92013
92014         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
92015
92016 2002-06-26  Paul Eggert  <eggert@twinsun.com>
92017
92018         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
92019         New macro.  Use it uniformly instead of
92020         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
92021         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
92022         reported by Vin Shelton.
92023
92024 2002-06-22  Paul Eggert  <eggert@twinsun.com>
92025
92026         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
92027         Do not assume SA_SIGINFO behavior.
92028         Bug reported by Jim Meyering on NetBSD 1.5.2.
92029
92030 2002-06-22  Jim Meyering  <meyering@lucent.com>
92031
92032         * m4/c-stack.m4: New file, from diffutils-2.8.2.
92033         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
92034
92035         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
92036         now that configure.ac uses AC_GNU_SOURCE.
92037         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
92038         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
92039
92040         Update to latest tools.  Suggestions from Paul Eggert.
92041         * m4/stdbool.m4: New file, from diffutils-2.8.2.
92042         * m4/gnu-source.m4: Update from diffutils-2.8.2.
92043         * m4/fnmatch.m4: Likewise.
92044         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
92045         to AC_HEADER_STDBOOL
92046
92047 2002-06-22  Jim Meyering  <meyering@lucent.com>
92048
92049         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
92050         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
92051
92052 2002-06-22  Jim Meyering  <meyering@lucent.com>
92053
92054         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
92055
92056         * lib/exitfail.c, exitfail.h: Likewise.
92057         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
92058
92059         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
92060         of fnmatch.h.
92061         (EXTRA_DIST): Add fnmatch_loop.c.
92062         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
92063
92064         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
92065         * lib/fnmatch.c: Update from diffutils-2.8.2.
92066         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
92067         * lib/fnmatch.h: Remove file.
92068
92069 2002-06-21  Jim Meyering  <meyering@lucent.com>
92070
92071         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
92072         * m4/mbrtowc.m4: Likewise.
92073
92074         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
92075         * m4/mbswidth.m4: Reflect name change:
92076         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
92077         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
92078
92079         * m4/lib-link.m4: Update from gettext-0.11.2.
92080         * m4/gettext.m4: Likewise.
92081
92082         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
92083         From Alfred M. Szmidt.
92084
92085 2002-06-18  Paul Eggert  <eggert@twinsun.com>
92086
92087         * lib/file-type.h: Report an error if neither S_ISREG nor
92088         S_IFREG is defined, instead of using a test specific to glibc
92089         2.2.  This should be safe, since POSIX requires S_ISREG and
92090         Unix Version 7 had S_IFREG.  We don't need to check for
92091         <sys/types.h> since we don't use any symbols that it defines.
92092
92093 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
92094
92095         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
92096         $@-t, so that each temporary file name is unique and valid in the first
92097         8 characters, for operation under DOS.
92098
92099 2002-06-15  Paul Eggert  <eggert@twinsun.com>
92100
92101         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
92102
92103 2002-06-15  Jim Meyering  <meyering@lucent.com>
92104
92105         Work even with DJGPP 2.03, which lacks support for symlinks.
92106         From Richard Dawe.
92107         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
92108         is defined.
92109         * lib/lchown.c (S_ISLNK): Likewise.
92110
92111 2002-06-15  Jim Meyering  <meyering@lucent.com>
92112
92113         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
92114         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
92115         have been included before this file.
92116
92117 2002-06-14  Jim Meyering  <meyering@lucent.com>
92118
92119         * lib/file-type.h: Use the version from diffutils-2.8.2.
92120         * lib/file-type.c: Likewise.
92121
92122 2002-06-07  Jim Meyering  <meyering@lucent.com>
92123
92124         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
92125         They're needed at least for NetBSD 1.5.2.
92126         ($statxfs_includes): Include those same headers.
92127         ($statxfs_includes): Include sys/vfs.h if available.
92128         ($statxfs_includes): Likewise for sys/statvfs.h.
92129         Check for the following members in both structs statfs and statvfs:
92130         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
92131
92132 2002-06-01  Jim Meyering  <meyering@lucent.com>
92133
92134         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
92135         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
92136
92137 2002-05-28  Jim Meyering  <meyering@lucent.com>
92138
92139         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
92140         Reported by Volker Borchert.
92141
92142 2002-05-27  Jim Meyering  <meyering@lucent.com>
92143
92144         Fix a problem seen only on nonconforming systems whereby ls.c's
92145         use of localtime, and then of gettimeofday would cause trouble:
92146         the localtime call used to initialize rpl_gettimeofday's save
92147         mechanism would clobber ls's current local time information so
92148         that in any long listing the first file would always be listed
92149         with date 1970-01-01.  Analysis by Volker Borchert.
92150
92151         * lib/gettimeofday.c (localtime): Undefine.
92152         (rpl_localtime): New function.
92153
92154 2002-05-27  Jim Meyering  <meyering@lucent.com>
92155
92156         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
92157         localtime.
92158
92159         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
92160         use the replacement function; it wouldn't resolve at link time.
92161         Reported by Volker Borchert.
92162
92163 2002-05-22  Jim Meyering  <meyering@lucent.com>
92164
92165         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
92166         file-type.h.
92167         * lib/file-type.h: New file.
92168         * lib/file-type.c (file_type): New file/function.  Extracted from
92169         diffutils.
92170
92171 2002-04-30  Jim Meyering  <meyering@lucent.com>
92172
92173         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
92174
92175 2002-04-29  Paul Eggert  <eggert@twinsun.com>
92176
92177         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
92178
92179 2002-04-29  Paul Eggert  <eggert@twinsun.com>
92180
92181         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
92182         Do not check for alloca.h (no longer used) or stdbool.h (was never
92183         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
92184
92185 2002-04-29  Paul Eggert  <eggert@twinsun.com>
92186
92187         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
92188
92189 2002-04-29  Jim Meyering  <meyering@lucent.com>
92190
92191         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
92192         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
92193         Use AC_FUNC_STRNLEN here instead.
92194
92195         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
92196         With autoconf-2.53a, it's part of AC_PROG_CC.
92197
92198 2002-04-28  Paul Eggert  <eggert@twinsun.com>
92199
92200         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
92201         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
92202
92203 2002-04-28  Paul Eggert  <eggert@twinsun.com>
92204
92205         * lib/sig2str.h, lib/sig2str.c: New files.
92206         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
92207
92208 2002-04-28  Paul Eggert  <eggert@twinsun.com>
92209
92210         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
92211         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
92212         of 127, since 64 is the largest conceivable number for ancient
92213         nonstandard hosts.
92214         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
92215
92216 2002-04-28  Jim Meyering  <meyering@lucent.com>
92217
92218         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
92219
92220 2002-04-24  Jim Meyering  <meyering@lucent.com>
92221
92222         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
92223         (jm_PREREQ): Use it.
92224
92225         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
92226         mach/mach.h fcntl.h.
92227         Check for this function: setlocale.
92228
92229 2002-04-24  Jim Meyering  <meyering@lucent.com>
92230
92231         * lib/gettext.h: New file, from Gettext.
92232         * lib/Makefile.am (INCLUDES): Remove -I../intl.
92233         (libfetish_a_SOURCES): Add gettext.h.
92234
92235 2002-04-16  Jim Meyering  <meyering@lucent.com>
92236
92237         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
92238         ut_pid, ut_id, ut_exit.
92239
92240 2002-04-16  Jim Meyering  <meyering@lucent.com>
92241
92242         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
92243         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
92244         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
92245
92246 2002-04-12  Jim Meyering  <meyering@lucent.com>
92247
92248         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
92249         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
92250         existence of the getmntinfo function.  Needed for Darwin 5.3.
92251
92252         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
92253         This is necessary at least on Darwin 5.3.
92254
92255         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
92256         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
92257         strnlen.o in the library, and that makes some versions of ranlib
92258         object.
92259
92260 2002-04-12  Jim Meyering  <meyering@lucent.com>
92261
92262         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
92263
92264 2002-04-09  Jim Meyering  <meyering@lucent.com>
92265
92266         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
92267         to be more precise.  Rather than saying we're checking whether the
92268         function `works', say what we're testing.
92269         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
92270         Reported by Bruno Haible.
92271
92272 2002-03-10  Jim Meyering  <meyering@lucent.com>
92273
92274         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
92275         Suggestion from Santiago Vila.
92276
92277 2002-03-08  Jim Meyering  <meyering@lucent.com>
92278
92279         * lib/rename.c: Mention that this wrapper is needed also on
92280         mips-dec-ultrix4.4 systems.
92281
92282 2002-03-02  Jim Meyering  <meyering@lucent.com>
92283
92284         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
92285         not HAVE_CLOCK_SETTIME.
92286
92287 2002-02-27  Paul Eggert  <eggert@twinsun.com>
92288
92289         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
92290         Check for clock_settime.
92291
92292 2002-02-27  Paul Eggert  <eggert@twinsun.com>
92293
92294         * lib/nanosleep.h: Rename to....
92295         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
92296
92297         * lib/gettime.c: New file.
92298         * lib/settime.c: New file.
92299         * lib/stime.c: Remove.
92300
92301         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
92302         timespec.h.  Remove nanosleep.h.
92303
92304 2002-02-25  Paul Eggert  <eggert@twinsun.com>
92305
92306         * m4/acl.m4: New file.
92307         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
92308         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
92309
92310 2002-02-25  Paul Eggert  <eggert@twinsun.com>
92311
92312         * lib/acl.c, lib/acl.h: New files.
92313         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
92314
92315 2002-02-24  Jim Meyering  <meyering@lucent.com>
92316
92317         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
92318         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
92319         cause trouble.  Reported by Nelson Beebe.
92320
92321 2002-02-23  Paul Eggert  <eggert@twinsun.com>
92322
92323         * lib/path-concat.c (xpath_concat): Reorder code to pacify
92324         compilers that don't know that xalloc_die never returns.
92325
92326 2002-02-20  Jim Meyering  <meyering@lucent.com>
92327
92328         * lib/getdate.c: Regenerate using bison-1.33.
92329
92330 2002-02-17  Jim Meyering  <meyering@lucent.com>
92331
92332         * config/config.guess (main): Don't use `head -1'; it's no longer
92333         portable. Use `sed 1q' instead.
92334
92335 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
92336
92337         * m4/codeset.m4: Upgrade to gettext-0.11.
92338         * m4/gettext.m4: Upgrade to gettext-0.11.
92339         * m4/glibc21.m4: Upgrade to gettext-0.11.
92340         * m4/iconv.m4: Upgrade to gettext-0.11.
92341         * m4/isc-posix.m4: Upgrade to gettext-0.11.
92342         * m4/lcmessage.m4: Upgrade to gettext-0.11.
92343         * m4/lib-ld.m4: New file, from gettext-0.11.
92344         * m4/lib-link.m4: New file, from gettext-0.11.
92345         * m4/lib-prefix.m4: New file, from gettext-0.11.
92346         * m4/progtest.m4: Upgrade to gettext-0.11.
92347
92348 2002-02-15  Paul Eggert  <eggert@twinsun.com>
92349
92350         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
92351         (jm_PREREQ): Use it.
92352
92353 2002-02-15  Paul Eggert  <eggert@twinsun.com>
92354
92355         * lib/posixver.c, lib/posixver.h: New files.
92356         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
92357
92358 2002-02-02  Paul Eggert  <eggert@twinsun.com>
92359             Bruno Haible  <bruno@clisp.org>
92360
92361         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
92362         (fwrite_success_callback): New declaration.
92363         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
92364         print_unicode_char. Call failure callback instead of error.
92365         (fwrite_success_callback): New function.
92366         (exit_failure_callback): New function.
92367         (fallback_failure_callback): New function.
92368         (print_unicode_char): Call unicode_to_mb.
92369
92370 2002-01-26  Jim Meyering  <meyering@lucent.com>
92371
92372         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
92373         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
92374
92375 2002-01-26  Jim Meyering  <meyering@lucent.com>
92376
92377         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
92378
92379 2002-01-22  Paul Eggert  <eggert@twinsun.com>
92380
92381         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
92382
92383 2002-01-22  Jim Meyering  <meyering@lucent.com>
92384
92385         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
92386         Otherwise, some versions of automake would omit the rule that makes
92387         Makefile from Makefile.in.
92388
92389 2002-01-21  Paul Eggert  <eggert@twinsun.com>
92390
92391         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
92392         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
92393         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
92394         (memcoll): Set errno to zero if there is no error.
92395
92396         * lib/quotearg.c (quotearg_buffer_restyled):
92397         Fix bug with quoting buffers containing NUL when backslashing escapes.
92398         This bug was exposed by the other changes in this patch.
92399         (quotearg_n_options): New arg ARGSIZE.
92400         All callers changed.
92401         (quoting_options_from_style): New function.
92402         (quotearg_n_style): Use it.
92403         (quotearg_n_style_mem): New function.
92404
92405         * lib/quotearg.h (quotearg_n_style_mem): New function.
92406
92407 2002-01-19  Jim Meyering  <meyering@lucent.com>
92408
92409         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
92410         Remove useless quotes: DF_PROG="df".
92411         * m4/strnlen.m4: New file.
92412
92413 2002-01-16  Paul Eggert  <eggert@twinsun.com>
92414
92415         * lib/backupfile.c (ISDIGIT): Comment fix.
92416         * lib/getdate.y (ISDIGIT): Likewise.
92417         * lib/posixtm.c (ISDIGIT, year): Likewise.
92418         * lib/strverscmp.c (ISDIGIT): Likewise.
92419         * lib/userspec.c (ISDIGIT): Likewise.
92420
92421 2002-01-16  Jim Meyering  <meyering@lucent.com>
92422
92423         * lib/getdate.y: Add three semicolons, each just before a closing
92424         brace. Bison (as of version 1.31) no longer papers over that mistake.
92425
92426 2002-01-05  Jim Meyering  <meyering@lucent.com>
92427
92428         * lib/version-etc.c (version_etc_copyright): Update copyright year.
92429
92430 2001-12-19  Paul Eggert  <eggert@twinsun.com>
92431
92432         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
92433         not silently exit merely because the output buffer happens to
92434         have nothing pending.
92435
92436 2001-12-18  Paul Eggert  <eggert@twinsun.com>
92437
92438         See the big note in ../ChangeLog.
92439         * lib/human.c (suffixes): Prefer K to k for 1024.
92440         (generate_suffix_backwards): New function.
92441         (human_readable_inexact): Use it.
92442         * lib/xstrtol.c (__xstrtol): If there is no number but there
92443         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
92444         Accept 'K' as well as 'k'.
92445
92446 2001-12-15  Jim Meyering  <meyering@lucent.com>
92447
92448         * lib/regex.h (__restrict_arr): Update from libc.
92449
92450         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
92451         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
92452         (STREQ): Define.
92453
92454 2001-12-14  Jim Meyering  <meyering@lucent.com>
92455
92456         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
92457         Suggestion from Bruno Haible.
92458
92459 2001-12-10  Jim Meyering  <meyering@lucent.com>
92460
92461         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
92462         xrealloc, Instead, include "xalloc.h".
92463         (initbuffer): Don't cast xmalloc return value to char*.
92464         (readline): Reword comment.
92465         Don't cast xrealloc return value to char*
92466         Return NULL, not 0.
92467
92468 2001-12-09  Jim Meyering  <meyering@lucent.com>
92469
92470         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
92471         about `signed and unsigned type in conditional expression'.
92472         * lib/posixtm.c (posix_time_parse): Likewise.
92473
92474         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
92475
92476         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
92477         to avoid a pedantic warning.
92478
92479         * lib/getstr.c: Don't include assert.h.
92480         (getstr): Remove warning-evoking assertions.
92481         Return -1 if offset parameter is out of bounds.
92482         Change the type of a local from int to size_t.
92483
92484         * lib/strftime.c (my_strftime_localtime_r): Include this function
92485         definition in the `#if ! HAVE_TM_GMTOFF' block.
92486
92487         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
92488         Include xalloc.h instead.
92489
92490 2001-12-02  Jim Meyering  <meyering@lucent.com>
92491
92492         * lib/tempname.c: Don't declare getenv, thus reverting the change of
92493         2001-11-18.  It's no longer necessary, now that stdlib.h is always
92494         included.
92495
92496         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
92497         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
92498
92499 2001-11-30  Akim Demaille  <akim@epita.fr>
92500
92501         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
92502         before being defined.
92503
92504 2001-11-27  Paul Eggert  <eggert@twinsun.com>
92505
92506         * lib/quotearg.h (quotearg_n, quotearg_n_style):
92507         First arg is int, not unsigned.
92508         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
92509         (SIZE_MAX, UINT_MAX): New macros.
92510         (quotearg_n_options): Abort if N is negative.
92511         Avoid overflow check on hosts where size_t is 64 bits and int
92512         is 32 bits, as overflow is impossible there.
92513         Fix off-by-one typo that caused unnecessary reallocation.
92514
92515 2001-11-27  Jim Meyering  <meyering@lucent.com>
92516
92517         * lib/tempname.c: Merge with version from libc.
92518         * lib/regex.c: Likewise.
92519
92520         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
92521         systems for which STDC_HEADERS is 0, it was not included, resulting in
92522         a warning about an integer-to-pointer conversion problem with getenv.
92523         Reported by Volker Borchert.
92524
92525 2001-11-26  Jim Meyering  <meyering@lucent.com>
92526
92527         * lib/gtod.h: Remove file.
92528         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
92529         * lib/gettimeofday.c: Don't include gtod.h.
92530         (GTOD_init): Remove function.
92531         (rpl_gettimeofday): Do its job here instead, rather than aborting.
92532         Suggestion from Volker Borchert.
92533
92534 2001-11-23  Jim Meyering  <meyering@lucent.com>
92535
92536         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
92537         it.
92538         * lib/hash.c (struct hash_table): Define it here instead.
92539
92540 2001-11-22  Jim Meyering  <meyering@lucent.com>
92541
92542         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
92543
92544 2001-11-20  Jim Meyering  <meyering@lucent.com>
92545
92546         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
92547         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
92548
92549 2001-11-19  Jim Meyering  <meyering@lucent.com>
92550
92551         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
92552         directory.  Use "conftestXXXXXX" as the template.
92553         Suggestion from Paul Eggert.
92554
92555         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
92556         immediately, so the test doesn't mistakenly hit the max-open-files
92557         limit.
92558
92559 2001-11-18  Paul Eggert  <eggert@twinsun.com>
92560
92561         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
92562         (TEMPORARIES): New macro.
92563         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
92564         removes an artificial limitation (e.g. HP-UX 10.20, where
92565         TMP_MAX is 17576).
92566
92567 2001-11-18  Jim Meyering  <meyering@lucent.com>
92568
92569         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
92570
92571 2001-11-18  Jim Meyering  <meyering@lucent.com>
92572
92573         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
92574         on SunOS 4.
92575
92576         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
92577         files will be created before anything else.
92578
92579 2001-11-17  Paul Eggert  <eggert@twinsun.com>
92580
92581         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
92582         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
92583
92584 2001-11-17  Jim Meyering  <meyering@lucent.com>
92585
92586         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
92587         Prompted by a report from Bob Proulx.
92588
92589         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
92590         Instead, require UTILS_FUNC_MKSTEMP.
92591
92592 2001-11-17  Jim Meyering  <meyering@lucent.com>
92593
92594         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
92595         Now, that's done as part of AC_FUNC_STRTOD.
92596
92597 2001-11-17  Jim Meyering  <meyering@lucent.com>
92598
92599         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
92600         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
92601         rather than group writable.  Patch by Juan F. Codagnone.
92602
92603         * lib/readtokens.c: Remove explicit declarations of xmalloc and
92604         xrealloc, Instead, include "xalloc.h".
92605
92606         * lib/mountlist.c: Include unlocked-io.h after all system headers.
92607         Remove explicit declarations of xmalloc, xrealloc,
92608         and xstrdup.  Instead, include "xalloc.h".
92609
92610         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
92611         unlocked-io.h.
92612         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
92613         Likewise.
92614         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
92615
92616         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
92617         Reported by Padraig Brady.
92618
92619         * lib/mkstemp.c: #undef mkstemp.
92620         Include config.h.
92621         (rpl_mkstemp): Rename from mkstemp.
92622         Protoize.
92623
92624 2001-11-16  Jim Meyering  <meyering@lucent.com>
92625
92626         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
92627         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
92628         determine the amount of total physical memory, use pstat_getstatic.
92629         HPUX-11 doesn't define _SC_PHYS_PAGES.
92630         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
92631         If sysconf couldn't be used to determine the amount of available
92632         physical memory, use both pstat_getstatic and pstat_getdynamic.
92633         Based on a patch from Bob Proulx.
92634
92635 2001-11-10  Jim Meyering  <meyering@lucent.com>
92636
92637         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
92638         (jm_PREREQ): Use it.
92639
92640 2001-11-09  Jim Meyering  <meyering@lucent.com>
92641
92642         * m4/jm-macros.m4: Require autoconf-2.52f.
92643         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
92644         Use these AC_-prefixed names, not the AM_-prefixed ones.
92645
92646         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
92647
92648 2001-11-05  Jim Meyering  <meyering@lucent.com>
92649
92650         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
92651
92652 2001-11-04  Jim Meyering  <meyering@lucent.com>
92653
92654         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
92655         $DEFS.
92656
92657 2001-11-03  Jim Meyering  <meyering@lucent.com>
92658
92659         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
92660         of AC_DEFUN.
92661
92662         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
92663         know the name of the variable in the macro definition.
92664
92665 2001-11-03  Jim Meyering  <meyering@lucent.com>
92666
92667         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
92668         in argmatch_to_argument call.
92669
92670         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
92671         argument.
92672
92673         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
92674         e.g., a fault due to an attempt to free a NULL pointer.
92675
92676 2001-11-01  Jim Meyering  <meyering@lucent.com>
92677
92678         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
92679         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
92680
92681 2001-11-01  Jim Meyering  <meyering@lucent.com>
92682
92683         * lib/dirfd.c, lib/dirfd.h: New files.
92684         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
92685
92686         * lib/hash.c (hash_print) [TESTING]: Clean up.
92687
92688 2001-10-22  Paul Eggert  <eggert@twinsun.com>
92689
92690         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
92691         to avoid a warning if -Wall.
92692
92693 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
92694
92695         * README: New file
92696         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
92697         (per RMS's instructions, this is now the canonical source)
92698         * lgpl/, gpl/: New directories.
92699
92700 2001-10-21  Paul Eggert  <eggert@twinsun.com>
92701
92702         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
92703
92704 2001-10-21  Jim Meyering  <meyering@lucent.com>
92705
92706         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
92707         this code would end up calling gettext even in packages built
92708         with --disable-nls.
92709         * lib/getopt.c (_): Likewise.
92710         * lib/regex.c (_): Likewise.
92711
92712 2001-10-20  Paul Eggert  <eggert@twinsun.com>
92713
92714         * m4/error.m4 (jm_PREREQ_ERROR):
92715         Do not invoke AC_CHECK_FUNCS with strerror_r, as
92716         AC_FUNC_STRERROR_R does that.
92717         Check for strerror declaration.
92718
92719         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
92720         are supposed to have them these days.
92721         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
92722         Merge changes from latest Autoconf CVS.
92723         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
92724         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
92725         POSIX decided to standardize on the int flavor of strerror_r.
92726
92727 2001-10-20  Paul Eggert  <eggert@twinsun.com>
92728
92729         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
92730         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
92731         Use strerror_r that is only a macro, even if it is not a function.
92732         (strerror): Check for HAVE_DECL_STRERROR before declaring.
92733         (private_strerror): Use prototypes, not old-style function definition.
92734         (print_errno_message): New function.
92735         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
92736         char*-flavored one.
92737         (error_tail, error, error_at_line): Use it.
92738
92739 2001-10-11  Jim Meyering  <meyering@lucent.com>
92740
92741         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
92742         and quote_n (1, ... to avoid clobbering a buffer.
92743
92744 2001-10-05  Jim Meyering  <meyering@lucent.com>
92745
92746         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
92747         hash-pjw.h.
92748         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
92749         * lib/hash-pjw.h: New file.
92750
92751 2001-09-30  Jim Meyering  <meyering@lucent.com>
92752
92753         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
92754         `struct fsstat' has the `f_fstypename' member.
92755         Use that to define FS_TYPE, which is now used to make
92756         the getfsstat link test tighter.
92757
92758 2001-09-30  Jim Meyering  <meyering@lucent.com>
92759
92760         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
92761         Include <sys/ucred.h>, for Apple Darwin.
92762         Include sys/mount.h and sys/fs_types.h only if available.
92763         (FS_TYPE): Define.
92764         (read_filesystem_list): Use FS_TYPE.
92765
92766 2001-09-29  Paul Eggert  <eggert@twinsun.com>
92767
92768         * lib/exclude.c (excluded_filename): 0 -> false, since it's
92769         a boolean context.
92770
92771 2001-09-29  Jim Meyering  <meyering@lucent.com>
92772
92773         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
92774         [one-argument getmntent function]): Include stdio.h before mntent.h.
92775         SunOS 4.1.x needs it for the declaration of `FILE'.
92776         Patch by Volker Borchert.
92777
92778         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
92779         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
92780         sys/fs_types.h, and make the link-test for getfsstat guard #include
92781         directives with appropriate #if HAVE_*_H tests so that we can
92782         detect getfsstat on Apple Darwin1.3.7 systems.
92783         Reported by Nelson Beebe.
92784         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
92785
92786 2001-09-28  Paul Eggert  <eggert@twinsun.com>
92787
92788         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
92789         #defines strtoimax.  Also treat the other strto* functions
92790         like strtoimax.
92791
92792         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
92793         Check for strtoul and strtoumax,
92794         as those declarations are made even in the signed case.
92795         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
92796         Likewise, for strtol and strtoimax.
92797
92798 2001-09-28  Paul Eggert  <eggert@twinsun.com>
92799
92800         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
92801         #defines strtoimax.  Also treat the other strto* functions
92802         like strtoimax.
92803
92804         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
92805         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
92806         (strtoimax, strtoumax): Do not declare if already defined as a macro.
92807
92808 2001-09-26  Jim Meyering  <meyering@lucent.com>
92809
92810         Most macros in unlocked-io.h had the wrong number of arguments.
92811         * lib/gen-uio: New script.
92812         (USE_UNLOCKED_IO): Define to 1 if not already defined.
92813         * lib/unlocked-io.hin: Remove file.
92814         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
92815         rather than trying to embed it here.
92816         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
92817         Reported by Padraig Brady.
92818
92819 2001-09-25  Volker Borchert  <bt@teknon.de>
92820
92821         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
92822         `result'.
92823
92824 2001-09-24  Jim Meyering  <meyering@lucent.com>
92825
92826         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
92827
92828 2001-09-23  Jim Meyering  <meyering@lucent.com>
92829
92830         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
92831         instead of the mere test for existence of mntent.h.  The latter
92832         would get a false-positive on AIX 3.4 systems.
92833         In the outer getmntent if-block, don't die if neither of the getmntent
92834         tests succeeds.  Instead, just fall through and continue with the
92835         remaining tests.
92836
92837 2001-09-23  Jim Meyering  <meyering@lucent.com>
92838
92839         * lib/mountlist.c: Remove useless parentheses in #if directives.
92840         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
92841         the deprecated MOUNTED symbol is no longer defined in mntent.h.
92842
92843 2001-09-22  Jim Meyering  <meyering@lucent.com>
92844
92845         * m4/gettext.m4: New file.  From gettext.
92846         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
92847         * m4/progtest.m4: Likewise
92848         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
92849         * m4/glibc21.m4: Likewise.
92850
92851         * m4/libintl.m4: Remove.  No longer used.
92852
92853 2001-09-22  Jim Meyering  <meyering@lucent.com>
92854
92855         * lib/localcharset.c: Update from latest gettext.
92856         * lib/config.charset: Likewise.
92857
92858 2001-09-20  Jim Meyering  <meyering@lucent.com>
92859
92860         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
92861         strtoimax.
92862         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
92863         strtoumax.
92864
92865 2001-09-20  Jim Meyering  <meyering@lucent.com>
92866
92867         * lib/xstrtol.c (strtoimax): Guard declaration with
92868         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
92869         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
92870         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
92871         (strtoumax): Likewise, for completeness (it wasn't necessary).
92872
92873 2001-09-17  Paul Eggert  <eggert@twinsun.com>
92874
92875         * lib/strtoimax.c (HAVE_LONG_LONG):
92876         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
92877         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
92878         to work around bug in IBM C compiler.
92879
92880 2001-09-17  Jim Meyering  <meyering@lucent.com>
92881
92882         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
92883         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
92884         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
92885         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
92886         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
92887         whenever the right hand side need not be expanded by the shell.
92888
92889 2001-09-16  Paul Eggert  <eggert@twinsun.com>
92890
92891         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
92892         library.  It's not correct, as some older glibcs are buggy.
92893         fnmatch wasn't fixed until glibc 2.2.
92894
92895         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
92896         special shell magic here.
92897
92898 2001-09-16  Jim Meyering  <meyering@lucent.com>
92899
92900         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
92901         * m4/jm-macros.m4: Require it.
92902
92903 2001-09-16  Jim Meyering  <meyering@lucent.com>
92904
92905         * lib/mkdir.c: New file.
92906
92907 2001-09-15  Jim Meyering  <meyering@lucent.com>
92908
92909         * m4/jm-macros.m4: Check for help2man.
92910
92911 2001-09-11  Jim Meyering  <meyering@lucent.com>
92912
92913         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
92914         The body, by Paul Eggert, was moved here from configure.in.
92915         * m4/jm-macros.m4: Require UTILS_HOST_OS.
92916
92917 2001-09-04  Paul Eggert  <eggert@twinsun.com>
92918
92919         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
92920         (jm_PREREQ): Use it.
92921
92922 2001-09-04  Paul Eggert  <eggert@twinsun.com>
92923
92924         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
92925         Use ssize_t, not int, to store result of readlink.
92926         Check for ssize_t overflow as well as size_t overflow,
92927         as POSIX says the result of readlink is implementation-defined
92928         when ssize_t overflows.
92929         Remove unnecessary cast to char*.
92930         Use free+malloc instead of realloc, as the storage doesn't need
92931         to be preserved and it's clearer and can be more efficient that way.
92932         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
92933         * lib/xreadlink.h (xreadlink): Update prototype.
92934
92935 2001-09-04  Paul Eggert  <eggert@twinsun.com>
92936
92937         * lib/xgetcwd.c: Revert some of the previous change; intead,
92938         fix the HAVE_GETCWD_NULL code to behave more like the
92939         !HAVE_GETCWD_NULL code used to.
92940
92941         Include "xalloc.h".
92942         (xgetcwd): Do not return NULL when memory is exhausted; instead,
92943         invoke xalloc_die.
92944
92945 2001-09-03  Paul Eggert  <eggert@twinsun.com>
92946
92947         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
92948         sys/param.h, as pathmax.h includes them.
92949
92950 2001-09-03  Paul Eggert  <eggert@twinsun.com>
92951
92952         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
92953         (jm_PREREQ_XGETCWD): New macro.
92954
92955         * m4/getcwd.m4: New file.
92956
92957 2001-09-03  Paul Eggert  <eggert@twinsun.com>
92958
92959         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
92960         like the HAVE_GETCWD_NULL code.
92961         Include pathmax.h if not HAVE_GETCWD.
92962         Do not include xalloc.h.
92963         (INITIAL_BUFFER_SIZE): New symbol.
92964         Do not use xmalloc / xrealloc, since the caller is responsible for
92965         handling errors.  Preserve errno around `free' during failure.
92966         Do not overrun buffer when using getwd.
92967
92968 2001-09-03  Paul Eggert  <eggert@twinsun.com>
92969
92970         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
92971         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
92972         getcwd (NULL, 0).
92973
92974 2001-09-03  Paul Eggert  <eggert@twinsun.com>
92975
92976         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
92977         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
92978         spotted by Jim Meyering.
92979
92980 2001-09-03  Jim Meyering  <meyering@lucent.com>
92981
92982         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
92983         failure.
92984
92985 2001-09-02  Jim Meyering  <meyering@lucent.com>
92986
92987         * lib/error.c: Update from GNU libc.
92988
92989 2001-09-01  Jim Meyering  <meyering@lucent.com>
92990
92991         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
92992         Used by df.
92993
92994 2001-09-01  Jim Meyering  <meyering@lucent.com>
92995
92996         * lib/xreadlink.c: New file.
92997         * lib/xreadlink.h: New file.
92998         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
92999         xreadlink.h.
93000
93001         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
93002         doesn't conflict with sparc Solaris 7's definition in
93003         /usr/include/sys/int_types.h.
93004
93005         * lib/exclude.c: Use `""', not `<>' to #include non-system header
93006         files.
93007         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
93008         and strncasecmp as r-values.  Unixware didn't have declarations.
93009
93010 2001-08-31  Paul Eggert  <eggert@twinsun.com>
93011
93012         * lib/xstrtol.h: Add copyright notice.
93013         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
93014         LONGINT_INVALID_SUFFIX_CHAR.
93015
93016 2001-08-31  Paul Eggert  <eggert@twinsun.com>
93017
93018         * lib/xstrtol.c (strtoimax): New decl.
93019
93020 2001-08-31  Paul Eggert  <eggert@twinsun.com>
93021
93022         * lib/xgetcwd.c: Don't include pathmax.h.
93023         Include stdlib.h and unistd.h if available.
93024         Include xalloc.h.
93025         (xmalloc, xstrdup, free): Remove decls.
93026         (xgetcwd): Don't assume sizes fit in unsigned.
93027         Check for overflow when computing sizes.
93028         Simplify reallocation code.
93029
93030 2001-08-31  Paul Eggert  <eggert@twinsun.com>
93031
93032         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
93033         a directory's st_size can have an arbitrary value, so the old
93034         usage could waste an arbitrary amount of memory.  All uses
93035         changed.
93036         * lib/savedir.h: Update prototype.
93037
93038 2001-08-31  Paul Eggert  <eggert@twinsun.com>
93039
93040         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
93041
93042         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
93043         old strtoimax.c.
93044
93045         Also, make the following further changes to make this file's
93046         configuration more similar to that of strtol.c:
93047         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
93048         (strtoumax, uintmax_t, strtoull, strtol): Remove.
93049         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
93050         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
93051         changed to signed values.
93052
93053         And make the following changes as well:
93054         Fix copyright notice, as 1999 was missing.
93055         (verify): New macro.
93056         (strtoimax): Check sizes at compile-time, not run-time.
93057         Prefer strtol to strtoll if both work.
93058         (main): Remove; it was not that useful and was a pain to maintain.
93059
93060         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
93061
93062 2001-08-31  Jim Meyering  <meyering@lucent.com>
93063
93064         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
93065         Use an initial, malloc'd, buffer of length 128 rather than
93066         a statically allocated one of length 1024.
93067
93068 2001-08-30  Paul Eggert  <eggert@twinsun.com>
93069
93070         Simplify code, partly by assuming autoconf 2.52 semantics.
93071
93072         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
93073
93074         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
93075         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
93076         All uses removed.
93077         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
93078         Move AC_REQUIRE to next-to-top level, to avoid confusion.
93079         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
93080         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
93081         jm_AC_HEADER_INTTYPES_H.
93082         * m4/jm-macros.m4 (jm_MACROS): Likewise.
93083
93084         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
93085
93086         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
93087         Quote first arg of AC_DEFUN.
93088         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
93089         since they are needed to parse the include file even if we need
93090         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
93091         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
93092         but with opposite signedness.
93093
93094 2001-08-30  Paul Eggert  <eggert@twinsun.com>
93095
93096         Merge 'exclude' changes from tar 1.13.22.
93097         This fixes one or two unlikely storage allocation overflow bugs,
93098         but doesn't change user-visible behavior otherwise.
93099
93100 2001-08-30  Paul Eggert  <eggert@twinsun.com>
93101
93102         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
93103         (jm_PREREQ_EXCLUDE): New macro.
93104
93105 2001-08-30  Paul Eggert  <eggert@twinsun.com>
93106
93107         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
93108         tm to be declared.
93109
93110 2001-08-30  Paul Eggert  <eggert@twinsun.com>
93111
93112         * lib/hash.c: Remove '2001' from copyright notice.
93113
93114 2001-08-30  Paul Eggert  <eggert@twinsun.com>
93115
93116         * lib/full-write.h: New file.
93117         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
93118         * lib/full-write.c: Correct credits, as cccp.c no longer
93119         exists and anyway it was so heavily changed from the old cccp
93120         code as to be unrecognizable.  Include full-write.h.
93121         (full_write): Return size_t, with short writes meaning failure.
93122         All callers changed.  This fixes a bug with large buffers
93123         on 64-bit hosts.
93124         * lib/utime.c: Include full-write.h.
93125
93126 2001-08-30  Paul Eggert  <eggert@twinsun.com>
93127
93128         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
93129         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
93130         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
93131         Include if available.
93132         (<xalloc.h>): Include
93133         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
93134         (verify): New macro.  Use it to verify that EXCLUDE macros do not
93135         collide with FNM macros.
93136         (struct patopts): New struct.
93137         (struct exclude): Use it, as exclude patterns now come with options.
93138         (new_exclude): Support above changes.
93139         (new_exclude, add_exclude_file):
93140         Initial size must now be a power of two to simplify overflow checking.
93141         (free_exclude, fnmatch_no_wildcards): New function.
93142         (excluded_filename): No longer requires options arg, as the options
93143         are determined by add_exclude.  Now returns bool, not int.
93144         (excluded_filename, add_exclude):
93145         Add support for the fancy new exclusion options.
93146         (add_exclude, add_exclude_file): Now takes int options arg.
93147         Check for arithmetic overflow when computing sizes.
93148         (add_exclude_file): xrealloc might modify errno, so don't
93149         realloc until after errno might be used.
93150
93151         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
93152         New macros.
93153         (free_exclude): New decl.
93154         (add_exclude, add_exclude_file): Now takes int options arg.
93155         (excluded_filename): No longer requires options arg, as the options
93156         are determined by add_exclude.  Now returns bool, not int.
93157
93158 2001-08-30  Paul Eggert  <eggert@twinsun.com>
93159
93160         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
93161
93162 2001-08-27  Jim Meyering  <meyering@lucent.com>
93163
93164         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
93165
93166         * lib/version-etc.c (N_): Remove definition.
93167         Revert most of last change.
93168         Instead, simply don't mark the `Copyright...' string for translation.
93169         Based on advice from Paul Eggert.
93170
93171         * lib/strtoxmax.c: Tweak comment.
93172
93173 2001-08-26  Jim Meyering  <meyering@lucent.com>
93174
93175         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
93176
93177         * m4/xstrtoimax.m4: New file.
93178         * m4/xstrtoumax.m4: Add comments explaining why we
93179         AC_REPLACE_FUNCS(strtol).
93180
93181 2001-08-26  Jim Meyering  <meyering@lucent.com>
93182
93183         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
93184         of copyright with `%s' so translators don't get an untranslated
93185         message in 2002.
93186         (COPYRIGHT_YEAR): Define.
93187         (version_etc): Use fprintf rather than fputs.
93188         Suggestion from Ulrich Drepper.
93189
93190         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
93191
93192         * lib/strtoll.c: New file, from GNU libc.
93193         * lib/xstrtoimax.c: New file.
93194
93195         * lib/xstrtol.h: Add xstrtoimax.
93196         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
93197         * lib/strtoimax.c: New file.  Likewise, but first define
93198         STRTOUXMAX_SIGNED.
93199
93200         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
93201         ...
93202         * lib/strtoxmax.c: ... then renamed to this.
93203
93204 2001-08-18  Paul Eggert  <eggert@twinsun.com>
93205
93206         * m4/inttypes.m4: Add AC_PREREQ(2.13).
93207         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
93208         (jm_AC_TYPE_INTMAX_T): New macro.
93209         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
93210
93211         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
93212
93213         * m4/longlong.m4: Renamed from ulonglong.m4.
93214         * m4/inttypes.m4: Renamed from inttypes_h.m4.
93215         * m4/uintmax_t.m4: Removed.
93216
93217 2001-08-13  Paul Eggert  <eggert@twinsun.com>
93218
93219         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
93220         Port to Solaris 8, where 'sed' requires a space after the 'r'
93221         command, and where sh dislikes "$/".  Clean up the spacing a bit.
93222         Redirect output to $tmp just once.
93223
93224 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
93225
93226         * lib/addext.c (<errno.h>): Include.
93227         (errno): Declare if not defined.
93228         (addext): Work correctly when pathconf returns -1 and leaves
93229         errno alone because there is no limit.  Also, work even if
93230         pathconf returns a value greater than SIZE_MAX.
93231
93232 2001-08-12  Jim Meyering  <meyering@lucent.com>
93233
93234         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
93235         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
93236         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
93237         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
93238         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
93239         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
93240         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
93241         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
93242         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
93243         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
93244         utime.m4, utimes.m4, xstrtoumax.m4:
93245         Quote the first argument in each use of AC_DEFUN.
93246
93247 2001-08-12  Jim Meyering  <meyering@lucent.com>
93248
93249         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
93250         Simply `return getcwd (NULL, 0);'.
93251         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
93252         Use 1300 as initial value for length, not PATH_MAX.
93253
93254         * lib/pathmax.h: Clean up cpp syntax.
93255
93256 2001-08-12  Jim Meyering  <meyering@lucent.com>
93257
93258         * lib/gettimeofday.c: New file.
93259         * lib/gtod.h: New file.
93260         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
93261
93262 2001-08-05  Jim Meyering  <meyering@lucent.com>
93263
93264         * m4/jm-macros.m4: Require autoconf-2.52.
93265
93266 2001-08-04  Jim Meyering  <meyering@lucent.com>
93267
93268         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
93269         stmt, to get in sync with glibc.
93270
93271 2001-08-03  Paul Eggert  <eggert@twinsun.com>
93272
93273         The following changes are from gettext 0.10.39 as maintained by
93274         Bruno Haible.
93275
93276         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
93277         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
93278         with inverted sense.  All uses changed.
93279
93280         * lib/mbswidth.c: Don't include <limits.h>.
93281         Include <stdlib.h> and <string.h> unconditionally.
93282         (iswcntrl, mbsinit, ISCNTRL): New macros.
93283         (mbsnwidth): Use K&R style function declarations.
93284         Don't bother checking for MB_LEN_MAX == 1, since the compiler
93285         can optimize it when MB_CUR_MAX == 1.
93286         The width of control characters is zero, not 1.
93287
93288 2001-08-03  Paul Eggert  <eggert@twinsun.com>
93289
93290         The following changes are from gettext 0.10.39 as maintained by
93291         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
93292
93293         * m4/codeset.m4: Upgrade to serial AM1.
93294         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
93295         all uses changed.  Quote first arg of AC_DEFUN.
93296         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
93297
93298         * m4/iconv.m4: Upgrade to serial AM2.
93299         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
93300         Add --with-libconv-prefix.
93301         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
93302         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
93303         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
93304         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
93305         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
93306
93307         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
93308         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
93309         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
93310         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
93311         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
93312         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
93313         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
93314         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
93315         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
93316
93317         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
93318         string.h any more.
93319
93320         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
93321         not the default value.
93322
93323         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
93324         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
93325         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
93326         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
93327         Also check for iswcntrl, used for wcwidth fallback.
93328         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
93329         to Autoconf 2.13.
93330
93331 2001-08-03  Jim Meyering  <meyering@lucent.com>
93332
93333         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
93334         as it was in the original.  Reported by Paul Eggert.
93335
93336 2001-07-16  Jim Meyering  <meyering@lucent.com>
93337
93338         * m4/gettimeofday.m4: New file.
93339         Prompted by a report from Bernhard Baehr.
93340
93341 2001-07-15  Jim Meyering  <meyering@lucent.com>
93342
93343         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
93344         stuff. Now it's in ../Makefile.cfg.
93345
93346 2001-07-15  Jim Meyering  <meyering@lucent.com>
93347
93348         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
93349         (BUILT_SOURCES): Add unlocked-io.h.
93350         (io_functions): Define.
93351         (unlocked-io.h): New rule.
93352         (DISTCLEANFILES): Add unlocked-io.h.
93353         (all-local): Depend on unlocked-io.h, to ensure it is created.
93354
93355         * lib/unlocked-io.hin: New file
93356
93357         * lib/regex.c: Update from glibc.
93358
93359 2001-07-05  Jim Meyering  <meyering@lucent.com>
93360
93361         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
93362         recommendation.
93363         (libfetish_a_SOURCES): Put all .h files here instead.
93364         Remove a thus-exposed (better checks in automake) duplicate and
93365         two unnecessary .h files.
93366
93367 2001-07-04  Jim Meyering  <meyering@lucent.com>
93368
93369         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
93370         that generates jm-glibc-io.m4 so that it doesn't trigger any make
93371         distcheck failure.
93372
93373 2001-07-02  Jim Meyering  <meyering@lucent.com>
93374
93375         The following changes were prompted by suggestions from Bruno Haible.
93376
93377         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
93378         is now generated.
93379         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
93380         definition of EXTRA_DIST.
93381         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
93382         ensure that the generated file is created/updated whenever the list
93383         of $(unlocked_functions) is changed.
93384         (jm-glibc-io.m4): New rule.
93385         (unlocked-io.h): New rule -- currently unused.
93386
93387 2001-06-24  Jim Meyering  <meyering@lucent.com>
93388
93389         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
93390         unmatched right bracket, rather than kludging it with an extra,
93391         falsely-matching quote in a comment.  Patch by Akim Demaille.
93392
93393 2001-06-11  Jim Meyering  <meyering@lucent.com>
93394
93395         * lib/regex.c: Update from GNU libc.
93396
93397 2001-05-27  Jim Meyering  <meyering@lucent.com>
93398
93399         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
93400         Check for ut_type in struct utmp.
93401
93402 2001-05-27  Jim Meyering  <meyering@lucent.com>
93403
93404         * lib/readutmp.h (UT_TYPE): Define.
93405
93406 2001-05-24  Jim Meyering  <meyering@lucent.com>
93407
93408         * lib/argmatch.c: Include "quote.h".
93409         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
93410         quote function.  Reported by Göran Uddeborg.
93411
93412 2001-05-22  Jim Meyering  <meyering@lucent.com>
93413
93414         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
93415         now that we use the package-supplied version unconditionally.
93416         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
93417
93418 2001-05-21  Jim Meyering  <meyering@lucent.com>
93419
93420         * m4/regex.m4: Change a couple backticks to single quotes to avoid
93421         shell syntax errors.
93422
93423 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
93424
93425         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
93426
93427 2001-05-20  Paul Eggert  <eggert@twinsun.com>
93428
93429         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
93430         Don't bother to check library strftime, since
93431         we'll be using our own my_strftime function anyway.
93432         Define my_strftime instead of strftime.
93433
93434 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
93435
93436         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
93437         which is not yet declared.
93438
93439 2001-05-15  Jim Meyering  <meyering@lucent.com>
93440
93441         * m4/regex.m4: Use proper quoting so brackets appear in the test
93442         program.
93443         Reported by, and with help from, Bruno Haible.
93444
93445 2001-05-13  Jim Meyering  <meyering@lucent.com>
93446
93447         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
93448         undefined.
93449
93450 2001-05-11  Paul Eggert  <eggert@twinsun.com>
93451
93452         dirname code cleanup.  base_name now behaves more compatibly
93453         with POSIX basename when given file names that have trailing
93454         slashes, and similarly for dir_name.  Add new primitives
93455         base_len and dir_len.  Put the directory-name-related decls
93456         into dirname.h.
93457
93458         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
93459         * lib/backupfile.c (base_name): Likewise.
93460         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
93461         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
93462         * lib/makepath.c (strip_trailing_slashes): Likewise.
93463         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
93464         ISSLASH): Likewise.
93465         * lib/rename.c (strip_trailing_slashes): Likewise.
93466         * lib/same.c (base_name): Likewise.
93467         * lib/stripslash.c (ISSLASH): Likewise.
93468
93469         * lib/addext.c: Include <dirname.h> after size_t is defined.
93470         * lib/backupfile.c: Likewise.
93471
93472         * lib/addext.c (addext): Use base_len to trim redundant
93473         trailing slashes instead of doing it ourselves.
93474         But do not trim the last slash if it is not redundant.
93475
93476         * lib/backupfile.c (find_backup_file_name,
93477         max_backup_version): Use base_len instead of rolling it ourselves.
93478         Handle the case of "" and (on DOS) "C:" correctly.
93479
93480         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
93481         needed. Include <string.h>, <dirname.h>.
93482         (base_name): Allow file names ending in slashes, other than names
93483         that are all slashes.  In this case, return the basename followed
93484         by the slashes.  This is more general, and can be used in places
93485         where the original base_name purposely had an assertion failure.
93486         (base_len): New function.
93487
93488         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
93489         Do not include <assert.h>; no longer needed.
93490         Include xalloc.h.
93491         (memrchr): Remove decl.
93492         (dir_name_r): Remove.
93493         (dir_len): Renamed from dirlen.  All callers changed.
93494         Rewrite in terms of base_name, for simplicity and consistency.
93495         (dir_name): Never return NULL.  All callers changed.
93496         Do not include <stdlib.h> in test program; no longer needed.
93497         return 0; is fine for test program.
93498
93499         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
93500         New macros.
93501         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
93502
93503         * lib/path-concat.c (path_concat): Use base_len to compute
93504         base length, not strlen; this means we cannot rely on memcpy
93505         to null-terminate.
93506
93507         * lib/same.c (STREQ): Remove.
93508         (same_name): Handle the case where the basename ends in trailing '/'.
93509
93510         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
93511         a slash was stripped.  Do not strip the last slash after a
93512         file system prefix.
93513
93514 2001-05-11  Paul Eggert  <eggert@twinsun.com>
93515
93516         * lib/Makefile.am (libfetish_a_SOURCES):
93517         Add strftime.c, since we now compile it on all hosts.
93518
93519         * lib/strftime.c (my_strftime):
93520         Define to nstrftime if emacs, but only if my_strftime is not defined.
93521         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
93522         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
93523         Add one more extra argument: a nanoseconds value.
93524         All uses changed.
93525         (ns): New macro.
93526         (my_strftime function): Add %N format.
93527         (emacs_strftimeu): Renamed from emacs_strftime,
93528         with extra ut argument.
93529
93530 2001-05-09  Paul Eggert  <eggert@twinsun.com>
93531
93532         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
93533
93534 2001-04-21  Jim Meyering  <meyering@lucent.com>
93535
93536         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
93537         doesn't interfere.
93538
93539 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
93540
93541         * m4/ftruncate.m4: Check for chsize.
93542         Link with ftruncate.o unconditionally if ftruncate is missing.
93543         This was required when cross-compiling to i586-mingw32msvc.
93544
93545 2001-04-08  Jim Meyering  <meyering@lucent.com>
93546
93547         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
93548         recomputed; that's necessary when the offset spans a DST transition.
93549         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
93550
93551 2001-04-02  Jim Meyering  <meyering@lucent.com>
93552
93553         * lib/regex.h, regex.c: Update from GNU libc.
93554
93555 2001-03-24  Jim Meyering  <meyering@lucent.com>
93556
93557         * m4/jm-macros.m4: Require autoconf-2.49d.
93558
93559 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
93560
93561         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
93562
93563 2001-03-19  Paul Eggert  <eggert@twinsun.com>
93564
93565         * lib/version-etc.c (version_etc_copyright): Update to 2001.
93566
93567 2001-03-17  Jim Meyering  <meyering@lucent.com>
93568
93569         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
93570         now that the version in autoconf is equivalent.
93571         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
93572
93573         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
93574         Suggestion from Akim Demaille.
93575
93576         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
93577         (jm_PREREQ_TEMPNAME): New function.
93578
93579 2001-03-16  Paul Eggert  <eggert@twinsun.com>
93580
93581         * lib/tempname.c (uint64_t): Define to uintmax_t if
93582         not defined, and if UINT64_MAX is not defined.
93583         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
93584         Reported by John David Anglin.
93585
93586 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
93587
93588         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
93589         resolve alias if codeset is empty.
93590         * lib/config.charset (BeOS): Use wildcard syntax.
93591
93592 2001-03-13  Jim Meyering  <meyering@lucent.com>
93593
93594         * lib/path-concat.c (path_concat)
93595         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
93596         concatenating e.g., `C:' and `foo'.
93597         From Bruno Haible.
93598
93599 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
93600
93601         * lib/localcharset.c (locale_charset): Don't use
93602         setlocale(LC_CTYPE,NULL). Don't return NULL.
93603         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
93604
93605 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
93606
93607         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
93608         support for DOS/DJGPP.
93609
93610 2001-03-01  Paul Eggert  <eggert@twinsun.com>
93611
93612         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
93613         lacks mkstemp.  Compile our own tempname.c if we compile our own
93614         mkstemp.c, as mkstemp relies on tempname.
93615
93616 2001-03-01  Jim Meyering  <meyering@lucent.com>
93617
93618         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
93619         AH_VERBATIM really does output its argument verbatim.
93620
93621 2001-02-28  Paul Eggert  <eggert@twinsun.com>
93622
93623         * lib/Makefile.am (libfetish_a_SOURCES):
93624         Add dup-safer.c, fopen-safer.c.
93625         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
93626
93627         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
93628         * lib/unistd-safer.h: New files.
93629
93630 2001-02-25  Paul Eggert  <eggert@twinsun.com>
93631
93632         The mkstemp replacement is taken from glibc 2.2.2, with some
93633         portability fixes for use outside glibc, as follows:
93634
93635         * lib/tempname.c (struct_stat64): New macro.
93636         (direxists, __gen_tempname): Use it.
93637         This avoids a portability problem with Solaris 8.
93638
93639         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
93640         (<stddef.h>, <stdint.h>, <string.h>):
93641         Include only if STDC_HEADERS || _LIBC.
93642         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
93643         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
93644         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
93645         (__set_errno): Define this macro if <errno.h> doesn't.
93646         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
93647         Define these macros if <stdio.h> doesn't.
93648         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
93649         Define these macros if <sys/stat.h>
93650         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
93651         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
93652         __xstat64): Define if not _LIBC.
93653         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
93654         (__gen_tempname): Invoke gettimeofday only if
93655         HAVE_GETTIMEOFDAY || _LIBC;
93656         otherwise, fall back on plain "time".
93657         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
93658
93659         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
93660
93661         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
93662
93663 2001-02-18  Paul Eggert  <eggert@twinsun.com>
93664
93665         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
93666
93667 2001-02-17  Paul Eggert  <eggert@twinsun.com>
93668
93669         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
93670         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
93671         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
93672         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
93673
93674 2001-02-17  Paul Eggert  <eggert@twinsun.com>
93675
93676         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
93677         Remove workaround macros for hosts that have mbrtowc but not
93678         mbstate_t, as we now insist on proper declarations for both
93679         before using mbrtowc.
93680
93681 2001-02-17  Jim Meyering  <meyering@lucent.com>
93682
93683         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
93684         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
93685         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
93686         UnixWare 7.1.1.
93687
93688         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
93689         rather than AC_CACHE_VAL.
93690
93691 2001-02-17  Jim Meyering  <meyering@lucent.com>
93692
93693         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
93694         around included file name.
93695
93696         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
93697
93698         * lib/strftime.c: Update from GNU libc (the only changes were to
93699         comments).
93700
93701 2001-02-17  Jim Meyering  <meyering@lucent.com>
93702
93703         * lib/regex.c: Update from libc.
93704
93705 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
93706
93707         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
93708         clash.
93709
93710 2001-02-16  Paul Eggert  <eggert@twinsun.com>
93711
93712         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
93713         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
93714         Reported by Mark Hounschell via Paul Eggert.
93715
93716 2001-02-07  Jim Meyering  <meyering@lucent.com>
93717
93718         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
93719
93720 2001-02-05  Jim Meyering  <meyering@lucent.com>
93721
93722         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
93723         it includes the patch required for `large file' support with at least
93724         HP-UX's 10.20 /bin/cc.
93725
93726 2001-02-03  Jim Meyering  <meyering@lucent.com>
93727
93728         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
93729         AS_IF, now that it works once again (mysteriously).
93730         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
93731
93732 2001-01-30  Jim Meyering  <meyering@lucent.com>
93733
93734         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
93735         * m4/chown.m4: Rename conftestchown to conftest.chown.
93736         * m4/rename.m4: s/conftestdir/conftest.d1/ and
93737         s/conftestdir2/conftest.d2/.
93738         * m4/utimes.m4: s/conftestdata/conftest.data/
93739         Inspired by Pavel Roskin's change in autoconf.
93740
93741 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
93742
93743         * lib/config.charset: Update for FreeBSD 4.2.
93744
93745 2001-01-27  Jim Meyering  <meyering@lucent.com>
93746
93747         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
93748         a use of AS_IF.
93749         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
93750
93751 2001-01-26  Jim Meyering  <meyering@lucent.com>
93752
93753         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
93754         quotearg.c includes it.
93755
93756 2001-01-26  Jim Meyering  <meyering@lucent.com>
93757
93758         * lib/quotearg.c: Include stddef.h.
93759         * lib/quote.c: Include stddef.h.
93760         Reported by Axel Kittenberger.
93761
93762         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
93763         line in double quotes so that it evokes a better diagnostic.
93764         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
93765         Reported by Axel Kittenberger.
93766
93767 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
93768
93769         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
93770         as if it was a `charset'.
93771
93772 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
93773
93774         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
93775         has const.
93776
93777 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
93778
93779         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
93780         to avoid a warning.  Add back 'const' to inptr.
93781
93782 2001-01-20  Jim Meyering  <meyering@lucent.com>
93783
93784         Be sure that headers are checked before used in code compiled
93785         for the type checks.
93786         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
93787         In place of that, invoke jm_CHECK_ALL_TYPES.
93788         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
93789         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
93790         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
93791         The check for ssize_t was mistakenly run before the test for unistd.h.
93792
93793         The configure-time check for stdbool.h was missing.
93794         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
93795         (jm_PREREQ_HASH): New function.
93796
93797 2001-01-17  Jim Meyering  <meyering@lucent.com>
93798
93799         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
93800         for autoconf-2.49c.
93801         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
93802
93803 2001-01-16  Jim Meyering  <meyering@lucent.com>
93804
93805         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
93806         From Bruno Haible.
93807
93808 2001-01-14  Jim Meyering  <meyering@lucent.com>
93809
93810         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
93811         foo and bar.  Create conftestdir/ in the script, not in the C code.
93812         Remove directories in the script, not in the C code.
93813         Remove conftestdir{,2} before trying to create the directory.
93814         Make the entire configure script fail if the mkdir fails.
93815
93816 2001-01-14  Jim Meyering  <meyering@lucent.com>
93817
93818         * lib/rename.c: New file.  From Volker Borchert.
93819         Include stdlib.h, string.h or strings.h, and xalloc.h.
93820         Use strip_trailing_slashes rather than open-coding it.
93821
93822 2001-01-03  Paul Eggert  <eggert@twinsun.com>
93823
93824         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
93825
93826 2001-01-03  Jim Meyering  <meyering@lucent.com>
93827
93828         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
93829         of local `inptr' to avoid warning with some system declarations of
93830         iconv.
93831
93832 2001-01-02  Volker Borchert  <bt@teknon.de>
93833
93834         * m4/rename.m4: New file.
93835         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
93836
93837 2001-01-01  Jim Meyering  <meyering@lucent.com>
93838
93839         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
93840         even on systems with utmpx.h.  It's necessary for the declaration of
93841         utmp's ut_user member.  Reported by Andreas Jaeger.
93842
93843         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
93844         available. They are required for the declarations of getgrgid and
93845         getpwuid resp.
93846         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
93847         Reported by Andreas Jaeger.
93848
93849 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
93850
93851         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
93852         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
93853         so `make install' also works in VPATH builds.
93854
93855 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
93856
93857         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
93858         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
93859         can be used in subdirectories.
93860
93861 2000-12-29  Paul Eggert  <eggert@twinsun.com>
93862
93863         * lib/modechange.c: Do not assume that mode_t uses the
93864         traditional octal encoding.  E.g. "chmod 1 FOO" should set
93865         the other-execute bit of FOO even if S_IXOTH != 1.
93866
93867         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
93868         WOTH, XOTH, ALLM): New macros.
93869         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
93870          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
93871         Use them.
93872         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
93873         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
93874         (mode_compile):
93875         No need to use uintmax_t; unsigned long is long enough.
93876         Don't bother to get suffix since we don't use it.
93877
93878 2000-12-26  Jim Meyering  <meyering@lucent.com>
93879
93880         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
93881         better with autoheader.
93882
93883 2000-12-24  Jim Meyering  <meyering@lucent.com>
93884
93885         * lib/hash.c (is_prime): Return explicit boolean values.
93886         (hash_get_first): Return NULL to appease Irix5.6's 89.
93887         Reported by Nelson Beebe.
93888
93889 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
93890
93891         * lib/localcharset.c (locale_charset): Add support for Win32.
93892
93893 2000-12-18  Paul Eggert  <eggert@twinsun.com>
93894
93895         * lib/physmem.h, lib/physmem.c: New files.
93896
93897         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
93898         (noinst_HEADERS): Add physmem.h.
93899
93900         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
93901         't' for compatibility with Solaris 8 sort.
93902
93903 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
93904
93905         * lib/config.charset: Add support for BeOS.
93906
93907 2000-12-17  Jim Meyering  <meyering@lucent.com>
93908
93909         * m4/dos.m4 (jm_AC_DOS): New file and macro.
93910         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
93911
93912 2000-12-16  Jim Meyering  <meyering@lucent.com>
93913
93914         This bug had a serious impact on chown: `chown N:M FILE' (for integer
93915         N and M) would have treated it like `chown N:N FILE'.
93916
93917         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
93918
93919 2000-12-16  Jim Meyering  <meyering@lucent.com>
93920
93921         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
93922         SHELLS_FILE to a file name that's useful on djgpp systems.
93923         Include stdlib.h.
93924         (ADDITIONAL_DEFAULT_SHELLS): Define.
93925         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
93926         Based mostly on a patch from Prashant TR.
93927
93928 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
93929
93930         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
93931         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
93932         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
93933
93934 2000-12-08  Andreas Schwab  <schwab@suse.de>
93935
93936         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
93937         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
93938
93939 2000-12-07  Jim Meyering  <meyering@lucent.com>
93940
93941         * lib/stripslash.c (ISSLASH): Define.
93942         (strip_trailing_slashes): Use ISSLASH rather than comparing against
93943         `/'.
93944         From Prashant TR.
93945
93946         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
93947         (dir_name_r): Declare this function as static.
93948         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
93949         manifest itself on a name containing a mix of slashes and
93950         backslashes.
93951         Make this function work with names starting with a DOS-style
93952         drive letter and colon prefix.
93953         (dir_name): Append `.' if necessary.
93954         Based mostly on patches from Prashant TR and Eli Zaretskii.
93955
93956         * lib/dirname.h (dir_name_r): Remove prototype.
93957
93958 2000-12-06  Paul Eggert  <eggert@twinsun.com>
93959
93960         * m4/off_t-format.m4: Remove this file.
93961         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
93962
93963 2000-12-06  Jim Meyering  <meyering@lucent.com>
93964
93965         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
93966         replacement strtoull, we may well need the replacement strtoul, too.
93967         Check for declarations of strtoul and strtoull.
93968         Check for strtol.  Mainly as a cue to cause automake to include
93969         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
93970         Check for limits.h -- strtol.c needs it.
93971
93972 2000-12-05  Jim Meyering  <meyering@lucent.com>
93973
93974         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
93975
93976 2000-12-04  Jim Meyering  <meyering@lucent.com>
93977
93978         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
93979         Also include memory.h, stdlib.h, unistd.h if appropriate.
93980         Reported by Andreas Jaeger (conflicting declaration of malloc).
93981
93982 2000-12-02  Jim Meyering  <meyering@lucent.com>
93983
93984         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
93985         * m4/jm-macros.m4 (jm_MACROS): require it.
93986
93987 2000-12-02  Jim Meyering  <meyering@lucent.com>
93988
93989         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
93990
93991 2000-12-01  Paul Eggert  <eggert@twinsun.com>
93992
93993         * lib/memrchr.c: Include <config.h> before any system include file.
93994
93995 2000-11-30  Jim Meyering  <meyering@lucent.com>
93996
93997         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
93998
93999 2000-11-30  Jim Meyering  <meyering@lucent.com>
94000
94001         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
94002
94003 2000-11-29  Paul Eggert  <eggert@twinsun.com>
94004
94005         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
94006
94007 2000-11-26  Jim Meyering  <meyering@lucent.com>
94008
94009         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
94010
94011 2000-11-22  Paul Eggert  <eggert@twinsun.com>
94012
94013         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
94014         size of (size_t) -1; it's not portable.
94015
94016 2000-11-17  Jim Meyering  <meyering@lucent.com>
94017
94018         * lib/strstr.c: Update from GNU libc.
94019
94020 2000-11-17  Akim Demaille  <akim@epita.fr>
94021
94022         * lib/obstack.h: Formatting changes.
94023         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
94024         prevent type checking.
94025         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
94026         cast the value to (void *): assigning a `foo *' to a `void *'
94027         variable is valid.
94028         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
94029
94030 2000-11-16  Jim Meyering  <meyering@lucent.com>
94031
94032         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
94033
94034 2000-11-11  Jim Meyering  <meyering@lucent.com>
94035
94036         * lib/error.c: Add a couple #includes, merging from GNU libc version.
94037
94038 2000-11-10  Jim Meyering  <meyering@lucent.com>
94039
94040         * lib/obstack.h: Update from GNU libc.
94041         * lib/obstack.c: Likewise.
94042
94043 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
94044
94045         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
94046
94047 2000-11-06  Paul Eggert  <eggert@twinsun.com>
94048
94049         * lib/getusershell.c (setusershell): Use rewind rather than
94050         fseek/fseeko, to avoid configuration hassles with fseeko.
94051         Don't bother opening SHELLS_FILE if shellstream is NULL;
94052         it's not necessary.
94053
94054 2000-11-05  Jim Meyering  <meyering@lucent.com>
94055
94056         * lib/makepath.h (make_dir): Declare.
94057         * lib/makepath.c (make_dir): Remove `static' attribute.
94058         Tweak a comment.
94059
94060 2000-11-04  Jim Meyering  <meyering@lucent.com>
94061
94062         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
94063
94064 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
94065
94066         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
94067         last one in a bucket, advance to the next bucket.
94068
94069 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
94070
94071         * lib/fnmatch.c: Do not comment out all the code if we are using
94072         the GNU C library, because in some cases we are replacing buggy
94073         code in the GNU C library itself.
94074
94075 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
94076
94077         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
94078         (regex_compile): Catch bogus \(\1\).
94079
94080 2000-10-30  Paul Eggert  <eggert@twinsun.com>
94081
94082         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
94083         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
94084         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
94085
94086 2000-10-30  Paul Eggert  <eggert@twinsun.com>
94087
94088         * lib/error.h, getline.h, modechange.h:
94089         Remove "2000" from Copyright line, as the file hasn't been
94090         changed this year other than in the copyright notice.
94091
94092         * lib/xalloc.h: Add "2000" to Copyright line, as this file
94093         was changed this year.
94094
94095 2000-10-29  Jim Meyering  <meyering@lucent.com>
94096
94097         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
94098         renaming.
94099         * m4/ls-mntd-fs.m4: Likewise
94100
94101 2000-10-29  Jim Meyering  <meyering@lucent.com>
94102
94103         * lib/xstat.in: Fix grammar in comment.
94104
94105 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
94106
94107         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
94108         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
94109         doesn't define __restrict_arr.
94110
94111 2000-10-28  Jim Meyering  <meyering@lucent.com>
94112
94113         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
94114         (jm_PREREQ_MEMCHR): New function.
94115
94116 2000-10-28  Jim Meyering  <meyering@lucent.com>
94117
94118         * lib/memchr.c: Update from libc.
94119         Adjust for portability:
94120         [HAVE_STDLIB_H]: Include stdlib.h.
94121         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
94122         Undef __memchr, too.
94123         [!weak_alias]: Define __memchr to memchr.
94124
94125         * lib/regex.c: Update from libc.
94126         * lib/regex.h: Likewise.
94127         * lib/getopt1.c: Likewise.
94128         * lib/memcmp.c: Likewise.
94129
94130         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
94131         Avoid using fseek, when possible -- it's broken by design.
94132         Patch by Ulrich Drepper.
94133
94134 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
94135
94136         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
94137         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
94138         Giving in to popular pressure to shut up the compiler with casts.
94139
94140 2000-10-26  Jim Meyering  <meyering@lucent.com>
94141
94142         * lib/strftime.c: Update from libc.
94143
94144 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
94145
94146         * regex.c: More `unsigned char' -> `re_char' changes.
94147         Also change several `int' into `re_wchar_t'.
94148         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
94149         (PUSH_FAILURE_POINTER): Don't cast any more.
94150         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
94151         We want GCC to complain, since this piece of code makes
94152         re_match non-reentrant, which *should* be fixed.
94153         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
94154         (EXTEND_BUFFER): Use RETALLOC.
94155         (SET_LIST_BIT): Don't cast.
94156         (re_wchar_t): New type.
94157         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
94158         that those two functions will always properly return.
94159         (IMMEDIATE_QUIT_CHECK): Cast to void.
94160         (analyse_first): Use recursion rather than an explicit stack.
94161         (re_compile_fastmap): Can't fail anymore.
94162         (re_search_2): Don't check re_compile_fastmap for failure.
94163         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
94164         Now also sets the new value (passed in a new argument).
94165         (re_match_2_internal): Use it.
94166         Also, use a new var `reg' of type size_t when looping through regs
94167         rather than reuse the inappropriate `mcnt'.
94168
94169 2000-10-25  Jim Meyering  <meyering@lucent.com>
94170
94171         * lib/obstack.c: Update from libc.
94172
94173 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
94174
94175         * regex.c (regex_compile): Change the way of handling a range from
94176         a char less than 256 to a char not less than 256.
94177
94178 2000-10-24  Andrew Innes  <andrewi@gnu.org>
94179
94180         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
94181         NT-Emacs only.
94182         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
94183         so that re_search functions only quit when callers expect them to.
94184
94185 2000-10-23  Jim Meyering  <meyering@lucent.com>
94186
94187         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
94188         wrong.  That set_locale call must not have any side effects.
94189         From Paul Eggert.
94190
94191 2000-10-22  Jim Meyering  <meyering@lucent.com>
94192
94193         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
94194         [CYCLIC]: Remove now-unused definition.
94195
94196         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
94197         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
94198         Suggestion from Ulrich Drepper.
94199
94200 2000-10-21  Jim Meyering  <meyering@lucent.com>
94201
94202         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
94203         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
94204         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
94205
94206 2000-10-21  Jim Meyering  <meyering@lucent.com>
94207
94208         * lib/dirname.c (memrchr): Declare if necessary.
94209         (dir_name): Remove the restriction that there be no
94210         trailing slashes.  Now, this code skips past them, effectively
94211         ignoring them.
94212         [TEST_DIRNAME] (main): New unit tests.
94213
94214         * lib/memrchr.c: New file from GNU libc.
94215         Undef __memrchr, too.
94216         [!weak_alias]: Define __memrchr to memrchr.
94217         Guard weak_alias use with `#ifdef weak_alias'.
94218
94219 2000-10-21  Jim Meyering  <meyering@lucent.com>
94220
94221         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
94222         (dir_name): Use dir_name_r.
94223         * lib/dirname.h (dir_name_r): Declare it.
94224
94225 2000-10-17  Jim Meyering  <meyering@lucent.com>
94226
94227         * lib/quote.h (PARAMS): Define and use.
94228         Reported by Akim Demaille.
94229
94230         * lib/getopt.c: Update from libc.
94231
94232 2000-10-16  Jim Meyering  <meyering@lucent.com>
94233
94234         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
94235         setlocale.
94236         From Jan Fedak.
94237
94238 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
94239
94240         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
94241
94242 2000-09-25  Jim Meyering  <meyering@lucent.com>
94243
94244         * lib/md5.h (rol): Define (from GnuPG).
94245
94246         * lib/sha.c: Give credit (GnuPG) where due.
94247         (M): Use rol rather than open-coding it.
94248         Add a FIXME comment.
94249
94250 2000-09-21  Jim Meyering  <meyering@lucent.com>
94251
94252         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
94253         Reported by Michael Stone.
94254
94255 2000-09-20  Jim Meyering  <meyering@lucent.com>
94256
94257         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
94258         (noinst_HEADERS): Add sha.h.
94259         Based on code from Scott G. Miller and from GnuPG.
94260
94261 2000-09-18  Jim Meyering  <meyering@lucent.com>
94262
94263         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
94264         LIBS. Otherwise, everyone ends up linking with -lelf for some
94265         configurations.
94266         Reported by Mike Stone.
94267
94268 2000-09-15  Jim Meyering  <meyering@lucent.com>
94269
94270         * lib/regex.c: Update from libc.
94271
94272 2000-09-10  Jim Meyering  <meyering@lucent.com>
94273
94274         * lib/getopt.c (_getopt_internal): Update from glibc.
94275
94276 2000-09-09  Jim Meyering  <meyering@lucent.com>
94277
94278         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
94279         think it should be used as a general replacement for isascii.
94280         * lib/fnmatch.c: Likewise.
94281         * lib/mbswidth.c: Likewise
94282         * lib/regex.c: Likewise.
94283
94284         Don't use atoi.
94285         * lib/userspec.c: Include sys/param.h and limits.h.
94286         Include xstrtol.h.
94287         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
94288         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
94289         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
94290         UID, GID.  Check range.
94291
94292 2000-09-06  Jim Meyering  <meyering@lucent.com>
94293
94294         * lib/getopt.c (_getopt_internal): Update from glibc.
94295
94296 2000-08-30  Jim Meyering  <meyering@lucent.com>
94297
94298         * lib/strftime.c: Merge in changes from GNU libc.
94299
94300 2000-08-26  Jim Meyering  <meyering@lucent.com>
94301
94302         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
94303         * m4/fpending.m4: New file.
94304
94305 2000-08-26  Jim Meyering  <meyering@lucent.com>
94306
94307         * lib/closeout.c: Include "__fpending.h".
94308         (close_stdout_status): Return right away if there's nothing to flush.
94309
94310         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
94311         * lib/__fpending.c: New file.
94312         * lib/__fpending.h: New file.
94313
94314 2000-08-20  Jim Meyering  <meyering@lucent.com>
94315
94316         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
94317         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
94318         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
94319
94320 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
94321
94322         Improve fileutils installation on systems where running
94323         programs (like install) can't be unlinked.
94324         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
94325         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
94326
94327 2000-08-07  Paul Eggert  <eggert@twinsun.com>
94328
94329         Standardize on "memory exhausted" instead of "Memory exhausted"
94330         or "virtual memory exhausted".
94331         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
94332         "virtual memory exhausted".
94333         * lib/same.c (same_name): Invoke xalloc_die instead of printing
94334         our own message.
94335         * lib/userspec.c (parse_user_spec): Likewise.
94336         * lib/bumpalloc.h: comment fix
94337         * lib/same.c, userspec.c: Include xalloc.h.
94338
94339         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
94340         not char *const and pointing to a constant array.
94341         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
94342         (xrealloc): Comment fix.
94343
94344         * lib/userspec.c (parse_user_spec):
94345         Don't translate a message until just before returning,
94346         to avoid unnecessary translation.
94347
94348 2000-08-07  Jim Meyering  <meyering@lucent.com>
94349
94350         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
94351         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
94352         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
94353         getgroups.c, gethostname.c, getopt.h, group-member.c,
94354         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
94355         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
94356         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
94357         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
94358         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
94359         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
94360         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
94361         yesno.c: Back out Copyright date changes for each file with no change
94362         this year.  This eases coordination with other programs using the same
94363         source code modules.  From Paul Eggert.
94364
94365 2000-08-06  Paul Eggert  <eggert@twinsun.com>
94366
94367         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
94368         not char, for compatibility with glibc 2.1.3 strftime.c.
94369
94370 2000-08-03  Greg McGary  <greg@mcgary.org>
94371
94372         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
94373         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
94374         (EXTEND_BUFFER): Use them.
94375
94376 2000-08-01  Jim Meyering  <meyering@lucent.com>
94377
94378         * lib/dirname.c (ISSLASH): Define.
94379         (BACKSLASH_IS_PATH_SEPARATOR): Define.
94380         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
94381         both `\' and `/' may be use as path separators.
94382         Based on a patch from Prashant TR.
94383
94384 2000-07-31  Paul Eggert  <eggert@twinsun.com>
94385
94386         * lib/quotearg.c (quotearg_n_options): Don't make the initial
94387         slot vector a constant, since it might get modified.
94388
94389 2000-07-31  Jim Meyering  <meyering@lucent.com>
94390
94391         * lib/xmalloc.c: Use `virtual memory exhausted', not
94392         `Memory exhausted'.
94393         * lib/obstack.c (print_and_abort): Likewise.
94394
94395 2000-07-30  Paul Eggert  <eggert@twinsun.com>
94396
94397         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
94398         buffer, so that the caller can always quote one small
94399         component of a "memory exhausted" message in slot 0.
94400         From a suggestion by Jim Meyering.
94401
94402 2000-07-30  Jim Meyering  <meyering@lucent.com>
94403
94404         * lib/makepath.c (make_path): Quote the other instance, too.
94405
94406         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
94407         (STATIC_BUF_SIZE): Define.
94408         (quotearg_n_options): Use only statically allocated storage when
94409         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
94410         than STATIC_BUF_SIZE.
94411
94412 2000-07-29  Jim Meyering  <meyering@lucent.com>
94413
94414         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
94415         * lib/dirname.c (dir_name): Likewise.
94416
94417         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
94418         `/'.
94419
94420         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
94421         (dir_name): Assert that there are no trailing slashes.
94422
94423 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
94424
94425         * lib/mbswidth.h (mbswidth): Add a flags argument.
94426         (mbswidth): New declaration.
94427         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
94428         * lib/mbswidth.c (mbswidth): Add a flags argument.
94429         (mbsnwidth): New function.
94430
94431 2000-07-24  Jim Meyering  <meyering@lucent.com>
94432
94433         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
94434
94435 2000-07-23  Paul Eggert  <eggert@twinsun.com>
94436
94437         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
94438
94439 2000-07-23  Paul Eggert  <eggert@twinsun.com>
94440
94441         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
94442         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
94443         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
94444         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
94445         invoke multibyte primitives.
94446
94447 2000-07-23  Paul Eggert  <eggert@twinsun.com>
94448
94449         * lib/quotearg.c:
94450         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
94451         so that mbstate_t is always defined.
94452
94453         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
94454         be 1 in at least one GCC installation, and this configuration
94455         error is likely to be common.  Ignoring MB_LEN_MAX hurts
94456         performance on hosts that have mbrtowc but have only unibyte
94457         locales, but I assume these hosts are rare.
94458
94459 2000-07-23  Paul Eggert  <eggert@twinsun.com>
94460
94461         * lib/mbswidth.c (_XOPEN_SOURCE):
94462         Don't define; this causes problems on Solaris 7.
94463         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
94464
94465 2000-07-23  Jim Meyering  <meyering@lucent.com>
94466
94467         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
94468         too: getgrgid, getpwuid, getuid.
94469
94470 2000-07-23  Jim Meyering  <meyering@lucent.com>
94471
94472         * lib/basename.c (base_name): Add an assertion.
94473
94474 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
94475
94476         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
94477         shadow its mbsinit function.
94478
94479 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
94480
94481         * lib/mbswidth.h: New file.
94482         * lib/mbswidth.c: New file.
94483         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
94484         (noinst_HEADERS): Add mbswidth.h.
94485
94486 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
94487
94488         * lib/config.charset: Add support for FreeBSD. Improve support for
94489         HP-UX and IRIX 6.
94490
94491 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
94492
94493         * m4/mbswidth.m4: New file.
94494         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
94495
94496 2000-07-15  Jim Meyering  <meyering@lucent.com>
94497
94498         * lib/makepath.c: Include quote.h.
94499         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
94500         corresponding argument in a `quote (...)' call.
94501         Give better diagnostics.
94502
94503         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
94504         (noinst_HEADERS): Add quote.h.
94505
94506         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
94507         from tar's src/misc.c.
94508         * lib/quote.h: New file.  Prototypes for same.
94509
94510 2000-07-14  Paul Eggert  <eggert@twinsun.com>
94511
94512         From a suggestion by Bruno Haible.
94513         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
94514         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
94515         to decide whether to define the BeOS workaround macro;
94516         this adjusts to the change to AC_MBSTATE_T.
94517
94518 2000-07-14  Jim Meyering  <meyering@lucent.com>
94519
94520         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
94521         jm_AC_TYPE_UINTMAX_T.
94522
94523 2000-07-13  Paul Eggert  <eggert@twinsun.com>
94524
94525         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
94526
94527         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
94528         quotearg_buffer_restyled): Add support for
94529         clocale_quoting_style.  Undo previous change to
94530         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
94531         and "{RIGHT QUOTATION MARK}" msgids.
94532
94533 2000-07-10  Paul Eggert  <eggert@twinsun.com>
94534
94535         From a suggestion by Bruno Haible.
94536         * m4/mbstate_t.m4 (AC_MBSTATE_T):
94537         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
94538         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
94539         and mbstate_t, to a single-part test that simply defines mbstate_t.
94540         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
94541         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
94542
94543 2000-07-10  Jim Meyering  <meyering@lucent.com>
94544
94545         * m4/strerror_r.m4: Mirror the correction made in autoconf.
94546
94547         * m4/gnu-source.m4: Output to confdefs.h directly.
94548         Suggestion from Akim Demaille.
94549
94550 2000-07-09  Paul Eggert  <eggert@twinsun.com>
94551
94552         The old behavior of quoting `like this' doesn't look good with
94553         newer, ISO-style fonts.  See:
94554         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
94555
94556         Instead, quote "like this" by default.  Let the translator
94557         tailor the locale-specific quoting behavior by providing
94558         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
94559
94560         * lib/quotearg.c (N_): New macro.
94561         (gettext_default): New function.
94562         (quotearg_buffer_restyled): Use
94563         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
94564         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
94565
94566 2000-07-09  Jim Meyering  <meyering@lucent.com>
94567
94568         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
94569         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
94570
94571         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
94572         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
94573
94574 2000-07-09  Jim Meyering  <meyering@lucent.com>
94575
94576         * lib/Most files: Update copyright dates to include 2000.
94577
94578 2000-07-08  Jim Meyering  <meyering@lucent.com>
94579
94580         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
94581         if not defined.
94582         (xgethostname): Remove now-unnecessary #ifdef.
94583         Move declaration of `err' into loop where it's used.
94584
94585 2000-07-05  Paul Eggert  <eggert@twinsun.com>
94586         and Bruno Haible  <haible@clisp.cons.org>
94587
94588         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
94589         only if the test for an object-type mbstate_t fails.  This
94590         prevents us from mistakenly reporting that mbstate_t is a
94591         system object type after we "#define mbstate_t int" to work
94592         around its lack.
94593
94594 2000-07-05  Paul Eggert  <eggert@twinsun.com>
94595         and Bruno Haible  <haible@clisp.cons.org>
94596
94597         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
94598
94599 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
94600
94601         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
94602         to strerror_r.
94603         Include <ctype.h> for use of isalpha.
94604
94605 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
94606
94607         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
94608         by allocating a larger buffer. Test the gethostname return value for
94609         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
94610         returns an error and ENAMETOOLONG isn't defined.
94611
94612 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
94613
94614         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
94615         dimension.
94616
94617 2000-07-04  Jim Meyering  <meyering@lucent.com>
94618
94619         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
94620         of the deprecated AC_CHECKING.
94621
94622 2000-07-04  Jim Meyering  <meyering@lucent.com>
94623
94624         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
94625         Reported by Bruno Haible.
94626
94627 2000-07-04  Jim Meyering  <meyering@lucent.com>
94628
94629         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
94630         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
94631         lacks mbrtowc.
94632
94633 2000-07-03  Paul Eggert  <eggert@twinsun.com>
94634
94635         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
94636         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
94637
94638 2000-07-03  Paul Eggert  <eggert@twinsun.com>
94639         and Bruno Haible  <haible@clisp.cons.org>
94640
94641         * lib/quotearg.c (mbrtowc):
94642         Assign to *pwc, and return 1 only if result is nonzero.
94643         (iswprint): Use ISPRINT when substituting our own mbrtowc.
94644
94645 2000-07-03  Jim Meyering  <meyering@lucent.com>
94646
94647         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
94648
94649 2000-07-03  Jim Meyering  <meyering@lucent.com>
94650
94651         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
94652         This is necessary to get a definition of e.g., UTMP_FILE on
94653         HP-UX 10.20.
94654         From Bob Proulx.
94655
94656 2000-07-02  Jim Meyering  <meyering@lucent.com>
94657
94658         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
94659
94660         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
94661         AC_LIBOBJ(function_name).
94662         * m4/chown.m4: Likewise.
94663         * m4/fnmatch.m4: Likewise.
94664         * m4/ftruncate.m4: Likewise.
94665         * m4/getgroups.m4: Likewise.
94666         * m4/getline.m4: Likewise.
94667         * m4/group-member.m4: Likewise.
94668         * m4/jm-macros.m4: Likewise.
94669         * m4/lstat.m4: Likewise.
94670         * m4/malloc.m4: Likewise.
94671         * m4/memcmp.m4: Likewise.
94672         * m4/nanosleep.m4: Likewise.
94673         * m4/putenv.m4: Likewise.
94674         * m4/realloc.m4: Likewise.
94675         * m4/regex.m4: Likewise.
94676         * m4/stat.m4: Likewise.
94677         * m4/strftime.m4: Likewise.
94678
94679 2000-07-02  Jim Meyering  <meyering@lucent.com>
94680
94681         * lib/quotearg.c (mbstate_t): Don't define here.
94682
94683 2000-07-02  Jim Meyering  <meyering@lucent.com>
94684
94685         * lib/nanosleep.c (SIGCONT): Define if not already defined.
94686
94687 2000-07-01  Jim Meyering  <meyering@lucent.com>
94688
94689         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
94690
94691 2000-07-01  Jim Meyering  <meyering@lucent.com>
94692
94693         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
94694         problem.
94695
94696 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
94697
94698         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
94699         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
94700
94701 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
94702
94703         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
94704         per change in ../m4/ls-mntd-fs.m4.
94705         (read_filesystem_list): Ignore symbolic links.
94706
94707 2000-06-29  Jim Meyering  <meyering@lucent.com>
94708
94709         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
94710         for declaration of strcmp.
94711
94712         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
94713
94714         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
94715         Avoid warning by casting result to `char *' to remove `const'.
94716
94717 2000-06-28  Jim Meyering  <meyering@lucent.com>
94718
94719         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
94720         included by quotearg.c, for which we perform this test.  From
94721         Bruno Haible.
94722
94723 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
94724
94725         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
94726         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
94727         <utmpx.h> exists, put readutmp.o into LIBOBJS.
94728
94729 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
94730
94731         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
94732
94733 2000-06-26  Paul Eggert  <eggert@twinsun.com>
94734
94735         savedir now sets errno on failure and invokes xmalloc to get memory.
94736         Fix a couple of other minor bugs while we're at it.
94737
94738         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
94739         (NAMLEN): Remove macro.
94740         (malloc, realloc): Remove decls.
94741         (stpcpy): Likewise.
94742         ("xalloc.h"): Include.
94743         (NAME_SIZE_DEFAULT): New macro.
94744         (savedir): Use xmalloc / xrealloc to allocate memory.
94745         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
94746         Skip "" directory entries.
94747         Use strlen to calculate directory entry length, since the old method
94748         is rarely used these days and isn't worth supporting.
94749         Don't use a pointer after freeing it.
94750         Check for integer overflow when calculating allocation size.
94751         Use memcpy to copy entries, instead of stpcpy.
94752         Set errno properly when returning NULL.
94753         Check for readdir error.
94754
94755 2000-06-26  Jim Meyering  <meyering@lucent.com>
94756
94757         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
94758
94759 2000-06-25  Jim Meyering  <meyering@lucent.com>
94760
94761         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
94762         Linux header bug when _XOPEN_SOURCE is defined to 500.
94763
94764 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
94765
94766         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
94767         deficiency.
94768
94769 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
94770
94771         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
94772         Include xalloc.h.
94773         Don't include <stdlib.h>.  Don't declare malloc, realloc.
94774
94775 2000-06-24  Jim Meyering  <meyering@lucent.com>
94776
94777         * m4/strerror_r.m4: Revive this file -- to try out an experimental
94778         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
94779         for which strerror does return char*, but which lacks a conveniently
94780         accessible declaration of the function.  If the compile-test says
94781         strerror_r doesn't work, then resort to a `run'-test that works on
94782         BeOS and segfaults on DEC Unix.
94783
94784 2000-06-24  Jim Meyering  <meyering@lucent.com>
94785
94786         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
94787
94788 2000-06-23  Paul Eggert  <eggert@twinsun.com>
94789
94790         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
94791         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
94792
94793 2000-06-23  Paul Eggert  <eggert@twinsun.com>
94794
94795         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
94796         (mbrtowc, mbstate_t): Define substitutes if
94797         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
94798         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
94799         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
94800
94801 2000-06-23  Jim Meyering  <meyering@lucent.com>
94802
94803         * m4/afs.m4: Add missing AC_MSG_RESULT.
94804         Reported by Bruno Haible.
94805
94806         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
94807         Suggestion from Bruno Haible.
94808
94809 2000-06-23  Jim Meyering  <meyering@lucent.com>
94810
94811         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
94812
94813 2000-06-21  Jim Meyering  <meyering@lucent.com>
94814
94815         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
94816
94817 2000-06-21  Jim Meyering  <meyering@lucent.com>
94818
94819         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
94820         (noinst_HEADERS): Add getstr.h.
94821
94822         * lib/getline.c (getstr): Move into a separate file.
94823         * lib/getstr.c (getstr): New file, extracted from getline.c, with
94824         the following changes: new parameter, delim2; both delim[12]
94825         parameters have type `int', not `char'.  The latter would lose
94826         with 8-bit delimiters.
94827         * lib/getstr.h: New file.
94828
94829 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
94830
94831         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
94832         than 1024, return a memory chunk of least possible size, instead
94833         of size PATH_MAX + 2. In the loop, increment the size proportionally.
94834         Use free/xmalloc instead of xrealloc to avoid copying for very long
94835         paths.
94836
94837 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
94838
94839         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
94840         the empty string.
94841
94842 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
94843
94844         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
94845         address, not strdup.  Include <stdlib.h> and don't declare free().
94846
94847 2000-06-19  Jim Meyering  <meyering@lucent.com>
94848
94849         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
94850
94851 2000-06-18  Jim Meyering  <meyering@lucent.com>
94852
94853         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
94854
94855         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
94856         `checking whether...' message to be consistent with that of the
94857         lstat test.
94858
94859 2000-06-18  Jim Meyering  <meyering@lucent.com>
94860
94861         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
94862         Besides, these days every porting target provides a mkdir function.
94863
94864         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
94865         needed. (this snippet comes from src/system.h).
94866
94867 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
94868
94869         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
94870
94871 2000-06-15  Paul Eggert  <eggert@twinsun.com>
94872
94873         * lib/human.c (adjust_value): New function.
94874         (human_readable_inexact): Apply rounding style even when
94875         printing approximate values.
94876
94877 2000-06-14  Paul Eggert  <eggert@twinsun.com>
94878
94879         * lib/human.c (human_readable_inexact): Allow an input block
94880         size that is not a multiple of the output block size, and vice versa.
94881         Reported by Piergiorgio Sartor.
94882
94883 2000-06-14  Paul Eggert  <eggert@twinsun.com>
94884
94885         * lib/getdate.y (get_date): Apply relative times after time
94886         zone indicator, not before.  Reported by Todd A. Jacobs.
94887
94888 2000-06-13  Jim Meyering  <meyering@lucent.com>
94889
94890         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
94891
94892         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
94893
94894 2000-06-12  Paul Eggert  <eggert@twinsun.com>
94895
94896         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
94897
94898 2000-06-12  Jim Meyering  <meyering@lucent.com>
94899
94900         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
94901         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
94902         optional argument.
94903         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
94904         the optional argument, `lib'.
94905
94906 2000-06-08  Jim Meyering  <meyering@lucent.com>
94907
94908         * m4/largefile.m4: Remove file (now that it's part of autoconf).
94909
94910 2000-06-04  Paul Eggert  <eggert@twinsun.com>
94911
94912         Rewrite largefile configuration so that we don't need to run
94913         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
94914         AC_CANONICAL_HOST in configure.in -- jmm]
94915
94916         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
94917         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
94918         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
94919         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
94920         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
94921         All uses changed.
94922         Instead of inspecting the output of getconf, try to compile the
94923         test program without and with the macro definition.
94924         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
94925         for getconf.  Instead, check for the needed flags by compiling
94926         test programs.
94927
94928 2000-06-04  Paul Eggert  <eggert@twinsun.com>
94929
94930         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
94931
94932 2000-06-04  Jim Meyering  <meyering@lucent.com>
94933
94934         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
94935         SunOS 4.1.4 for which gid_t is an unsigned type.
94936
94937 2000-06-03  Jim Meyering  <meyering@lucent.com>
94938
94939         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
94940         now that autoconf requires that.
94941
94942         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
94943         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
94944         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
94945
94946 2000-06-03  Jim Meyering  <meyering@lucent.com>
94947
94948         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
94949
94950 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
94951
94952         * m4/glibc21.m4: New file.
94953         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
94954
94955 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
94956
94957         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
94958         newer, don't install charset.alias.
94959         * lib/config.charset: Change the Linux/glibc rules so they become empty
94960         on glibc-2.1 or newer.
94961
94962 2000-06-02  Jim Meyering  <meyering@lucent.com>
94963
94964         * lib/mountlist.c: Back out last change.  Instead, do this...
94965         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
94966         me_dummy member using the same `ignore'-testing code.
94967         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
94968         fs_type strings.
94969         From Mark D. Roth.
94970
94971 2000-05-29  Jim Meyering  <meyering@lucent.com>
94972
94973         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
94974         mounts with the `ignore' attribute.  Based on a patch from
94975         Mark D. Roth.
94976
94977 2000-05-28  Jim Meyering  <meyering@lucent.com>
94978
94979         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
94980         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
94981         * m4/stat.m4: Likewise.
94982         * m4/lstat.m4: Likewise.
94983         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
94984
94985         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
94986         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
94987
94988 2000-05-26  Jim Meyering  <meyering@lucent.com>
94989
94990         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
94991
94992 2000-05-24  Jim Meyering  <meyering@lucent.com>
94993
94994         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
94995         autoconf requires that.
94996         * m4/lib-check.m4: Likewise.
94997         * m4/jm-macros.m4: Likewise.
94998         * m4/strftime.m4: Likewise.
94999
95000         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
95001         AC_CHECK_DECLS, now that autoconf requires that.
95002
95003 2000-05-22  Jim Meyering  <meyering@lucent.com>
95004
95005         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
95006         * m4/lstat.m4: Likewise.
95007
95008 2000-05-22  Jim Meyering  <meyering@lucent.com>
95009
95010         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
95011
95012 2000-05-20  Jim Meyering  <meyering@lucent.com>
95013
95014         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
95015         (jm_PREREQ): Use it.
95016
95017 2000-05-18  Jim Meyering  <meyering@lucent.com>
95018
95019         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
95020         back, too, since it may have been modified by allocate_entry.
95021         (hash_delete): Rewrite to use neither the assignment operator
95022         nor the comma operator in an if-expression.
95023
95024 2000-05-15  Paul Eggert  <eggert@twinsun.com>
95025
95026         * lib/closeout.c:
95027         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
95028         Remove; no longer needed.
95029         "quotearg.h": Add include.
95030         (file_name): Do not bother to explicitly initialize to NULL; it's less
95031         efficient on some hosts.
95032         (close_stdout_status): Remove test as to whether stdout was already
95033         closed; it breaks for the case "echo x | sort >&-".
95034         Quote file name colons.
95035         Do not assume that _("write error") lacks format strings.
95036
95037 2000-05-15  Jim Meyering  <meyering@lucent.com>
95038
95039         * lib/version-etc.c (version_etc_copyright): Update the copyright
95040         string used in all --version output.
95041
95042 2000-05-14  Jim Meyering  <meyering@lucent.com>
95043
95044         * lib/closeout.c (close_stdout_set_file_name): New function.
95045         (close_stdout_status): Use new file-scoped global.
95046         Return right away if fstat says the stdout file descriptor is invalid.
95047         * lib/closeout.h (close_stdout_set_file_name): Declare.
95048
95049 2000-05-10  Jim Meyering  <meyering@lucent.com>
95050
95051         * lib/closeout.c [default_exit_status]: New file-scoped variable.
95052         (close_stdout_set_status): New function.
95053         * lib/closeout.h (close_stdout_set_status): Declare.
95054
95055 2000-05-09  Jim Meyering  <meyering@lucent.com>
95056
95057         * m4/gettext.m4: Rename this...
95058         * m4/libintl.m4: ...to this.
95059
95060 2000-05-08  Jim Meyering  <meyering@lucent.com>
95061
95062         * lib/long-options.c: Don't include closeout.h.
95063         (parse_long_options): Don't call close_stdout for --version.
95064
95065 2000-05-06  Paul Eggert  <eggert@twinsun.com>
95066
95067         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
95068         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
95069         2.1.3 bug.  This avoids a clash when files like regex.c define
95070         _GNU_SOURCE.
95071
95072 2000-05-06  Jim Meyering  <meyering@lucent.com>
95073
95074         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
95075         (AC_REPLACE_FUNCS): Add strnlen.
95076
95077         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
95078         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
95079
95080         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
95081         AC_SEARCH_LIBS call for nanosleep.
95082         (LIB_NANOSLEEP): Set and AC_SUBST.
95083
95084 2000-05-06  Jim Meyering  <meyering@lucent.com>
95085
95086         * lib/strnlen.c: Undefine __strnlen and strnlen.
95087         [!weak_alias]: Define __strnlen to strnlen.
95088
95089         * lib/atexit.c: New file, from libiberty.
95090
95091 2000-05-06  Jim Meyering  <meyering@lucent.com>
95092
95093         * lib/closeout.c (close_stdout_status): Also check for errors on the
95094         stderr stream.
95095
95096 2000-05-05  Jim Meyering  <meyering@lucent.com>
95097
95098         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
95099         AC_SEARCH_LIBS call for clock_gettime.
95100         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
95101
95102         * m4/search-libs.m4: Update from autoconf.
95103
95104         su doesn't work on Solaris 2.6.
95105         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
95106         <shadow.h>.  Reported by Dragos Harabor.
95107
95108 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
95109
95110         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
95111         memcpy instead of xmalloc, xrealloc, path_concat.
95112         (locale_charset): Treat empty environment variables as absent.
95113         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
95114
95115 2000-05-04  Jim Meyering  <meyering@lucent.com>
95116
95117         * lib/getopt.c: Update from glibc.
95118         * lib/obstack.c: Likewise.
95119         * lib/obstack.h: Likewise.
95120         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
95121         file
95122
95123         * lib/regex.h: Likewise.
95124         * lib/strndup.c: Likewise.
95125         * lib/strnlen.c: New file, from glibc.
95126
95127 2000-05-03  Jim Meyering  <meyering@lucent.com>
95128
95129         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
95130
95131 2000-05-02  Paul Eggert  <eggert@twinsun.com>
95132
95133         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
95134         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
95135         compile-time test, rather than inspecting host and OS, to
95136         decide whether to define _LARGEFILE_SOURCE.
95137
95138 2000-05-01  Jim Meyering  <meyering@lucent.com>
95139
95140         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
95141
95142         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
95143         Based on a patch from Bruno Haible.
95144
95145 2000-05-01  Jim Meyering  <meyering@lucent.com>
95146
95147         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
95148
95149 2000-04-29  Jim Meyering  <meyering@lucent.com>
95150
95151         * lib/path-concat.c: Declare strdup only if it's not defined.
95152         * lib/canon-host.c: Likewise.
95153
95154 2000-04-28  Jim Meyering  <meyering@lucent.com>
95155
95156         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
95157         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
95158         is included first, then limits.h is included by locale.h by libintl.h.
95159         From John David Anglin.
95160
95161 2000-04-25  Jim Meyering  <meyering@lucent.com>
95162
95163         * lib/makepath.c (S_IRWXUGO): Define.
95164         (make_path): Always perform explicit chmod if MODE specifies any
95165         of the `special' permission bits.  Prompted by a bug report against
95166         install from Mate Wierdl and Joost van Baal.
95167
95168 2000-04-18  Jim Meyering  <meyering@lucent.com>
95169
95170         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
95171         (jm_PREREQ): Use it.
95172
95173 2000-04-18  Jim Meyering  <meyering@lucent.com>
95174
95175         * lib/README: New file.
95176
95177         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
95178         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
95179
95180 2000-04-17  Jim Meyering  <meyering@lucent.com>
95181
95182         Get it right :-)
95183         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
95184         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
95185         Suggestion from Akim Demaille.
95186
95187 2000-04-17  Jim Meyering  <meyering@lucent.com>
95188
95189         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
95190         the definition of it to rpl_strftime also defined-away the system's
95191         declaration.
95192
95193 2000-04-15  Jim Meyering  <meyering@lucent.com>
95194
95195         Use `C' to denote so-called `contiguous' files, the same way
95196         that tar does.
95197         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
95198         (ftypelet): Use S_ISCTG.
95199         From Michael Deutschmann.
95200
95201 2000-04-14  Jim Meyering  <meyering@lucent.com>
95202
95203         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
95204         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
95205         clobbered.
95206
95207 2000-04-14  Jim Meyering  <meyering@lucent.com>
95208
95209         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
95210
95211 2000-04-13  Jim Meyering  <meyering@lucent.com>
95212
95213         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
95214         AH_VERBATIM to insert required #ifndef into config.h.in.
95215         Suggestion from Akim Demaille.
95216
95217 2000-04-12  Jim Meyering  <meyering@lucent.com>
95218
95219         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
95220         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
95221         Christian Krackowizer.
95222
95223         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
95224         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
95225         (AC_SYS_LARGEFILE): Require.
95226         (AM_C_PROTOTYPES): Require.
95227
95228 2000-04-08  Jim Meyering  <meyering@lucent.com>
95229
95230         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
95231         names don't conflict.  Reported by Eli Zaretskii.
95232
95233 2000-04-07  Jim Meyering  <meyering@lucent.com>
95234
95235         * lib/putenv.c: Move inclusion of errno.h so it follows that of
95236         sys/types.h, to work around system header problems on AIX 3.2.5.
95237         From Bruno Haible.
95238
95239 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
95240
95241         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
95242         bug.  Deal with the different error behavior of Irix iconv.
95243
95244 2000-04-05  Paul Eggert  <eggert@twinsun.com>
95245
95246         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
95247         IRIX if the installer said otherwise.
95248
95249 2000-04-05  Jim Meyering  <meyering@lucent.com>
95250
95251         Portability tweaks required for ultrix4.3.
95252         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
95253         (jm_CHECK_DECLS): Add getutent to the list of functions.
95254         (_jm_DECL_HEADERS): Add utmpx.h.
95255         From John David Anglin.
95256
95257         * m4/strftime.m4: Back out the 2000-04-02 change.
95258         Instead of that change, simply undefine putenv in the test program.
95259
95260 2000-04-05  Jim Meyering  <meyering@lucent.com>
95261
95262         Portability tweaks required for ultrix4.3.
95263         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
95264         getutent.
95265         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
95266         * lib/canon-host.c: Declare strdup.
95267         * lib/path-concat.c: Likewise.
95268         From John David Anglin.
95269
95270 2000-04-04  Jim Meyering  <meyering@lucent.com>
95271
95272         Be more DOS 8.3-friendly.
95273         * lib/ref-add.sin: Renamed from ref-add.sed.in.
95274         * lib/ref-del.sin: Renamed from ref-del.sed.in.
95275         * lib/Makefile.am: Reflect renaming.
95276         Reported by Eli Zaretskii.
95277
95278         Use a temporary file name that won't clash with `charset.alias'
95279         in the DOS 8.3 name space.
95280         * lib/Makefile.am (charset_tmp): Define.
95281         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
95282         (uninstall-local): Likewise.
95283         Reported by Eli Zaretskii.
95284
95285 2000-04-03  Jim Meyering  <meyering@lucent.com>
95286
95287         * m4/gettext.m4: Fix typo in comment.
95288
95289         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
95290         textutils/configure.in).  Suggestion from Paul Eggert.
95291         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
95292
95293 2000-04-02  Paul Eggert  <eggert@twinsun.com>
95294
95295         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
95296         variable in the shell rather than using putenv, which isn't
95297         portable.  This avoids the configure-time inter-test dependency
95298         on the potentially-renamed putenv function.
95299
95300 2000-03-30  Paul Eggert  <eggert@twinsun.com>
95301
95302         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
95303         before checking struct stat.st_blksize, so that
95304         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
95305
95306 2000-03-29  Paul Eggert  <eggert@twinsun.com>
95307
95308         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
95309         since strftime.c uses HAVE_STRFTIME to decide whether to use
95310         the underlying strftime.
95311
95312 2000-03-29  Paul Eggert  <eggert@twinsun.com>
95313
95314         * lib/time/strftime.c (my_strftime): Make sure we call the system
95315         strftime, not ourselves, when invoking the underlying strftime.
95316
95317 2000-03-24  Jim Meyering  <meyering@lucent.com>
95318
95319         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
95320         (charset_alias): Define.
95321         (install-exec-local): Factor out common code.
95322         (uninstall-local): Split lines longer than 80.
95323         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
95324         (SUFFIXES): Define.
95325         (.sed.in.sed): New rule.  Don't redirect directly to $@.
95326         (CLEANFILES): Add ref-add.sed and ref-del.sed.
95327
95328 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
95329
95330         * lib/config.charset: Output a line containing "Packages using this
95331         file".
95332         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
95333         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
95334         ref-del.sed): New rules.
95335
95336 2000-03-17  Jim Meyering  <meyering@lucent.com>
95337
95338         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
95339         Otherwise, include <strings.h>
95340
95341 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
95342
95343         * lib/unicodeio.c (utf8_wctomb): New function.
95344         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
95345         format instead of in UCS-4 with platform dependent endianness.
95346
95347 2000-03-10  Jim Meyering  <meyering@lucent.com>
95348
95349         * m4/lib-check.m4: Look for getspnam in -lgen, too.
95350         From Marco Franzen.
95351
95352 2000-03-07  Paul Eggert  <eggert@twinsun.com>
95353
95354         * lib/savedir.c (savedir): Work even if directory size is
95355         negative; this can happen with some screwy NFS configurations.
95356
95357 2000-03-06  Jim Meyering  <meyering@lucent.com>
95358
95359         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
95360         if it's NULL (because we ran out of memory).  From Bruno Haible.
95361
95362 2000-03-05  Jim Meyering  <meyering@lucent.com>
95363
95364         * lib/localcharset.c ("path-concat.h"): Include.
95365         (get_charset_aliases): Use path_concat instead of ANSI string
95366         concatenation.
95367
95368         * lib/unicodeio.h (PARAMS): Define.
95369         Use it to guard prototype.
95370
95371 2000-03-04  Jim Meyering  <meyering@lucent.com>
95372
95373         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
95374         for lib/localcharset.c.
95375
95376 2000-03-04  Jim Meyering  <meyering@lucent.com>
95377
95378         * lib/Makefile.am (install-exec-local): Create $(libdir) before
95379         installing into it.
95380         (uninstall-local): Uncomment this rule so `make distcheck' works
95381         once again.
95382
95383         * lib/unicodeio.c (<errno.h>): Include it.
95384         (errno): Declare if not defined.
95385
95386         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
95387
95388         * lib/config.charset: New version, incorporating remarks from a linux
95389         i18n mailing list.  From Bruno Haible.
95390
95391 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
95392
95393         * m4/codeset.m4: New file.
95394         * m4/iconv.m4: New file.
95395         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
95396
95397 2000-03-03  Jim Meyering  <meyering@lucent.com>
95398
95399         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
95400
95401 2000-03-02  Jim Meyering  <meyering@lucent.com>
95402
95403         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
95404         the messages come out on separate lines.
95405
95406         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
95407         rather than jm_CHECK_DECLARATIONS.
95408         * m4/decl.m4: Remove now-unused file.
95409
95410         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
95411         geteuid.
95412
95413 2000-03-02  Jim Meyering  <meyering@lucent.com>
95414
95415         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
95416
95417 2000-03-01  Jim Meyering  <meyering@lucent.com>
95418
95419         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
95420         * lib/unicodeio.c: Likewise.
95421
95422 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
95423
95424         * lib/config.charset: New file.
95425         * lib/localcharset.c: New file.
95426         * lib/unicodeio.h, lib/unicodeio.c: New files.
95427         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
95428         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
95429         (noinst_HEADERS): Add unicodeio.h.
95430         (all-local, install-exec-local, charset.alias): New targets.
95431
95432 2000-02-28  Paul Eggert  <eggert@twinsun.com>
95433
95434         * lib/quotearg.c (ALERT_CHAR): New macro.
95435         (quotearg_buffer_restyled): Use it.
95436
95437 2000-02-27  Jim Meyering  <meyering@lucent.com>
95438
95439         * m4/check-decl.m4: Add getenv to the list.
95440
95441 2000-02-27  Jim Meyering  <meyering@lucent.com>
95442
95443         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
95444         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
95445
95446         * lib/backupfile.c: Guard inclusion of stdlib.h with
95447         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
95448         Declare malloc if needed.
95449
95450         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
95451         `#ifndef HAVE_DECL..'
95452         now that autoconf always defines the HAVE_DECL_ symbols.
95453         * lib/human.c: Likewise.
95454         * lib/same.c: Likewise.
95455         * lib/strtoumax.c: Likewise.
95456
95457         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
95458         declaration check was not run.
95459         * lib/hash.c: Likewise.
95460         * lib/human.c: Likewise.
95461         * lib/same.c: Likewise.
95462         * lib/strtoumax.c: Likewise.
95463
95464         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
95465         `.', then first look up the entire `.'-containing string as a login
95466         name.
95467
95468 2000-02-23  Jim Meyering  <meyering@lucent.com>
95469
95470         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
95471         in place of my hack.
95472
95473 2000-02-18  Paul Eggert  <eggert@twinsun.com>
95474
95475         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
95476         (textint): New typedef.
95477         (parser_control): Member year changed from int to textint.
95478         All uses changed.
95479         (YYSTYPE): Removed; replaced by %union with int and textint members.
95480         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
95481         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
95482         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
95483         (tSNUMBER, tUNUMBER): Now of type <textintval>.
95484         (date, number, to_year): Use width of number in digits, not its value,
95485         to determine whether it's a 2-digit year, or a 2-digit time.
95486         (yylex): Store number of digits of numeric tokens.
95487         Reported by John Kendall.
95488
95489         (parser_control): Changed from struct parser_control to typedef (for
95490         consistency).  All uses changed.
95491
95492         (tID): Removed; not used.
95493         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
95494
95495 2000-02-14  Paul Eggert  <eggert@twinsun.com>
95496
95497         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
95498         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
95499
95500 2000-02-12  Jim Meyering  <meyering@lucent.com>
95501
95502         * lib/userspec.c (ISDIGIT): Define it.
95503         (isdigit): Remove definition.
95504         (is_number): Use ISDIGIT, not isdigit.
95505         <libintl.h>: Include.
95506         (_ and N_): Define.
95507         (parse_user_spec): Mark translatable strings.
95508
95509 2000-02-10  Jim Meyering  <meyering@lucent.com>
95510
95511         With these changes, nanosleep.[ch] are finally enough like the other
95512         lib/* replacement files to compile on a few more losing systems.
95513
95514         * lib/nanosleep.h: Don't include config.h.
95515         Remove prototype from declaration of nanosleep.
95516         (PARAMS): Remove now-unneeded definition.
95517         * lib/nanosleep.c: #undef nanosleep.
95518         (rpl_nanosleep): Rename from nanosleep.
95519
95520 2000-02-10  Jim Meyering  <meyering@lucent.com>
95521
95522         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
95523         gnu_nanosleep to rpl_nanosleep.
95524
95525 2000-02-09  Jim Meyering  <meyering@lucent.com>
95526
95527         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
95528         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
95529
95530 2000-02-08  Akim Demaille  <akim@epita.fr>
95531
95532         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
95533         `[' and `]' and remove uses of `changequote'.
95534         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
95535         (AC_SYS_LARGEFILE): Likewise.
95536         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
95537         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
95538         of changequote.
95539         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
95540         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
95541         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
95542         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
95543
95544 2000-02-05  Jim Meyering  <meyering@lucent.com>
95545
95546         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
95547         Remove explicit use of AC_HEADER_TIME.  It is required by
95548         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
95549         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
95550         in autoconf whereby the expansion of the latter ended up preceding
95551         the expansion of its prerequisite, AC_HEADER_TIME.
95552         Reported by Volker Borchert.
95553
95554 2000-02-03  Jim Meyering  <meyering@lucent.com>
95555
95556         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
95557
95558 2000-02-03  Jim Meyering  <meyering@lucent.com>
95559
95560         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
95561         rather than with `#if HAVE_UTMPNAME'.
95562
95563 2000-02-02  Jim Meyering  <meyering@lucent.com>
95564
95565         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
95566         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
95567         Reported by Eli Zaretskii.
95568
95569 2000-02-01  Jim Meyering  <meyering@lucent.com>
95570
95571         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
95572
95573 2000-01-31  Jim Meyering  <meyering@lucent.com>
95574
95575         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
95576         functions.  Add the time.h and sys/time.h headers along with the
95577         AC_REQUIRE'ment of AC_HEADER_TIME.
95578
95579 2000-01-31  Jim Meyering  <meyering@lucent.com>
95580
95581         * lib/nanosleep.h (nanosleep): Guard declaration with
95582         `#if ! HAVE_DECL_NANOSLEEP'.
95583         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
95584         the declaration in that vendor's sys/timers.h.
95585         Reported by Christian Krackowizer.
95586
95587         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
95588         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
95589         (ISPRINT): Likewise.
95590         Reported by Tom Tromey.
95591
95592 2000-01-30  Jim Meyering  <meyering@lucent.com>
95593
95594         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
95595
95596         * m4/prereq.m4 (utmp_includes): Define.
95597         Check for ut_user and ut_name members in both struct utmpx
95598         and struct utmp.
95599
95600 2000-01-30  Jim Meyering  <meyering@lucent.com>
95601
95602         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
95603         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
95604         header files where only utmpx.ut_user is declared.
95605
95606         * lib/readutmp.h (UT_USER): Define.
95607
95608 2000-01-29  Jim Meyering  <meyering@lucent.com>
95609
95610         * m4/lib-check.m4: New file containing library-related checks from
95611         fileutils and sh-utils (textutils had none).
95612
95613 2000-01-28  Jim Meyering  <meyering@lucent.com>
95614
95615         * m4/perl.m4: Change format of warning message to look more like that
95616         from the missing script.  Suggestion from François Pinard.
95617
95618 2000-01-25  Jim Meyering  <meyering@lucent.com>
95619
95620         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
95621         well as time.h in the compile check.
95622         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
95623         Fix typo in cross-compiling case: s/yes/no/.
95624
95625 2000-01-23  Jim Meyering  <meyering@lucent.com>
95626
95627         * m4/jm-macros.m4: Move df-related tests here from
95628         fileutils/configure.in
95629
95630         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
95631         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
95632
95633         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
95634         s/space/ac_fsusage_space/.
95635         (jm_FILE_SYSTEM_USAGE): Take two parameters.
95636
95637         * m4/ftruncate.m4: New file (derived from part of
95638         fileutils/configure.in).
95639         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
95640         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
95641
95642         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
95643         AC_SUBST these here, rather than just in sh-util/configure.in, so
95644         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
95645         all the same.
95646         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
95647         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
95648         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
95649         (AC_SUBST(POW_LIBM)): Likewise.
95650         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
95651
95652 2000-01-23  Jim Meyering  <meyering@lucent.com>
95653
95654         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
95655         obstack.c.
95656
95657 2000-01-22  Jim Meyering  <meyering@lucent.com>
95658
95659         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
95660
95661         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
95662
95663         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
95664         configure.in
95665         (AC_CHECK_HEADERS): Likewise for sh-utils.
95666         (AC_CHECK_HEADERS): Likewise for textutils.
95667         Merge the three lists of headers.
95668
95669         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
95670         from fileutils' configure.in.
95671
95672         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
95673         code. Moved tests into their own function (_jm_DECL_HEADERS) in
95674         check-decl.m4.
95675
95676         * m4/check-decl.m4: Use #if rather than #ifdef.
95677         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
95678         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
95679         (_jm_DECL_HEADERS): Define new function.
95680         (jm_CHECK_DECLARATIONS): Require it.
95681
95682 2000-01-22  Jim Meyering  <meyering@lucent.com>
95683
95684         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
95685         [! HAVE_DECL_STRTOULL]: Declare strtoull.
95686         Required for some AIX systems.  Reported by Christian Krackowizer.
95687         [TESTING] (main): New function.
95688
95689         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
95690         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
95691         letters.
95692
95693         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
95694         iswprint.
95695
95696         * lib/strverscmp.c (ISDIGIT): Define.
95697         (strverscmp): Use ISDIGIT, not isdigit.
95698
95699 2000-01-19  Jim Meyering  <meyering@lucent.com>
95700
95701         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
95702         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
95703         defines `struct timespec' in <sys/time.h>
95704
95705         * m4/c-bs-a.m4: Remove uses of changequote altogether.
95706         Thanks to Akim for explaining.
95707
95708 2000-01-17  Paul Eggert  <eggert@twinsun.com>
95709
95710         * lib/nanosleep.c (nanosleep):
95711         Don't use SA_INTERRUPT to decide whether to call sigaction, as
95712         POSIX.1 doesn't require SA_INTERRUPT and some systems
95713         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
95714         it's been part of POSIX.1 since day 1 (in 1988).
95715
95716 2000-01-17  Jim Meyering  <meyering@lucent.com>
95717
95718         * lib/interlock: Remove unused file.  Reported by François Pinard.
95719
95720 2000-01-16  Paul Eggert  <eggert@twinsun.com>
95721
95722         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
95723         alert, backslash, formfeed, and vertical tab unnecessarily in
95724         shell quoting style.
95725
95726 2000-01-16  Jim Meyering  <meyering@lucent.com>
95727
95728         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
95729         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
95730         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
95731         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
95732
95733 2000-01-16  Jim Meyering  <meyering@lucent.com>
95734
95735         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
95736         because the latter didn't work.
95737
95738 2000-01-15  Jim Meyering  <meyering@lucent.com>
95739
95740         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
95741         (AC_REPLACE_FUNCS): Add memcpy and memset.
95742         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
95743         Add strpbrk.
95744         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
95745
95746 2000-01-12  Jim Meyering  <meyering@lucent.com>
95747
95748         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
95749         (jm_PREREQ): Use it.
95750         (jm_PREREQ_READUTMP): New macro.
95751         (jm_PREREQ): Use it.
95752
95753 2000-01-11  Paul Eggert  <eggert@twinsun.com>
95754
95755         Quote multibyte characters correctly.
95756         * m4/c-bs-a.m4: New file.
95757         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
95758         (jm_PREREQ): Use it.
95759
95760 2000-01-11  Paul Eggert  <eggert@twinsun.com>
95761
95762         * m4/uintmax_t.m4: Port to autoconf 2.13.
95763
95764 2000-01-08  Jim Meyering  <meyering@ascend.com>
95765
95766         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
95767         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
95768
95769 2000-01-04  Jim Meyering  <meyering@ascend.com>
95770
95771         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
95772         jm_STRUCT_DIRENT_D_TYPE.
95773         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
95774         jm_STRUCT_DIRENT_D_INO.
95775         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
95776         jm_STRUCT_UTIMBUF.
95777         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
95778         renamings.
95779         * m4/utime.m4: Likewise.
95780
95781         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
95782         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
95783
95784 2000-01-03  Paul Eggert  <eggert@twinsun.com>
95785
95786         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
95787         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
95788
95789 2000-01-02  Jim Meyering  <meyering@ascend.com>
95790
95791         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
95792         remember if this is necessary.
95793
95794 1999-12-26  Jim Meyering  <meyering@ascend.com>
95795
95796         * m4/jm-macros.m4: Use it here.
95797         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
95798
95799 1999-12-23  Jim Meyering  <meyering@ascend.com>
95800
95801         * m4/jm-macros.m4: Check for clock_gettime (moved from
95802         fileutils/configure.in)
95803         Check for gettimeofday.
95804
95805 1999-12-20  Jim Meyering  <meyering@ascend.com>
95806
95807         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
95808         autoconf-2.14a-1999-12-20.
95809
95810 1999-12-19  Jim Meyering  <meyering@ascend.com>
95811
95812         * m4/lstat-slash.m4: New file.
95813         * m4/jm-macros.m4: Use the new macro:
95814         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
95815
95816 1999-12-07  Jim Meyering  <meyering@ascend.com>
95817
95818         * m4/perl.m4: Require that File::Compare be available, too.
95819         Too many systems seem to lack it.
95820
95821         * m4/strftime.m4: Add checks for most of the cpp macros tested in
95822         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
95823
95824 1999-11-18  Paul Eggert  <eggert@twinsun.com>
95825
95826         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
95827         problem with the QNX 4.25 shell, which doesn't propagate exit
95828         status of failed commands inside shell assignments.
95829
95830 1999-11-17  Jim Meyering  <meyering@ascend.com>
95831
95832         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
95833
95834 1999-11-07  Jim Meyering  <meyering@ascend.com>
95835
95836         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
95837
95838 1999-11-06  Jim Meyering  <meyering@ascend.com>
95839
95840         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
95841         * m4/jm-macros.m4 (jm_MACROS): Use it here.
95842
95843 1999-11-05  Jim Meyering  <meyering@ascend.com>
95844
95845         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
95846         configure.in of textutils, fileutils, and sh-utils into this one
95847         (shared between those packages) file.
95848         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
95849         AC_STRUCT_ST_BLKSIZE.
95850
95851 1999-11-03  Jim Meyering  <meyering@ascend.com>
95852
95853         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
95854         of AC_CHECK_TYPE checks includes unistd.h.
95855         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
95856         Suggestion from Akim Demaille.
95857
95858 1999-10-30  Jim Meyering  <meyering@ascend.com>
95859
95860         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
95861         m4-quoted string.
95862         * m4/ls-mntd-fs.m4: Likewise.
95863         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
95864         * m4/jm-winsz1.m4: Likewise.
95865
95866         * m4/const.m4: Remove file, since the fix made it into the experimental
95867         version of autoconf.
95868         * m4/mktime.m4: Likewise.
95869
95870         * m4/check-type.m4: Remove file, now that the latest version of
95871         AC_CHECK_TYPE takes a third arg to specify additional #includes.
95872
95873         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
95874         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
95875         AC_CHECK_TYPE.
95876
95877 1999-10-04  Jim Meyering  <meyering@ascend.com>
95878
95879         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
95880
95881 1999-09-22  Paul Eggert  <eggert@twinsun.com>
95882
95883         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
95884         2.95.1 bug with HP-UX 10.20.
95885
95886 1999-09-17  Jim Meyering  <meyering@ascend.com>
95887
95888         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
95889         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
95890         due to missing strdup (against sh-utils-2.0).
95891
95892 1999-08-29  Jim Meyering  <meyering@ascend.com>
95893
95894         * m4/jm-macros.m4: Require jm_BISON.
95895         * m4/bison.m4: New file.
95896
95897 1999-08-17  Paul Eggert  <eggert@twinsun.com>
95898
95899         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
95900         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
95901
95902 1999-08-05  Jim Meyering  <meyering@ascend.com>
95903
95904         * m4/getline.m4: Rename test file from conftestdata to conftest.data
95905         to avoid conflicts with `conftest' on 8+3 filesystems.
95906         Suggestion from Eli Zaretskii.
95907
95908 1999-08-04  Jim Meyering  <meyering@ascend.com>
95909
95910         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
95911         fileutils and sh-utils (textutils's getline test was inadequate).
95912         (AM_FUNC_GETLINE): Run this test.
95913         (AC_CHECK_FUNCS): Check for getdelim.
95914         Reported by Bob Proulx.
95915
95916 1999-08-02  Jim Meyering  <meyering@ascend.com>
95917
95918         * m4/jm-macros.m4: Add a comment.
95919
95920 1999-08-01  Paul Eggert  <eggert@twinsun.com>
95921
95922         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
95923         <inttypes.h> defines strtoumax as a macro (and not as a
95924         function).
95925
95926 1999-08-01  Paul Eggert  <eggert@twinsun.com>
95927
95928         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
95929         that we can shift, multiply and divide unsigned long long
95930         values; Ultrix cc can't do it.
95931
95932 1999-08-01  Paul Eggert  <eggert@twinsun.com>
95933
95934         * m4/mktime.m4: New file, which is a preview of what should appear
95935         in the next public autoconf release.
95936
95937 1999-08-01  Paul Eggert  <eggert@twinsun.com>
95938
95939         * m4/lfs.m4: Remove this file.
95940         * m4/largefile.m4: New file.  It contains the old contents of
95941         lfs.m4, except that all names with prefix AC_LFS have been
95942         changed to use the prefix AC_SYS_LARGEFILE instead, to be
95943         compatible with future autoconf versions.  Also, some minor m4
95944         quoting problems have been fixed.
95945
95946 1999-08-01  Paul Eggert  <eggert@twinsun.com>
95947
95948         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
95949         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
95950         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
95951         and simplify the shell code.
95952
95953 1999-08-01  Jim Meyering  <meyering@ascend.com>
95954
95955         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
95956         m4.
95957
95958 1999-07-20  Jim Meyering  <meyering@ascend.com>
95959
95960         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
95961
95962 1999-07-15  Jim Meyering  <meyering@ascend.com>
95963
95964         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
95965
95966 1999-05-22  Jim Meyering  <meyering@ascend.com>
95967
95968         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
95969
95970 1999-05-20  Jim Meyering  <meyering@ascend.com>
95971
95972         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
95973         Add a colon after each `then' in case $4 is empty.
95974
95975 1999-05-16  Jim Meyering  <meyering@ascend.com>
95976
95977         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
95978
95979 1999-05-10  Jim Meyering  <meyering@ascend.com>
95980
95981         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
95982
95983         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
95984         AC_FUNC_MKTIME.
95985
95986 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
95987
95988         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
95989
95990 1999-05-04  Paul Eggert  <eggert@twinsun.com>
95991
95992         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
95993         not CPPFLAGS, so that linking works correctly in IRIX.
95994
95995 1999-04-30  Paul Eggert  <eggert@twinsun.com>
95996
95997         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
95998
95999 1999-04-20  Paul Eggert  <eggert@twinsun.com>
96000
96001         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
96002         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
96003         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
96004         jm_AC_TYPE_UNSIGNED_LONG_LONG.
96005         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
96006
96007         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
96008
96009 1999-04-20  Jim Meyering  <meyering@ascend.com>
96010
96011         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
96012         AC_REPLACE xstroull if necessary.  From Paul Eggert.
96013         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
96014
96015 1999-04-18  Jim Meyering  <meyering@ascend.com>
96016
96017         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
96018         * m4/jm-macros.m4: Use it.
96019
96020 1999-04-06  Jim Meyering  <meyering@ascend.com>
96021
96022         * m4/strftime.m4: Remove test for %f.
96023
96024 1999-03-29  Jim Meyering  <meyering@ascend.com>
96025
96026         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
96027         superset of the AC_TYPE_* checks in the textutils, fileutils,
96028         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
96029         AC_TYPE_PID_T.
96030
96031 1999-03-28  Jim Meyering  <meyering@ascend.com>
96032
96033         * m4/jm-macros.m4: Define GNU_PACKAGE here.
96034         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
96035         replaced e.g., in the *.sh files of the sh-utils.
96036
96037 1999-03-20  Jim Meyering  <meyering@ascend.com>
96038
96039         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
96040         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
96041         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
96042
96043 1999-03-19  Jim Meyering  <meyering@ascend.com>
96044
96045         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
96046
96047 1999-03-12  Jim Meyering  <meyering@ascend.com>
96048
96049         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
96050
96051 1999-03-07  Jim Meyering  <meyering@ascend.com>
96052
96053         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
96054         declared.
96055
96056 1999-02-17  Jim Meyering  <meyering@ascend.com>
96057
96058         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
96059         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
96060
96061 1999-02-07  Jim Meyering  <meyering@ascend.com>
96062
96063         * m4/group-member.m4: New file -- extracted from sh-utils'
96064         configure.in.
96065
96066         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
96067         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
96068
96069 1999-02-06  Jim Meyering  <meyering@ascend.com>
96070
96071         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
96072         * m4/fnmatch.m4: Likewise.
96073         * m4/getgroups.m4: Likewise.
96074         * m4/lstat.m4: Likewise.
96075         * m4/malloc.m4: Likewise.
96076         * m4/putenv.m4: Likewise.
96077         * m4/realloc.m4: Likewise.
96078         * m4/regex.m4: Likewise.
96079         * m4/stat.m4: Likewise.
96080         * m4/strftime.m4: Likewise.
96081         Suggestion from Alain Magloire.
96082
96083         * m4/chown.m4: Use `.$ac_objext', not `.o'.
96084         * m4/fnmatch.m4: Likewise.
96085         * m4/getgroups.m4: Likewise.
96086         * m4/getline.m4: Likewise.
96087         * m4/lstat.m4: Likewise.
96088         * m4/malloc.m4: Likewise.
96089         * m4/memcmp.m4: Likewise.
96090         * m4/putenv.m4: Likewise.
96091         * m4/realloc.m4: Likewise.
96092         * m4/regex.m4: Likewise.
96093         * m4/stat.m4: Likewise.
96094         * m4/strftime.m4: Likewise.
96095         Suggestion from Alain Magloire.
96096
96097         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
96098         an argument.
96099
96100         * m4/regex.m4: Add a run-time Test for proper operation of
96101         re_compile_pattern.
96102
96103 1999-01-31  Jim Meyering  <meyering@ascend.com>
96104
96105         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
96106
96107 1999-01-30  Jim Meyering  <meyering@ascend.com>
96108
96109         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
96110
96111         * m4/jm-mktime.m4: Make this a wrapper around the official
96112         AM_FUNC_MKTIME rather than my private copy, now that the official one
96113         is up to date.
96114         * m4/mktime.m4: Remove file.
96115
96116         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
96117         * m4/uptime.m4: Likewise.
96118         * m4/uintmax_t.m4: Likewise.
96119
96120 1999-01-28  Jim Meyering  <meyering@ascend.com>
96121
96122         * m4/jm-macros.m4: Use jm_AFS.
96123         * m4/afs.m4: New file (from fileutils' configure.in).
96124
96125         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
96126         * m4/chown.m4: Likewise.
96127         * m4/d-ino.m4: Likewise.
96128         * m4/d-type.m4: Likewise.
96129         * m4/fnmatch.m4: Likewise.
96130         * m4/getgroups.m4: Likewise.
96131         * m4/gettext.m4: Likewise.
96132         * m4/jm-mktime.m4: Likewise.
96133         * m4/jm-winsz2.m4: Likewise.
96134         * m4/lcmessage.m4: Likewise.
96135         * m4/ls-mntd-fs.m4: Likewise.
96136         * m4/malloc.m4: Likewise.
96137         * m4/memcmp.m4: Likewise.
96138         * m4/putenv.m4: Likewise.
96139         * m4/realloc.m4: Likewise.
96140         * m4/st_mtim.m4: Likewise.
96141         * m4/strftime.m4: Likewise.
96142
96143 1999-01-16  Jim Meyering  <meyering@ascend.com>
96144
96145         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
96146         (ARGMATCH_DIE_DECL): Define.
96147
96148 1999-01-12  Jim Meyering  <meyering@ascend.com>
96149
96150         * m4/Makefile.am.in: Rewrite to avoid using fmt.
96151         Reported by Lars Hecking.
96152
96153 1999-01-10  Jim Meyering  <meyering@ascend.com>
96154
96155         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
96156         gross kludge.
96157         * m4/inttypes_h.m4: Likewise.
96158         * m4/lstat.m4: Likewise.
96159         * m4/malloc.m4: Likewise.
96160         * m4/readdir.m4: Likewise.
96161         * m4/realloc.m4: Likewise.
96162         * m4/st_dm_mode.m4: Likewise.
96163         * m4/stat.m4: Likewise.
96164         * m4/utimbuf.m4: Likewise.
96165         * m4/utimes.m4: Likewise.
96166
96167         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
96168         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
96169         comments in config.h.in are meaningful.
96170
96171         * m4/jm-macros.m4: Require autoconf-2.13 here.
96172
96173         * m4/regex.m4: By default, don't use the included regex.c on systems
96174         with glibc 2.  Suggestion from Uli Drepper.
96175
96176 1999-01-02  Jim Meyering  <meyering@ascend.com>
96177
96178         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
96179
96180 1998-12-18  Jim Meyering  <meyering@ascend.com>
96181
96182         * m4/Makefile.am.in (Makefile.am): Simplify rule.
96183         Based on a suggestion from Lars Hecking.
96184
96185 1998-11-16  Paul Eggert  <eggert@twinsun.com>
96186
96187         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
96188
96189 1998-11-16  Jim Meyering  <meyering@ascend.com>
96190
96191         * m4/lfs.m4: Double-quote the `uname...` expression.
96192
96193 1998-11-14  Jim Meyering  <meyering@ascend.com>
96194
96195         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
96196         * m4/stat.m4: Likewise.
96197
96198 1998-11-03  Jim Meyering  <meyering@ascend.com>
96199
96200         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
96201         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
96202
96203 1998-10-18  Jim Meyering  <meyering@ascend.com>
96204
96205         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
96206
96207 1998-10-17  Jim Meyering  <meyering@ascend.com>
96208
96209         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
96210         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
96211         calls for those previously hard-coded headers.  Instead, take a new
96212         parameter.
96213         (jm_CHECK_DECLARATIONS): Reflect interface change.
96214         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
96215         (jm_CHECK_DECL_LOCALTIME_R): New macro.
96216
96217         * m4/mktime.m4: Test for spring-forward gap before long-running test.
96218
96219 1998-10-14  Jim Meyering  <meyering@ascend.com>
96220
96221         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
96222         instead of "TZ=America/Vancouver".  From Paul Eggert.
96223
96224 1998-10-11  Jim Meyering  <meyering@ascend.com>
96225
96226         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
96227         This adds a test for a recently added compatibility fix for mktime.c.
96228         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
96229
96230 1998-09-27  Jim Meyering  <meyering@ascend.com>
96231
96232         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
96233
96234         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
96235         ../configure.in, including a change from Gordon Matzigkeit to allow
96236         cross-compiling for the Hurd.
96237
96238         * m4/glibc.m4: New file/macro to test for the GNU C Library
96239         versions 1 and 2.  From Gordon Matzigkeit.
96240         Indent.
96241
96242 1998-09-21  Jim Meyering  <meyering@ascend.com>
96243
96244         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
96245
96246 1998-08-18  Paul Eggert  <eggert@twinsun.com>
96247
96248         Port nanosecond-resolution times to UnixWare 2.1.2 and
96249         pedantic Solaris 2.6.
96250
96251         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
96252         AC_STRUCT_ST_MTIM.
96253         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
96254         Generate name of ns member, instead of just 1 or undef.
96255         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
96256
96257 1998-08-15  Jim Meyering  <meyering@ascend.com>
96258
96259         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
96260         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
96261         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
96262         instead of jm_TYPE_SSIZE_T.
96263
96264 1998-08-12  Jim Meyering  <meyering@ascend.com>
96265
96266         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
96267
96268 1998-08-02  Jim Meyering  <meyering@ascend.com>
96269
96270         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
96271         in acconfig.h manually.
96272
96273 1998-07-31  Paul Eggert  <eggert@twinsun.com>
96274
96275         * m4/st_mtim.m4: New file.
96276
96277 1998-07-28  Jim Meyering  <meyering@ascend.com>
96278
96279         * m4/utimes.m4: Undef stat.
96280
96281 1998-07-25  Jim Meyering  <meyering@ascend.com>
96282
96283         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
96284         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
96285
96286 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
96287
96288         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
96289         uid and gid actually remain unchanged.
96290
96291 1998-07-07  Jim Meyering  <meyering@ascend.com>
96292
96293         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
96294
96295 1998-07-04  Jim Meyering  <meyering@ascend.com>
96296
96297         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
96298         to prove that this macro can be used in packages without regex.c.
96299
96300 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
96301
96302         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
96303         is to be used.
96304
96305 1998-07-03  Jim Meyering  <meyering@ascend.com>
96306
96307         * m4/gettext.m4: Add -lintl if it's found to be necessary.
96308
96309         * m4/gettext.m4: New file -- from gettext-0.10.35.
96310         * m4/lcmessage.m4: Likewise.
96311         * m4/progtest.m4: Likewise.
96312
96313         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
96314         * m4/jm-macros.m4: Require the new macro.
96315
96316 1998-06-29  Jim Meyering  <meyering@ascend.com>
96317
96318         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
96319         for the definition of NGROUPS (used in a system header included
96320         by sys/mount.h).
96321
96322 1998-06-28  Jim Meyering  <meyering@ascend.com>
96323
96324         * m4/ls-mntd-fs.m4: New file.
96325         * m4/fstypename.m4: New file.
96326
96327         * m4/jm-macros.m4: Require the new macro.
96328         * m4/jm-glibc-io.m4: New file.
96329
96330 1998-05-19  Jim Meyering  <meyering@ascend.com>
96331
96332         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
96333         * m4/lchown.m4: New file.
96334
96335         * m4/Makefile.am.in: New file.
96336         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
96337
96338 1998-05-14  Jim Meyering  <meyering@ascend.com>
96339
96340         * m4/Makefile.am (EXTRA_DIST): Add them.
96341         * m4/jm-macros.m4: New file.
96342         * m4/utimbuf.m4: New file.
96343
96344 1998-05-12  Jim Meyering  <meyering@ascend.com>
96345
96346         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
96347
96348 1998-05-11  Jim Meyering  <meyering@ascend.com>
96349
96350         * m4/isc-posix.m4: New file.
96351
96352 1998-05-10  Jim Meyering  <meyering@ascend.com>
96353
96354         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
96355
96356 1998-05-09  Jim Meyering  <meyering@ascend.com>
96357
96358         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
96359         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
96360         with automake.
96361
96362         * m4/ssize_t.m4: New file.
96363         * m4/mktime.m4: Remove file -- the new automake has this now.
96364
96365 1998-04-26  Jim Meyering  <meyering@ascend.com>
96366
96367         * m4/assert.m4: New file.
96368         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
96369
96370 1998-04-05  Jim Meyering  <meyering@ascend.com>
96371
96372         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
96373         (jm_PREREQ): Use it here.
96374
96375 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
96376
96377         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
96378         in acconfig.h.
96379
96380 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
96381
96382         * m4/prereq.m4: New file.
96383         * m4/error.m4: New file.
96384         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
96385
96386 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
96387
96388         * m4/getline.m4: Don't set am_cv_func_working_getline before the
96389         cache-check for the same variable -- that defeated the purpose of
96390         the test; the test program was never run.  This was a problem only
96391         on systems with losing getline functions -- HP-UX 10.20 is one.
96392         Reported by Bjorn Helgaas.
96393
96394 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
96395
96396         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
96397
96398 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
96399
96400         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
96401
96402         * m4/const.m4: New file.  Use an initializer in this declaration
96403         typedef int charset[2]; const charset x;
96404         Reported by Bob Glickstein.
96405
96406 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
96407
96408         * m4/chown.m4: Fix reversed types on -1 args to chown.
96409         From Kaveh Ghazi.
96410
96411 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
96412
96413         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
96414         Add lseek and memchr.
96415
96416         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
96417         T.E.Dickey <dickey@clark.net> said that some older preprocessors
96418         have a 20-character limit on names.
96419
96420 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
96421
96422         * m4/inttypes_h.m4: New file.
96423         * m4/uintmax_t.m4: New file.
96424         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
96425
96426
96427         -----
96428
96429         Local Variables:
96430         coding: utf-8
96431         End:
96432
96433         Copyright (C) 1997-2012 Free Software Foundation, Inc.
96434
96435         Copying and distribution of this file, with or without
96436         modification, are permitted provided the copyright notice
96437         and this notice are preserved.